home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib34a.dsk / MAY.1988 / SUM.STD.bas < prev   
BASIC Source File  |  2023-02-26  |  2KB  |  47 lines

  1. 10  REM  **********************
  2. 20  REM  * SUM.STD            *
  3. 30  REM  * TASK SLICING       *
  4. 40  REM  * BY HAROLD BALABAN  *
  5. 50  REM  * COPYRIGHT (C) 1988 *
  6. 60  REM  * MICROSPARC, INC.   *
  7. 70  REM  * CONCORD, MA 01742  *
  8. 80  REM  **********************
  9. 90  REM SUM INTEGERS FROM N1 TO N2 - STANDARD PROGRAM
  10. 100 SUM = 0
  11. 110 IN$ = "INPUT ERROR- PRESS ANY KEY"
  12. 120  GOTO 180
  13. 130  REM   SUM SUBROUTINE WITH KEYBOARD PEEK
  14. 140  FOR I = N1 TO N2
  15. 150 SUM = SUM +I
  16. 160  NEXT 
  17. 170  RETURN 
  18. 180  HOME : PRINT "THIS PROGRAM SUMS ALL INTEGERS FROM": PRINT "SMALLEST TO LARGEST USING A STANDARD": PRINT "BLOCK SEQUENTIAL ALGORITHM"
  19. 190  PRINT : INPUT "ENTER SMALLEST NUMBER: ";N1
  20. 200  PRINT : INPUT "ENTER LARGEST NUMBER: ";N2
  21. 210  IF N1 >N2  THEN  PRINT IN$: GET A$: GOTO 180
  22. 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$
  23. 230 M1 =  VAL(A$)
  24. 240  IF M1 <1  OR M1 >2  THEN  PRINT IN$: GOTO 220
  25. 250 : HOME : PRINT "  ***  END CALCULATION INDICATION ***": PRINT 
  26. 260  PRINT "1) DO NOT RING BELL"
  27. 270  PRINT "2) RING BELL AT CONCLUSION OF SUM"
  28. 280  PRINT : PRINT "ENTER 1 OR 2:";: GET A$: PRINT A$
  29. 290 M2 =  VAL(A$)
  30. 300  IF M2 <1  OR M2 >2  THEN  PRINT IN$: GOTO 250
  31. 310  HOME : PRINT "   *** INPUT CHECK ***"
  32. 320 A$ = "": PRINT : PRINT "THE FOLLOWING WAS REQUESTED:": PRINT 
  33. 330  PRINT : PRINT " SUM INTEGERS FROM ";N1" TO "N2: PRINT : ON M1 = 2 GOTO 340: PRINT " SHOW SUM ONLY": PRINT : GOTO 350
  34. 340  PRINT " SHOW ALL PERTINENT INFO": PRINT 
  35. 350  ON M2 = 2 GOTO 360: PRINT " DO NOT RING BELL": GOTO 370
  36. 360  PRINT " RING BELL"
  37. 370  PRINT : PRINT "IS THIS CORRECT (Y/N)? ";
  38. 380  GET A$: PRINT A$
  39. 390  IF A$ = "N"  THEN 50
  40. 400  PRINT "SUMMING": PRINT : GOSUB 130
  41. 410  REM  PRINT FINAL RESULTS
  42. 420  IF M2 = 2  THEN  PRINT  CHR$(7)
  43. 430  HOME : PRINT "   ****  FINAL  RESULT  ****
  44. 440  PRINT : PRINT 
  45. 450  IF M1 = 1  THEN  PRINT "SUM IS "SUM: GOTO 470
  46. 460  PRINT "SUM OF INTEGERS FROM "N1" TO "N2" IS ": PRINT SUM
  47. 470  END