Browse Source

Project cleanup

* Removed BAS files from root into BAS-EXAMPLES
 * Moved Linux desktop app files into GUI
 * More ignores
tags/v3.20f
Jon Foster 3 years ago
parent
commit
5ab3a2a833
17 changed files with 13 additions and 608 deletions
  1. +1
    -0
      .gitignore
  2. +2
    -0
      BAS-EXAMPLES/curve.bas
  3. +2
    -0
      BAS-EXAMPLES/guess.bas
  4. +6
    -2
      GUI/bwbasic.sh
  5. +2
    -2
      Makefile
  6. +0
    -12
      OME/Desktop/bwbasic.desktop
  7. +0
    -5
      abs.bas
  8. +0
    -24
      bin-to-dec.bas
  9. +0
    -12
      bwbasic.desktop
  10. BIN
      bwbasic.png
  11. +0
    -11
      bwbasic.sh
  12. +0
    -14
      curve.bas
  13. +0
    -14
      dec-to-bin.bas
  14. +0
    -22
      guess.bas
  15. +0
    -311
      ohmslaw.bas
  16. +0
    -5
      profile.bas
  17. +0
    -174
      tictac.bas

+ 1
- 0
.gitignore View File

@@ -10,3 +10,4 @@ editfl.bas
*.geany
*.orig
*.rej
*~

+ 2
- 0
BAS-EXAMPLES/curve.bas View File

@@ -1,3 +1,5 @@
50 rem 12/13/2019 Ken curve
60 SHELL "cls"
100 REM PLOT A NORMAL DISTRIBUTION CURVE
120 DEF FNN(X) = EXP(-(X^2/2))/SQR(2*3.14159265)
140 FOR X = -2 TO 2 STEP .1


+ 2
- 0
BAS-EXAMPLES/guess.bas View File

@@ -1,4 +1,6 @@
10 rem 12/13/2019 Ken guess a number game
100 REM GUESSING GAME
110 SHELL "cls"
120 PRINT "GUESS THE NUMBER BETWEEN 1 AND 100."
140 LET X = INT(100*RND(0)+1)
150 LET N = 0


+ 6
- 2
GUI/bwbasic.sh View File

@@ -1,7 +1,11 @@
#!/bin/sh
# 12/14/2019 Ken
# 07/28/2020 enhanced by ChipMaster
[ -z "$BWBASIC" ] && BWBASIC="$HOME/bwbasic"
[ ! -d "$BWBASIC" ] && mkdir "$BWBASIC"
cd "$BWBASIC"
trap 'echo " "; echo "PROGRAM INTERRUPTED"; echo "Press Enter "; read j; exit 1' INT
cd /home/$USER/source/bwbasic-3.2a/BAS-EXAMPLES
bwbasic
bwbasic "$@"
# -n = no newline -e interpret special octel numbers \007 = Bell
/bin/echo -n -e "Bwbasic terminated. Press Enter \007"
read j

+ 2
- 2
Makefile View File

@@ -28,11 +28,11 @@ bwbasic:

# bwbasic and renum runtime. editfl temp file created by renum
clean:
rm -f *.o bwbasic renum editfl core
rm *.o bwbasic renum editfl core || true

install:
ls -l bwbasic renum
cp bwbasic renum bwbasic.sh $(DEST)/.
cp bwbasic renum GUI/bwbasic.sh $(DEST)/.
ls -l $(DEST)/bwbasic $(DEST)/renum $(DEST)/bwbasic.sh
mkdir -p /usr/share/bwbasic
mkdir -p /usr/share/doc/cbwbasic


+ 0
- 12
OME/Desktop/bwbasic.desktop View File

@@ -1,12 +0,0 @@
#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Name=Bywater BASIC
GenericName=Bywater BASIC
Type=Application
Exec=/usr/bin/bwbasic.sh
Icon=/usr/share/pixmaps/bwbasic.png
StartupNotify=true
Terminal=true
Categories=Development


+ 0
- 5
abs.bas View File

@@ -1,5 +0,0 @@
100 rem ABS.BAS -- Test ABS() function
110 X = -1.23456789
120 ABSX = ABS( X )
130 print "The absolute value of "; X; " is"; ABSX
140 print "Is that correct?"

+ 0
- 24
bin-to-dec.bas View File

@@ -1,24 +0,0 @@
10 CALL SHELL("cls")
100 LET P = 0
: LET S = 0
110 INPUT "Enter binary number: ";N$
120 L = LEN (N$)
: IF L=0 GOTO 300
130 FOR I=1 TO L
135 IF (N$ = "0") GOTO 1000
140 LET B$ = MID$(N$, L-I+1, 1)
150 IF NOT (B$ = "0" OR B$ = "1") GOTO 300
160 LET K = VAL(B$)
170 IF (K > 0) THEN
: S = S + 2 ^ P
: END IF
180 LET P = P + 1
190 NEXT
200 GOTO 310
300 PRINT "Error, invalid binary entered"
: GOTO 100
310 PRINT
315 PRINT "Equals decimal ";S
320 PRINT
1000 END


+ 0
- 12
bwbasic.desktop View File

@@ -1,12 +0,0 @@
#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Name=Bywater BASIC
GenericName=Bywater BASIC
Type=Application
Exec=/usr/bin/bwbasic.sh
Icon=/usr/share/pixmaps/bwbasic.png
StartupNotify=true
Terminal=true
Categories=Development


BIN
bwbasic.png View File

Before After
Width: 48  |  Height: 48  |  Size: 3.8 KiB

+ 0
- 11
bwbasic.sh View File

@@ -1,11 +0,0 @@
#!/bin/sh
# 12/14/2019 Ken
# 07/28/2020 enhanced by ChipMaster
[ -z "$BWBASIC" ] && BWBASIC="$HOME/bwbasic"
[ ! -d "$BWBASIC" ] && mkdir "$BWBASIC"
cd "$BWBASIC"
trap 'echo " "; echo "PROGRAM INTERRUPTED"; echo "Press Enter "; read j; exit 1' INT
bwbasic "$@"
# -n = no newline -e interpret special octel numbers \007 = Bell
/bin/echo -n -e "Bwbasic terminated. Press Enter \007"
read j

+ 0
- 14
curve.bas View File

@@ -1,14 +0,0 @@
50 rem 12/13/2019 Ken curve
60 SHELL "cls"
100 REM PLOT A NORMAL DISTRIBUTION CURVE
120 DEF FNN(X) = EXP(-(X^2/2))/SQR(2*3.14159265)
140 FOR X = -2 TO 2 STEP .1
150 LET Y = FNN(X)
160 LET Y = INT(100*Y)
170 FOR Z = 1 TO Y
180 PRINT " ";
190 NEXT Z
200 PRINT "*"
210 NEXT X
220 END


+ 0
- 14
dec-to-bin.bas View File

@@ -1,14 +0,0 @@
5 REM input a number, output its binary representation
10 CALL SHELL("cls")
50 INPUT "Enter an integer greater than zero : ";A
60 IF (A < 0 OR A<>INT(A)) GOTO 50
65 IF (A = 0) GOTO 140
70 LET B = A - INT (A/2) * 2
90 LET X$ = STR$(B) + X$
110 LET A = (A - B) / 2
120 IF (A > 0) GOTO 70
125 PRINT
130 PRINT "As binary: ";X$
135 PRINT
140 END


+ 0
- 22
guess.bas View File

@@ -1,22 +0,0 @@
10 rem 12/13/2019 Ken guess a number game
100 REM GUESSING GAME
110 SHELL "cls"
120 PRINT "GUESS THE NUMBER BETWEEN 1 AND 100."
140 LET X = INT(100*RND(0)+1)
150 LET N = 0
160 PRINT "YOUR GUESS";
170 INPUT G
180 LET N = N+1
190 IF G = X THEN 300
200 IF G < X THEN 250
210 PRINT "TOO LARGE, GUESS AGAIN"
220 GOTO 160
250 PRINT "TOO SMALL, GUESS AGAIN"
260 GOTO 160
300 PRINT "YOU GUESSED IT, IN"; N; "TRIES"
310 PRINT "ANOTHER GAME (YES = 1, NO = 0)";
320 INPUT A
330 IF A = 1 THEN 140
340 PRINT "THANKS FOR PLAYING"
350 END


+ 0
- 311
ohmslaw.bas View File

@@ -1,311 +0,0 @@
5 REM - COMPACTED:6/08/84
7 REM - Removed LPRINT references 4-13-2020 Ken
10 PRINT " -=*OHM'S LAW*=-"
40 PRINT " MENU"
50 PRINT:PRINT TAB(10);"(1) Find I, given VOLTAGE and RESISTANCE (E and R)"
70 PRINT TAB(10);"(2) Find R, given VOLTAGE and CURRENT (V and I)"
90 PRINT TAB(10);"(3) Find E, given CURRENT and RESISTANCE (I and R)"
110 PRINT TAB(10);"(4) Find P (POWER), given VOLTAGE and CURRENT (E and I)"
130 PRINT TAB(10);"(5) Find P (POWER), given CURRENT and RESISTANCE (I and R)"
150 PRINT TAB(10);"(6) Find P (POWER), given VOLTAGE and RESISTANCE (E and R)"
170 PRINT TAB(10);"(7) Find two resistances in parallel, given R1 and R2"
190 PRINT TAB(10);"(8) Find RT, given unequal R1, R2, R3, R4 in parallel"
270 PRINT TAB(10);"(9) Find RT, given R1,R2,R3,R4 in SERIES-PARALLEL"
290 PRINT TAB(10);"(10) Find TOTAL CAPACITANCE (CT), in series circuit"
310 PRINT TAB(10);"(11) Find TOTAL CAPACITANCE (CT), 2 caps, parallel circuit"
330 PRINT TAB(10);"(12) Find TOTAL CAPACITANCE (CT), 3 caps in parallel"
350 PRINT TAB(10);"(13) Find PEAK AC VOLTAGE, given RMS value"
370 PRINT TAB(10);"(14) Find RMS VOLTAGE, given PEAK value"
390 PRINT TAB(10);"(15) Find INDUCTIVE REACTANCE (XL)"
410 PRINT TAB(10);"(16) Find CAPACITIVE REACTANCE (XC)"
430 PRINT TAB(10);"(17) Find IMPEDANCE (Z) of a series circuit"
445 PRINT TAB(10);"(18) Find IMPEDANCE (Z) of a parallel circuit"
447 PRINT
450 PRINT " Select the number you require from the menu and press 'RETURN'"
485 PRINT
490 INPUT "Caps Lock ON. Enter choice from above or -1 to exit :",C
515 IF C = -1 THEN END
517 PRINT "Choice is:";C
520 IF C= 0 OR C> 18 THEN 10
530 ON C GOTO 540,710,880,1050,1220,1380,1540,1700,1930,2190,2360,2560,2770,2930,3070,3260,3430,3680
540 PRINT "Calculate CURRENT (I), given VOLTAGE and RESISTANCE (E and R)"
555 PRINT
560 INPUT "What is the value of E, in volts:",V
580 INPUT "Now enter the value of R, in ohms:",R
600 LET I= (V/R)
610 PRINT " I= ";(V/R);"amperes"
630 PRINT
640 PRINT " Do you wish to do this calculation again? (Y/N)":INPUT ANS$
660 IF ANS$="Y" THEN 540
670 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
690 IF ANS$="Y" THEN 10
700 GOTO 10020
710 PRINT "Calculate RESISTANCE (R), given VOLTAGE and CURRENT (E and I)"
730 PRINT:PRINT
740 INPUT "Input the value of E, in volts:",V
760 INPUT "Now enter the value of I, in amperes:",I
780 LET R=(V/I):PRINT "R= ";(V/I);"ohms"
800 PRINT
810 PRINT "Do you wish to do this calculation again? (Y/N)":INPUT ANS$
830 IF ANS$="Y" THEN 710
835 PRINT
840 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
860 IF ANS$="Y" THEN 10
870 GOTO 10020
875 PRINT
880 PRINT "Calculate VOLTAGE (E), given CURRENT and RESISTANCE (I and R)"
895 PRINT
900 INPUT "Enter the value for I, in amperes:",I
920 INPUT "Now enter the value for R, in ohms:",R
940 LET E=(I*R):PRINT "E= ";(I*R);"volts"
960 PRINT
970 PRINT "Do you wish to do this calculation again? (Y/N)":INPUT ANS$
990 IF ANS$="Y" THEN 880
995 PRINT
1000 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
1020 IF ANS$="Y" THEN 10
1030 GOTO 10020
1040 PRINT
1050 PRINT "Calculate POWER(P), given VOLTAGE(E) and CURRENT(I)"
1065 PRINT
1070 INPUT "Input the value for E, in volts:",V
1090 INPUT "Now enter the value for I, in amperes:",I
1110 LET P=V*I:PRINT "I= ";(V*I);"watts"
1130 PRINT
1140 PRINT "Do you wish to do this calculation again? (Y/N)":INPUT ANS$
1160 IF ANS$="Y" THEN 1050
1175 PRINT
1180 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
1200 IF ANS$="Y" THEN 10
1210 GOTO 10020
1220 PRINT "Calculate POWER(P), given CURRENT(I) and RESISTANCE(R)"
1235 PRINT
1240 INPUT "Enter the value for I, in amperes:",I
1260 INPUT "Now enter the value for R, in ohms:",R
1280 LET P=(I*I)*R:PRINT "P= ";(I*I)*R;"watts"
1300 PRINT
1310 PRINT "Do you wish to do this calculation again? (Y/N)":INPUT ANS$
1330 IF ANS$="Y" THEN 1220
1335 PRINT
1340 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
1360 IF ANS$="Y" THEN 10
1370 GOTO 10020
1380 PRINT "Calculate POWER(P), given VOLTAGE(E) and RESISTANCE(R)"
1385 PRINT
1400 INPUT "Enter the value for E, in volts:",V
1420 INPUT "Now enter the value for R, in ohms:",R
1440 LET P=(V*V)/(R):PRINT "P= ";(V*V)/(R);"watts"
1460 PRINT
1470 PRINT "Do you wish to do this calculation again ? (Y/N)":INPUT ANS$
1490 IF ANS$="Y" THEN 1380
1495 PRINT
1500 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
1520 IF ANS$="Y" THEN 10
1530 GOTO 10020
1535 PRINT
1540 PRINT "Calculate TOTAL RESISTANCE(RT) in parallel, given R1,R2"
1555 PRINT
1560 INPUT "Input the value for R1:",R1
1580 INPUT "Now input the value for R2:",R2
1600 LET RT= (R1*R2)/(R1+R2):PRINT "RT= ";(R1*R2)/(R1+R2);"ohms"
1620 PRINT
1630 PRINT "Do you wish to do this calculation again? (Y/N)":INPUT ANS$
1650 IF ANS$="Y" THEN 1540
1655 PRINT
1660 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
1680 IF ANS$="Y" THEN 10
1690 GOTO 10020
1695 PRINT
1700 PRINT "Calculate TOTAL RESISTANCE(RT), given unequal R1,R2,R3,R4 values"
1715 PRINT
1720 PRINT "Enter the values for R1,R2,R3 and R4, in ohms"
1740 INPUT "R1=",R1
1750 INPUT "R2=",R2
1760 INPUT "R3=",R3
1770 INPUT "R4=",R4
1780 PRINT "R1=";R1;"ohms"
1790 PRINT "R2=";R2;"ohms"
1800 PRINT "R3=";R3;"ohms"
1810 PRINT "R4=";R4;"ohms"
1820 LET RT=(1)/(1/R1+1/R2+1/R3+1/R4)
1830 PRINT "RT= ";(1)/(1/R1+1/R2+1/R3+1/R4);"ohms"
1850 PRINT
1860 PRINT "Do you wish to do this calculation again? (Y/N)":INPUT ANS$
1880 IF ANS$="Y" THEN 1700
1885 PRINT
1890 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
1910 IF ANS$="Y" THEN 10
1920 GOTO 10020
1925 PRINT
1930 PRINT "Calculate TOTAL RESISTANCE(RT), in series-parallel,"
1940 PRINT "given R1, R2, R3 and R4"
1965 PRINT
1970 PRINT "Enter the values for R1, R2, R3 and R4"
1990 INPUT "R1=",R1
2000 INPUT "R2=",R2
2010 INPUT "R3=",R3
2020 INPUT "R4=",R4
2030 PRINT "R1=";R1;"ohms"
2040 PRINT "R2=";R2;"ohms"
2050 PRINT "R3=";R3;"ohms"
2060 PRINT "R4=";R4;"ohms"
2070 PRINT
2080 LET RT=(1)/(1/(R1+R2))+(1/(R3+R4))
2090 PRINT "RT=";(1)/(1/(R1+R2))+(1/(R3+R4));"ohms"
2110 PRINT
2120 PRINT "Do you wish to do this calculation again? (Y/N)":INPUT ANS$
2140 IF ANS$="Y" THEN 1930
2145 PRINT
2150 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
2170 IF ANS$="Y" THEN 10
2180 GOTO 10020
2185 PRINT
2190 PRINT "Calculate TOTAL CAPACITANCE(CT), in series circuit, given C1 and C2"
2205 PRINT
2210 INPUT "Enter value for C1, in MFD:",C1
2220 INPUT "Now enter the value for C2, in MFD:",C2
2240 PRINT "C1=";C1;"mfd"
2250 PRINT "C2=";C2;"mfd"
2260 LET CT=(C1*C2)/(C1+C2):PRINT "CT=";(C1*C2)/(C1+C2);"mfd"
2280 PRINT
2290 PRINT "Do you wish to do this calculation again? (Y/N)":INPUT ANS$
2310 IF ANS$="Y" THEN 2190
2315 PRINT
2320 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
2340 IF ANS$="Y" THEN 10
2350 GOTO 10020
2355 PRINT
2360 PRINT "Calculate TOTAL CAPACITANCE(CT), parallel circuit, given C1 and C2"
2395 PRINT
2400 INPUT "Enter the value for C1, in mfd:",C1
2420 INPUT "Now enter the value for C2, in mfd:",C2
2440 PRINT "C1=";C1;"mfd"
2450 PRINT "C2=";C2;"mfd"
2460 LET CT=(C1*C2)/(C1+C2):PRINT "CT=";(C1*C2)/(C1+C2);"mfd"
2480 PRINT
2490 PRINT "Do you wish to do this calculation again? (Y/N)":INPUT ANS$
2510 IF ANS$="Y" THEN 2360
2515 PRINT
2520 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
2540 IF ANS$="Y" THEN 10
2550 GOTO 10020
2555 PRINT
2560 PRINT "Calculate TOTAL CAPACITANCE(CT) for a parallel circuit,"
2570 PRINT "given C1, C2 and C3, in mfd"
2595 PRINT
2600 INPUT "C1=",C1
2610 INPUT "C2=",C2
2620 INPUT "C3=",C3
2630 PRINT "C1=";C1;"mfd"
2640 PRINT "C2=";C2;"mfd"
2650 PRINT "C3=";C3;"mfd"
2660 PRINT
2670 LET CT=(C1+C2+C3):PRINT "CT=";(C1+C2+C3);"mfd"
2690 PRINT
2700 PRINT "D0 you wish to do this calculation again? (Y/N)":INPUT ANS$
2720 IF ANS$="Y" THEN 2560
2725 PRINT
2730 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
2750 IF ANS$="Y" THEN 10
2760 GOTO 10020
2765 PRINT
2770 PRINT "Calculate PEAK AC VOLTAGE, given RMS value"
2785 PRINT
2790 INPUT "Enter the RMS value, in volts:",RMS
2810 PRINT "RMS=";RMS;"volts"
2820 LET PEAK=(RMS*1.414):PRINT "PEAK=";(RMS*1.414);"volts"
2840 PRINT
2850 PRINT "Do you wish to do this calculation again? (Y/N)":INPUT ANS$
2870 IF ANS$="Y" THEN 2770
2875 PRINT
2880 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
2900 IF ANS$="Y" THEN 10
2910 GOTO 10020
2920 PRINT
2930 PRINT "Calculate RMS VOLTAGE, given a value in PEAK VOLTS"
2945 PRINT
2950 INPUT "Enter the PEAK value, in volts AC:",PEAK
2960 PRINT "PEAK VOLTS=";PEAK
2970 LET RMS=(.707*PEAK):PRINT "RMS=";(.707*PEAK);"volts AC"
3000 PRINT "Do you wish to do this calculation again? (Y/N)":INPUT ANS$
3020 IF ANS$="Y" THEN 2930
3025 PRINT
3030 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
3050 IF ANS$="Y" THEN 10
3060 GOTO 10020
3065 PRINT
3070 PRINT "Calculate INDUCTIVE REACTANCE (XL), given FREQUENCY and INDUCTANCE"
3090 PRINT
3100 INPUT "Enter FREQUENCY (F), in Hertz:",FREQ
3120 PRINT "FREQUENCY=";FREQ;"Hertz
3130 INPUT "Now enter the value for INDUCTANCE (L), in henrys:",L
3150 PRINT "INDUCTANCE=";L;"henrys"
3160 LET XL=(2*3.1416)*FREQ*L:PRINT "XL=";(2*3.1416)*FREQ*L;"ohms"
3180 PRINT
3190 PRINT "Do you wish to do this calculation again? (Y/N)":INPUT ANS$
3210 IF ANS$="Y" THEN 3070
3215 PRINT
3220 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
3240 IF ANS$="Y" THEN 10
3245 GOTO 10020
3250 PRINT
3260 PRINT "Calculate CAPACITIVE REACTANCE (XC), given FREQ(F) and CAP(C)"
3275 PRINT
3280 INPUT "Enter the value for FREQ(F), in Hertz:",F
3290 PRINT "FREQ(F)=";F;"Hertz"
3300 INPUT "Now enter the value for CAP(C), in mfd:",C
3310 PRINT "CAP(C)=";C;"mfd"
3320 PRINT
3330 LET XC=(1)/((2*3.1416)*F*C):PRINT "XC=";(1)/((2*3.1416)*F*C);"ohms"
3350 PRINT
3360 PRINT "Do you wish to do this calculation again? (Y/N)":INPUT ANS$
3380 IF ANS$="Y" THEN 3260
3385 PRINT
3390 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
3410 IF ANS$="Y" THEN 10
3415 GOTO 10020
3420 PRINT
3430 PRINT "Calculate IMPEDANCE(Z) of a series circuit, given values of"
3435 PRINT "RES(R), CAPACITIVE REACTANCE(XC) and INDUCTIVE REACTANCE(XL)"
3446 PRINT
3450 INPUT "Enter the value for RESISTANCE(R), in ohms:",R
3470 INPUT "Enter the value for CAPACITIVE REACTANCE(XC), in ohms:",XC
3490 INPUT "Enter the value for INDUCTIVE REACTANCE(XL), in ohms:",XL
3510 PRINT
3520 PRINT "RESISTANCE(R)=";R;"ohms"
3530 PRINT "CAPACITIVE REACTANCE(XC)=";XC;"ohms"
3540 PRINT "INDUCTIVE REACTANCE(XL)=";XL;"ohms"
3550 PRINT
3560 LET Z=SQR(R^2+((XL-XC)^2))
3570 PRINT "IMPEDANCE(Z)=";SQR(R^2+((XL-XC)^2));"ohms"
3590 PRINT
3600 PRINT "Do you wish to do this calculation again? (Y/N)":INPUT ANS$
3620 IF ANS$="Y" THEN 3430
3625 PRINT
3630 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
3650 IF ANS$="Y" THEN 10
3660 GOTO 10020
3670 PRINT
3680 PRINT "Calculate IMPEDANCE (Z) of a parallel circuit"
3700 PRINT
3710 INPUT "Enter the value of L, in henrys:",L
3730 INPUT "Enter the value for FREQ (F), in Hertz:",F
3750 INPUT "Now enter the value for RESISTANCE (R) in ohms:",R
3765 PRINT "INDUCTANCE (L)=";L;"henrys"
3770 PRINT "FREQ (F)=";F;" Hertz"
3775 PRINT "RESISTANCE (R)=";R;"ohms"
3776 PRINT
3780 LET Z=((2*3.1416*F*L)^2)/(R)
3790 PRINT "IMPEDANCE (Z)=";((2*3.1416*F*L)^2)/(R);"ohms"
3810 PRINT "Do you wish to do this calculation again? (Y/N)":INPUT ANS$
3830 IF ANS$="Y" THEN 3680
3840 PRINT
3850 PRINT "Do you wish to return to the menu? (Y/N)":INPUT ANS$
3870 IF ANS$="Y" THEN 10
3880 GOTO 10020
3890 PRINT
10020 PRINT "Glad to have been of service! BYE!!
12000 REM --------------------------------------------------------------------------
12010 REM Change line number 0 to line number 5
12020 REM For automated testing, added 515 IF C = -1 THEN END
12999 END

+ 0
- 5
profile.bas View File

@@ -1,5 +0,0 @@
OPTION TERMINAL ANSI
OPTION EDIT "nano"
OPTION DISABLE COMMAND "renum"
OPTION RENUM ""


+ 0
- 174
tictac.bas View File

@@ -1,174 +0,0 @@
2 PRINT TAB(30);"TIC-TAC-TOE"
4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
6 PRINT
: PRINT
: PRINT
8 PRINT "THE BOARD IS NUMBERED:"
10 PRINT " 1 2 3"
12 PRINT " 4 5 6"
14 PRINT " 7 8 9"
16 PRINT
: PRINT
: PRINT
20 DIM SS(9)
50 INPUT"DO YOU WANT 'X' OR 'O'";C$
55 IF C$="X"THEN 475
57 IF C$="x" THEN 475
60 P$="O"
: Q$="X"
100 G=-1
: H=1
: IF SS(5)<>0 THEN 103
102 SS(5)=-1
: GOTO 195
103 IF SS(5)<>1 THEN 106
104 IF SS(1)<>0 THEN 110
105 SS(1)=-1
: GOTO 195
106 IF SS(2)=1 AND SS(1)=0 THEN 181
107 IF SS(4)=1 AND SS(1)=0 THEN 181
108 IF SS(6)=1 AND SS(9)=0 THEN 189
109 IF SS(8)=1 AND SS(9)=0 THEN 189
110 IF G=1 THEN 112
111 GOTO 118
112 J=3*INT((M-1)/3)+1
113 IF 3*INT((M-1)/3)+1=M THEN
: K=1
: END IF
114 IF 3*INT((M-1)/3)+2=M THEN
: K=2
: END IF
115 IF 3*INT((M-1)/3)+3=M THEN
: K=3
: END IF
116 GOTO 120
118 FOR J=1 TO 7 STEP 3
: FOR K=1 TO 3
120 IF SS(J)<>G THEN 130
122 IF SS(J+2)<>G THEN 135
126 IF SS(J+1)<>0 THEN 150
128 SS(J+1)=-1
: GOTO 195
130 IF SS(J)=H THEN 150
131 IF SS(J+2)<>G THEN 150
132 IF SS(J+1)<>G THEN 150
133 SS(J)=-1
: GOTO 195
135 IF SS(J+2)<>0 THEN 150
136 IF SS(J+1)<>G THEN 150
138 SS(J+2)=-1
: GOTO 195
150 IF SS(K)<>G THEN 160
152 IF SS(K+6)<>G THEN 165
156 IF SS(K+3)<>0 THEN 170
158 SS(K+3)=-1
: GOTO 195
160 IF SS(K)=H THEN 170
161 IF SS(K+6)<>G THEN 170
162 IF SS(K+3)<>G THEN 170
163 SS(K)=-1
: GOTO 195
165 IF SS(K+6)<>0 THEN 170
166 IF SS(K+3)<>G THEN 170
168 SS(K+6)=-1
: GOTO 195
170 GOTO 450
171 IF SS(3)=G AND SS(7)=0 THEN 187
172 IF SS(9)=G AND SS(1)=0 THEN 181
173 IF SS(7)=G AND SS(3)=0 THEN 183
174 IF SS(9)=0 AND SS(1)=G THEN 189
175 IF G=-1 THEN
: G=1
: H=-1
: GOTO 110
: END IF
176 IF SS(9)=1 AND SS(3)=0 THEN 182
177 FOR I=2 TO 9
: IF SS(I)<>0 THEN 179
178 SS(I)=-1
: GOTO 195
179 NEXT I
181 SS(1)=-1
: GOTO 195
182 IF SS(1)=1 THEN 177
183 SS(3)=-1
: GOTO 195
187 SS(7)=-1
: GOTO 195
189 SS(9)=-1
195 PRINT
: PRINT"THE COMPUTER MOVES TO..."
202 GOSUB 1000
205 GOTO 500
450 IF G=1 THEN 465
455 IF J=7 AND K=3 THEN 465
460 NEXT K
: NEXT J
465 IF SS(5)=G THEN 171
467 GOTO 175
475 P$="X"
: Q$="O"
500 PRINT
: INPUT"WHERE DO YOU MOVE";M
502 IF M=0 THEN
: PRINT"THANKS FOR THE GAME."
: GOTO 2000
: END IF
503 IF M>9 THEN 506
505 IF SS(M)=0 THEN 510
506 PRINT"THAT SQUARE IS OCCUPIED."
: PRINT
: PRINT
: GOTO 500
510 G=1
: SS(M)=1
520 GOSUB 1000
530 GOTO 100
1000 PRINT
: FOR I=1 TO 9
: PRINT" ";
: IF SS(I)<>-1 THEN 1014
1012 PRINT Q$;" ";
: GOTO 1020
1014 IF SS(I)<>0 THEN 1018
1016 PRINT" ";
: GOTO 1020
1018 PRINT P$;" ";
1020 IF I<>3 AND I<>6 THEN 1050
1030 PRINT
: PRINT"---+---+---"
1040 GOTO 1080
1050 IF I=9 THEN 1080
1060 PRINT"!";
1080 NEXT I
: PRINT
: PRINT
: PRINT
1095 FOR I=1 TO 7 STEP 3
1100 IF SS(I)<>SS(I+1)THEN 1115
1105 IF SS(I)<>SS(I+2)THEN 1115
1110 IF SS(I)=-1 THEN 1350
1112 IF SS(I)=1 THEN 1200
1115 NEXT I
: FOR I=1 TO 3
: IF SS(I)<>SS(I+3)THEN 1150
1130 IF SS(I)<>SS(I+6)THEN 1150
1135 IF SS(I)=-1 THEN 1350
1137 IF SS(I)=1 THEN 1200
1150 NEXT I
: FOR I=1 TO 9
: IF SS(I)=0 THEN 1155
1152 NEXT I
: GOTO 1400
1155 IF SS(5)<>G THEN 1170
1160 IF SS(1)=G AND SS(9)=G THEN 1180
1165 IF SS(3)=G AND SS(7)=G THEN 1180
1170 RETURN
1180 IF G=-1 THEN 1350
1200 PRINT"YOU BEAT ME!! GOOD GAME."
: GOTO 2000
1350 PRINT"I WIN, TURKEY!!!"
: GOTO 2000
1400 PRINT"IT'S A DRAW. THANK YOU."
2000 END


Loading…
Cancel
Save