home *** CD-ROM | disk | FTP | other *** search
/ RUN Flagazine Extra: Supplement 2: Soundwriter / run-supplement-2.zip / CAI.BAS < prev    next >
BASIC Source File  |  1991-07-05  |  3KB  |  63 lines

  1. 1000 REM Computer Aided Instruction - GWBASIC Mono
  2. 1010 COMMON MENUFL%
  3. 1020 SCREEN 0,0,0,0:COLOR 7,0:CLS:LIJN$=STRING$(79,196):T=12:V=9000
  4. 1030 DIM K$(10):FOR A=1 TO 10:READ K$(A):NEXT A
  5. 1040 LOCATE 24,1:COLOR 14,0:PRINT LIJN$;:LOCATE 25,19:COLOR 7,0
  6. 1050 PRINT "Hoe werkt de FOR/NEXT-kringloop in BASIC?";:GOSUB 1320
  7. 1060 LOCATE 1,1:PRINT "L";:GOSUB 1550:PRINT "I";:GOSUB 1550:PRINT "S";:GOSUB 1550:PRINT "T";:GOSUB 1570
  8. 1070 CLS:LOCATE 24,1:COLOR 14,0:PRINT STRING$(79,196);:GOSUB 1560
  9. 1080 LOCATE 1,5:PRINT "10 INPUT ";CHR$(34);"Welke tafel";CHR$(34);";A":GOSUB 1550
  10. 1090 LOCATE 2,5:PRINT "20 FOR B=1 TO 10":GOSUB 1550
  11. 1100 LOCATE 3,5:PRINT "30   PRINT B;":GOSUB 1550
  12. 1110 LOCATE 4,5:PRINT "40   PRINT ";CHR$(34);" x ";CHR$(34);";":GOSUB 1550
  13. 1120 LOCATE 5,5:PRINT "50   PRINT A;":GOSUB 1550
  14. 1130 LOCATE 6,5:PRINT "60   PRINT ";CHR$(34);" = ";CHR$(34);";":GOSUB 1550
  15. 1140 LOCATE 7,5:PRINT "70   PRINT A * B":GOSUB 1550
  16. 1150 LOCATE 8,5:PRINT "80 NEXT B":GOSUB 1550
  17. 1160 LOCATE 9,5:PRINT "90 END":GOSUB 1550:PRINT "Ok":GOSUB 1570
  18. 1170 LOCATE 11,1:PRINT "R";:GOSUB 1550:PRINT "U";:GOSUB 1550:PRINT "N";:GOSUB 1550
  19. 1180 X=1:GOSUB 1310:LOCATE 25,1:PRINT "Programmaregel 10 vraagt om invoer";
  20. 1190 LOCATE 12,1:PRINT "Welke tafel";
  21. 1195 INPUT I$:IF VAL(I$)=0 THEN LOCATE 12,14:PRINT STRING$(LEN(I$)," "):GOTO 1190
  22. 1196 B=VAL(I$):LOCATE 25,1
  23. 1200 PRINT "De inputvariabele A krijgt de zojuist ingevoerde waarde: ";B;
  24. 1210 GOSUB 1320:PRINT "Nu start de FOR/NEXT-kringloop in regel 20";
  25. 1220 X=2:GOSUB 1290:GOSUB 1320
  26. 1230 PRINT "De variabele B begint bij 1 en moet naar 10";:GOSUB 1320:X=3
  27. 1240 FOR E=1 TO 10:GOSUB 1480:T=T+1:GOSUB 1290:GOSUB 1340:X=X+1
  28. 1250 GOSUB 1290:GOSUB 1350:X=X+1:GOSUB 1290
  29. 1260 GOSUB 1360:X=X+1:GOSUB 1290:GOSUB 1370:X=X+1:GOSUB 1290
  30. 1270 GOSUB 1380:X=X+1:GOSUB 1290:GOSUB 1390:X=3
  31. 1280 NEXT E
  32. 1290 IF INKEY$=CHR$(27) THEN 1530
  33. 1300 SOUND 500,1:LOCATE X-1,1:PRINT STRING$(3,32)
  34. 1310 LOCATE X,1:COLOR 31,0:PRINT STRING$(2,196)CHR$(16):COLOR 7,0:RETURN
  35. 1320 GOSUB 1580:LOCATE 25,1:PRINT SPACE$(79);:LOCATE 25,1:RETURN
  36. 1330 REM
  37. 1340 LOCATE T,2:COLOR 14,0:PRINT E;:GOSUB 1570:RETURN
  38. 1350 LOCATE T,5:PRINT " x ";:GOSUB 1570:RETURN
  39. 1360 LOCATE T,8:PRINT B:GOSUB 1570:RETURN
  40. 1370 LOCATE T,12:PRINT " = ";:GOSUB 1570:RETURN
  41. 1380 LOCATE T,14:PRINT E*B;:GOSUB 1570:COLOR 7,0:RETURN
  42. 1390 IF E=10 THEN 1440
  43. 1400 X=2:LOCATE 25,1:PRINT "De variabele B is pas";E;
  44. 1410 PRINT "- De teller MOET terug naar 20 om er 1 bij te krijgen!";
  45. 1420 GOSUB 1320:LOCATE 8,1:PRINT SPC(3):GOSUB 1290
  46. 1430 LOCATE 25,1:PRINT "B = B + 1 en wordt nu:";E+1;:GOSUB 1320:RETURN
  47. 1440 X=X+1:GOSUB 1320:BEEP:PRINT "B heeft de waarde 10 bereikt.";
  48. 1450 PRINT " Regel 80 laat de programmateller nu passeren...";:GOSUB 1320
  49. 1460 LOCATE 23,1:PRINT "Ok";
  50. 1470 GOSUB 1290::GOTO 1520
  51. 1480 LOCATE 25,1:PRINT K$(E);" kringloop...";
  52. 1490 RETURN
  53. 1500 DATA "Eerste","Tweede","Derde","Vierde","Vijfde"
  54. 1510 DATA "Zesde","Zevende","Achtste","Negende","Tiende en laatste"
  55. 1520 LOCATE 25,1:PRINT "Toets <Esc> voor Hoofdmenu";:WHILE INKEY$<>CHR$(27):WEND
  56. 1530 CLS:SCREEN 0:IF MENUFL% THEN 120
  57. 1540 END
  58. 1550 W!=TIMER:WHILE TIMER<W!+.5:WEND:RETURN
  59. 1560 W!=TIMER:WHILE TIMER<W!+.8:WEND:RETURN
  60. 1570 W!=TIMER:WHILE TIMER<W!+1.5:WEND:RETURN
  61. 1580 W!=TIMER:WHILE TIMER<W!+3:WEND:RETURN
  62. 20000 REM EIND CAI
  63.