This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
basic [2020/04/16 16:48] smj |
basic [2020/04/18 01:39] (current) smj |
||
---|---|---|---|
Line 18: | Line 18: | ||
====== BASIC Programming Examples ====== | ====== BASIC Programming Examples ====== | ||
- | There are many statements available to you in BASIC, but here are a few that can get you started and will work across many BASIC interpreters. | + | There are many statements available to you in BASIC, but here are a few that can get you started and will work across many BASIC interpreters. |
UNIX System V R.3 (WINS) (lcm3b2) | UNIX System V R.3 (WINS) (lcm3b2) | ||
Line 30: | Line 30: | ||
$ basic | $ basic | ||
+ | * REM *** BASIC will evaluate 2+2 to give us 4 | ||
| | ||
4 | 4 | ||
+ | | ||
+ | * REM *** The variable ' | ||
| | ||
0 | 0 | ||
+ | | ||
+ | * REM *** LET assigns the value of ' | ||
*let a=1 | *let a=1 | ||
| | ||
1 | 1 | ||
+ | |||
+ | * REM *** STRINGS are quoted in BASIC and to use a variable as a string, just append ' | ||
+ | | ||
+ | Hello World! | ||
+ | * let a$ = "Hello World!" | ||
+ | * print a$ | ||
+ | Hello World! | ||
+ | | ||
+ | * REM *** Now let's write it as a program with line numbers | ||
*10 print "Hello World!" | *10 print "Hello World!" | ||
*20 end | *20 end | ||
+ | |||
+ | * REM *** The LIST command will show us what we typed in | ||
*list | *list | ||
10 print "Hello World!" | 10 print "Hello World!" | ||
20 end | 20 end | ||
+ | | ||
+ | * REM *** The RUN command will run our program | ||
*run | *run | ||
Hello World! | Hello World! | ||
+ | |||
+ | * REM *** The NEW command will clear the memory buffer and LIST will show us nothing is there | ||
*new | *new | ||
+ | *list | ||
+ | * | ||
+ | |||
+ | * REM *** Lets write a programming using INPUT to assign a VARIABLE N | ||
*10 input "What is your name?"; | *10 input "What is your name?"; | ||
*20 print "Hello "; n$ | *20 print "Hello "; n$ | ||
Line 55: | Line 79: | ||
What is your name?? COMPUTER | What is your name?? COMPUTER | ||
Hello COMPUTER | Hello COMPUTER | ||
+ | |||
+ | * REM *** Here is an example of a FOR loop. The loop is closed with the NEXT statement. | ||
+ | * REM *** NEXT I tells BASIC that the variable I is free to be used again. | ||
*new | *new | ||
*10 for i = 0 to 20 | *10 for i = 0 to 20 | ||
Line 82: | Line 109: | ||
19 | 19 | ||
20 | 20 | ||
- | *list | + | |
- | 10 for i = 0 to 20 | + | * REM *** The STEP statement is implied in the FOR loop as "STEP 1" by default |
- | 20 print i | + | * REM *** But you can specify a STEP number - here we STEP by 2 |
- | 30 next i | + | * REM *** To replace line 10, just type it in as if it were a new line |
- | 40 end | + | |
*10 for i = 0 to 20 step 2 | *10 for i = 0 to 20 step 2 | ||
*list | *list | ||
Line 105: | Line 131: | ||
18 | 18 | ||
20 | 20 | ||
+ | | ||
+ | * REM *** Likewise we can run the FOR loop backwards by using a "STEP -1" | ||
*10 for i = 20 to 0 step -1 | *10 for i = 20 to 0 step -1 | ||
*list | *list | ||
Line 133: | Line 161: | ||
1 | 1 | ||
0 | 0 | ||
+ | |||
+ | * REM *** Here is an advanced example which will introduce nested FOR loops | ||
+ | * REM *** and the function INT (integer) and SIN (sine) to calculate a sine wave | ||
+ | |||
+ | *list | ||
+ | 10 let w = 2 | ||
+ | 15 let h = 20 | ||
+ | 20 let t = 6.28318/ | ||
+ | 25 let s = 35 | ||
+ | 30 for i = 1 to w | ||
+ | 35 for j = 0 to 6.38318 - t step t | ||
+ | 40 let a = int(sin(j) * s + 0.5) | ||
+ | 45 for k = 1 to s + a | ||
+ | 50 print " "; | ||
+ | 55 next k | ||
+ | 60 print " | ||
+ | 65 next j | ||
+ | 70 next i | ||
+ | *run | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | | ||
+ | * REM *** To return back to UNIX, type the command " | ||
| | ||
$ | $ | ||
Line 138: | Line 223: | ||
====== BASIC Reference Manuals ====== | ====== BASIC Reference Manuals ====== | ||
- | * Control Data Corporation BASIC(([[http://bitsavers.trailing-edge.com/pdf/cdc/ | + | Visit our repository for [[https://livingcomputers.org/ |