10  REM  SIMPLE CALCULATION, REVISED BY LES VOGEL III, MAY 6, 1974
20  REM
30  DIM C$[72]
40  IF TIM(1)>11 THEN 70
50  PRINT "GOOD MORNING, ";
60  GOTO 110
70  IF TIM(1)>14 THEN 100
80  PRINT "GOOD AFTERNOON, ";
90  GOTO 110
100  PRINT "GOOD EVENING, ";
110  PRINT "THIS PROGRAM PERMITS SIMPLE CALCULATIONS WITHOUT YOUR"
120  PRINT "HAVING TO KNOW ANY PROGRAMING LANGUAGE."
130  PRINT "DO YOU WANT INSTRUCTIONS";
140  INPUT C$
150  IF C$[1,1]="N" THEN 360
160  PRINT 
170  PRINT "THIS PROGRAM WILL ADD OR MULTIPLY TWO OR MORE NUMBERS AND"
180  PRINT "WILL ALSO SUBTRACT OR DIVIDE NUMBERS, RAISE A NUMBER TO"
190  PRINT "ANY POWER AND EXTRACT ROOTS.  THE NUMBERS MAY BE INTEGERS OR"
200  PRINT "DECIMALS AND, EXCEPT FOR EXTRACTING ROOTS, POSITIVE OR"
210  PRINT "NEGATIVE.  HOWEVER THE COMPUTER CANNOT HANDLE NUMBERS LARGER"
220  PRINT "THAN ABOUT 10 TO THE 38TH POWER OR SMALLER THAN ABOUT 10 TO"
230  PRINT "THE -38TH POWER.  FURTHER, IT CAN DEAL WITH NO MORE THAN 6"
240  PRINT "SIGNIFICANT FIGURES:  ANY NUMBER WITH MORE THAN 6 DIGITS WILL"
250  PRINT "BE EXPRESSED IN EXPONENTIAL FORM."
260  PRINT 
270  PRINT "NO.  FUNCTION"
280  PRINT "===  ========"
290  PRINT " 1   ADD"
300  PRINT " 2   SUBTRACT"
310  PRINT " 3   MULTIPLY"
320  PRINT " 4   DIVIDE"
330  PRINT " 5   RAISE A NUMBER TO A POWER"
340  PRINT " 6   EXTRACT A ROOT"
350  PRINT " 7   LIST THESE INSTRUCTIONS"
360  PRINT 
370  PRINT "WHAT DO YOU WANT TO DO";
380  INPUT Z
390  GOTO Z OF 410,570,690,860,1020,1250
400  GOTO 260
410  PRINT "HOW MANY NUMBERS DO YOU WANT TO ADD";
420  INPUT N
430  PRINT "ALL RIGHT.  TYPE IN YOUR NUMBERS ONE AT A TIME, HITTING"
440  PRINT "'RETURN' AFTER EACH NUMBER."
450  A=0
460  FOR I=1 TO N
470  INPUT B
480  A=A+B
490  NEXT I
500  PRINT "THE SUM OF THE NUMBER IS"A
510  PRINT 
520  PRINT "DO YOU WANT ANOTHER SET OF NUMBERS";
530  INPUT C$
540  PRINT 
550  IF C$[1,1]="Y" THEN 410
560  GOTO 1470
570  PRINT 
580  PRINT "WHAT IS THE NUMBER YOU WANT TO SUBTRACT FROM";
590  INPUT A
600  PRINT "WHAT IS THE NUMBER YOU WANT TO SUBTRACT FROM THAT";
610  INPUT B
620  PRINT "THE RESULT OF THE SUBTRACTION IS"A-B
630  PRINT 
640  PRINT "DO YOU WANT TO MAKE ANOTHER SUBTRACTION";
650  INPUT C$
660  PRINT 
670  IF C$[1,1]="Y" THEN 570
680  GOTO 1470
690  PRINT 
700  PRINT "HOW MANY NUMBERS DO YOU WANT TO MULTIPLY";
710  INPUT N
720  PRINT "ALL RIGHT.  TYPE IN YOUR NUMBERS ONE AT A TIME, HITTING"
730  PRINT "'RETURN' AFTER EACH NUMBER."
740  A=1
750  FOR I=1 TO N
760  INPUT B
770  A=A*B
780  NEXT I
790  PRINT "THE PRODUCT OF THESE NUMBERS IS"A
800  PRINT 
810  PRINT "DO YOU WANT TO MULTIPLY ANOTHER SET OF NUMBERS";
820  INPUT C$
830  PRINT 
840  IF C$[1,1]="Y" THEN 690
850  GOTO 1470
860  PRINT 
870  PRINT "WHAT IS THE NUMERATOR--THE NUMBER YOU WANT TO DIVIDE INTO";
880  INPUT A
890  PRINT "NOW WHAT IS THE DENOMINATOR--THE NUMBER YOU WANT TO DIVIDE BY";
900  INPUT B
910  IF B=0 THEN 990
920  PRINT 
930  PRINT "THE RESULT OF THE DIVISION IS"A/B
940  PRINT 
950  PRINT "DO YOU WANT TO DIVIDE AGAIN";
960  INPUT C$
970  IF C$[1,1]="Y" THEN 860
980  GOTO 1470
990  PRINT 
1000  PRINT "SORRY.  THE COMPUTER CAN'T DIVIDE BY ZERO."
1010  GOTO 950
1020  PRINT 
1030  PRINT "WHAT IS THE NUMBER YOU WANT TO RAISE TO A POWER";
1040  INPUT A
1050  PRINT "NOW WHAT IS THE POWER TO WHICH YOU WANT TO RAISE IT";
1060  INPUT B
1070  IF B>0 AND B<1 THEN 1110
1080  PRINT 
1090  PRINT "THE RESULT IS"A^B
1100  GOTO 1200
1110  PRINT "OF COURSE, YOU KNOW THAT RAISING A NUMBER TO A FRACTIONAL"
1120  PRINT "POWER IS EQUIVALENT TO EXTRACTING A ROOT."
1130  IF A<0 THEN 1160
1140  PRINT 
1150  GOTO 1110
1160  PRINT "FURTHERMORE, THE NUMBER WHOSE ROOT YOU ARE EXTRACTING IS"
1170  PRINT "NEGATIVE.  THIS CALCULATION THEREFORE INVOLVES IMAGINARY"
1180  PRINT "NUMBERS, A TOPIC WITH WHICH THIS PROGRAM CANNOT DEAL.  SORRY."
1190  PRINT 
1200  PRINT "DO YOU WANT TO RAISE ANOTHER NUMBER TO A POWER";
1210  INPUT C$
1220  PRINT 
1230  IF C$[1,1]="Y" THEN 1020
1240  GOTO 1470
1250  PRINT 
1260  PRINT "WHAT IS THE NUMBER WHOSE ROOT YOU WANT TO EXTRACT";
1270  INPUT A
1280  IF A<0 THEN 1400
1290  PRINT "NOW TYPE IN THE ROOT YOU ARE EXTRACTING--FOR EXAMPLE, TYPE '2'"
1300  PRINT "FOR SQUARE ROOT, '3' FOR CUBE ROOT, AND SO ON."
1310  PRINT "WHAT IS IT";
1320  INPUT B
1330  IF B=0 THEN 1360
1340  PRINT "THE RESULT OF EXTRACTING THIS ROOT IS"A^(1/B)
1350  GOTO 1430
1360  PRINT "EXTRACTING A ZERO ROOT IS NOT REALLY POSSIBLE.  AS THE ROOT"
1370  PRINT "APPROACHES ZERO, THE RESULT APPROACHES INFINITY."
1380  PRINT 
1390  GOTO 1430
1400  PRINT 
1410  PRINT "EXTRACTING A ROOT OF A NEGATIVE NUMBER INVOLVES IMAGINARY"
1420  PRINT "NUMBERS, A TOPIC BEYOND THE RANGE OF THIS PROGRAM.  SORRY."
1430  PRINT "DO YOU WANT TO EXTRACT ANOTHER ROOT?  IF YOU DO, TYPE 'YES.'"
1440  INPUT C$
1450  PRINT 
1460  IF C$[1,1]="Y" THEN 1250
1470  PRINT 
1480  PRINT "DO YOU WANT TO MAKE SOME OTHER KIND OF CALCULATION";
1490  INPUT C$
1500  IF C$[1,1]="Y" THEN 360
1510  END 
