90 REM SUM INTEGERS FROM N1 TO N2 - STANDARD PROGRAM
100 SUM = 0
110 IN$ = "INPUT ERROR- PRESS ANY KEY"
120 GOTO 180
130 REM SUM SUBROUTINE WITH KEYBOARD PEEK
140 FOR I = N1 TO N2
150 SUM = SUM +I
160 NEXT
170 RETURN
180 HOME : PRINT "THIS PROGRAM SUMS ALL INTEGERS FROM": PRINT "SMALLEST TO LARGEST USING A STANDARD": PRINT "BLOCK SEQUENTIAL ALGORITHM"
190 PRINT : INPUT "ENTER SMALLEST NUMBER: ";N1
200 PRINT : INPUT "ENTER LARGEST NUMBER: ";N2
210 IF N1 >N2 THEN PRINT IN$: GET A$: GOTO 180
220 HOME : PRINT " *** DISPLAY FORMAT": PRINT : PRINT "1) SHOW SUM ONLY": PRINT "2) SHOW ALL PERTINENT INFO": PRINT : PRINT "ENTER 1 OR 2: ";: GET A$: PRINT A$
230 M1 = VAL(A$)
240 IF M1 <1 OR M1 >2 THEN PRINT IN$: GOTO 220
250 : HOME : PRINT " *** END CALCULATION INDICATION ***": PRINT
260 PRINT "1) DO NOT RING BELL"
270 PRINT "2) RING BELL AT CONCLUSION OF SUM"
280 PRINT : PRINT "ENTER 1 OR 2:";: GET A$: PRINT A$
290 M2 = VAL(A$)
300 IF M2 <1 OR M2 >2 THEN PRINT IN$: GOTO 250
310 HOME : PRINT " *** INPUT CHECK ***"
320 A$ = "": PRINT : PRINT "THE FOLLOWING WAS REQUESTED:": PRINT
330 PRINT : PRINT " SUM INTEGERS FROM ";N1" TO "N2: PRINT : ON M1 = 2 GOTO 340: PRINT " SHOW SUM ONLY": PRINT : GOTO 350
340 PRINT " SHOW ALL PERTINENT INFO": PRINT
350 ON M2 = 2 GOTO 360: PRINT " DO NOT RING BELL": GOTO 370
360 PRINT " RING BELL"
370 PRINT : PRINT "IS THIS CORRECT (Y/N)? ";
380 GET A$: PRINT A$
390 IF A$ = "N" THEN 50
400 PRINT "SUMMING": PRINT : GOSUB 130
410 REM PRINT FINAL RESULTS
420 IF M2 = 2 THEN PRINT CHR$(7)
430 HOME : PRINT " **** FINAL RESULT ****
440 PRINT : PRINT
450 IF M1 = 1 THEN PRINT "SUM IS "SUM: GOTO 470
460 PRINT "SUM OF INTEGERS FROM "N1" TO "N2" IS ": PRINT SUM