Listing of file='LSNO8.BAS;01' on disk='vmedia/BASIC_lessons-sector.ccvf'
10 PLOT 27,1,255,14 20 REM LESSON 8 30 REM ART GRUSENDORF 60 PLOT 6,35,12,3,15,12,6,24:PRINT " WELCOME TO COMPUCOLOR BASIC " 70 PLOT 3,24,18,6,24:PRINT " LESSON 8 " 80 FOR X= 1TO 1000:NEXT X:PLOT 6,3,12 85 PRINT :PRINT :PRINT :PRINT :PRINT :PRINT 90 PRINT :PRINT "WELCOME BACK! IN LESSON 7, THE IF/THEN STATEMENT WAS DISCUSSED." 95 PRINT "WE ARE NOW READY TO DISCUSS LOOPS." 115 PRINT 120 PRINT "LET'S CONSIDER AN EXAMPLE:" 125 FOR X= 1TO 3500:NEXT X:PLOT 12,15 130 PRINT "REQUIRED: TO COMPUTE SUCCESSIVE VALUES OF THE EXPRESSION" 140 PRINT "U*(U+1)^2 FOR INCREASING VALUES OF U, BUT LIMITING THE " 150 PRINT "RESULT TO 10. A DECISION ON WHICH U VALUES TO USE MUST BE MADE." 160 PRINT "U WILL BE INCREASED BY 1 FOR EACH COMPUTATION UNTIL THE RESULT" 170 PRINT "IS 10. A HALT WILL THEN OCCUR." 185 PLOT 14 190 PRINT :PRINT TAB( 8)"100 U = 0" 200 PRINT TAB( 8)"110 PRINT U, U*(U+1)^2" 210 PRINT TAB( 8)"120 U = U + 1" 220 PRINT TAB( 8)"130 IF U*(U+1)^2<=10 THEN 110" 230 PRINT TAB( 8)"140 END" 235 PLOT 15 240 PRINT :PRINT "STUDY THE PROGRAM AND SEE IF YOU CAN TELL ME WHICH LINE NUMBER" 250 INPUT "IS AT THE BEGINNING OF THE LOOP? ";L 275 PRINT 300 IF L= 110THEN 330 310 INPUT "TRY AGAIN ";L:GOTO 300 330 INPUT "FINE. AND WHICH IS THE LAST LINE IN THE LOOP? ";T 340 IF T= 130THEN 380 350 INPUT "STUDY THE PROGRAM AND TRY AGAIN. WHICH ONE? ";T:GOTO 340 380 PRINT "THAT'S THE ONE! NOTICE THAT U WAS INCREASED BY 1 (LINE 120)." 390 PRINT "WE COULD HAVE USED OTHER INCREMENTAL VALUES, WHICH WOULD HAVE" 400 PRINT "CHANGED THE NUMBER OF TIMES THROUGH THE LOOP. HERE ARE THREE" 410 PRINT "OUTPUTS BASED ON DIFFERENT VALUES OF INCREASING U AS SHOWN IN" 420 PRINT "LINE 120 430 INPUT " PRESS 'RETURN'";G:PLOT 12 440 PRINT "FOR U = U + 1 WE GET" 445 PRINT " U U*(U+1)^2" 450 PRINT " 0 0" 455 PRINT " 1 4" 460 PRINT :PRINT "FOR U = U +.2 WE GET" 465 PRINT " U U*(U+1)^2" 470 PRINT " 0 0" 475 PRINT " .2 .288" 480 PRINT " .4 .784" 485 PRINT " .6 1.536" 490 PRINT " .8 2.592" 495 PRINT " 1. 4." 500 PRINT " 1.2 5.808" 505 PRINT " 1.4 8.064" 510 PRINT :PRINT "FOR U = U + .5 WE GET" 515 PRINT " U U*(U+.5)^2" 520 PRINT " 0 0" 530 PRINT " .5 1.125" 535 PRINT " 1. 4." 540 PRINT " 1.5 9.375" 550 PLOT 14 560 PRINT "IN EACH CASE, U IS THE LEFT HAND COLUMN AND U*(U+?)^2 IS THE" 570 PRINT "RIGHT HAND COLUMN. NOTICE THE LARGEST NUMBER IN THE RIGHT HAND" 580 PRINT "COLUMN IS NEVER OVER 10. THE LOOP HAS BEEN HALTED BEFORE" 590 PRINT "U BECOMES TOO LARGE." 600 PLOT 15:INPUT " PRESS 'RETURN'";G:PLOT 14 605 PLOT 12 610 PRINT "ANOTHER KIND OF LOOP IS ONE SUPPLIED WITH INFORMATION AS TO" 620 PRINT "A PREDETERMINED NUMBER OF ITERATIONS IT IS TO MAKE." 640 PRINT "HERE IS AN EXAMPLE:":PRINT 650 PRINT " 160 FOR J = 2 TO 2.5 STEP .1" 660 PRINT 670 PRINT "HOW WOULD YOU ANSWER THIS: TRUE OR FALSE: J VALUES CONTROL" 680 INPUT "THE NUMBER OF ITERATIONS. ANSWER.. ";A$ 690 IF A$= "TRUE"THEN 740 720 PRINT "YOU SHOULD HAVE SAID TRUE. YOU SEE J IS THE COUNTER, AND" 730 GOTO 750 740 PRINT "YOU'RE RIGHT. THE J VALUE WILL BE USED TO COUNT THE LOOP." 750 PRINT "IT'S STARTING VALUE WILL BE 2. ITS MAXIMUM VALUE WILL BE.." 760 INPUT J1 770 IF J1= 2.5THEN 810 790 PRINT "NO..BUT ITS MAXIMUM VALUE IS SHOWN IN THE STATEMENT. IT IS" 800 GOTO 760 810 PRINT "GOOD..BUT IT MAY END UP SOMEWHAT LESS BECAUSE OF THE SIZE OF" 820 PRINT "THE INCREMENT ( CHANGE IN J ). WHAT INCREMENT IS SHOWN...." 830 INPUT I 850 IF I= .1THEN 880 860 PRINT "THAT'S NOT IT, BUT THE STATEMENT TELLS. HOW MUCH IS IT..." 870 GOTO 830 880 PLOT 12:PRINT "YOU OBVIOUSLY UNDERSTAND THE STATEMENT, AND PROBABLY REALIZE" 890 PRINT "THAT 160 IS THE STATEMENT (OR LINE) NUMBER, FOR MEANS" 900 PRINT "STARTING VALUE, TO MEANS MAXIMAL VALUE, " 910 PRINT "AND STEP MEANS INCREMENT." 920 PRINT :PRINT :PRINT "IT IS NOW KNOWN WHERE THE" 930 PRINT "LOOP STARTS ( AT LINE 160 ) AND EVERYTHING ELSE ABOUT IT EXCEPT" 940 PRINT "WHERE IT STOPS - I.E., WHAT THE LAST INSTRUCTION IN THE LOOP" 950 PRINT "IS. DO YOU THINK (1) LAST LINE OR (2) NEXT J OR (3) NEW J" 960 INPUT "IS THE CORRECT LAST INSTRUCTION (TYPE CHOICE NUMBER)..";N 980 PRINT 990 IF N= 2THEN 1030 1010 PRINT "WELL,,, MAYBE THAT WAS TOO TRICKY. IT SHOULD BE NEXT J, AND WE" 1020 GOTO 1040 1030 PRINT "THAT'S THE ONE!! ALL RIGHT. THE WORD NEXT IS THE CLUE. SO WE" 1040 PRINT "PUT A LINE NUMBER ON IT WHICH SEQUENCES IT AS THE LAST LINE OF" 1050 PRINT "THE LOOP (LINE 160 HERE) AND LOOPS UNTIL J SAYS TO STOP." 1055 PLOT 15:INPUT " PRESS 'RETURN'";G:PLOT 14,12 1060 PRINT :PRINT "FOR THE PREVIOUS EXAMPLE PROGRAM, SUPPOSE WE WANTED 4 VALUES," 1070 PRINT "REGARDLESS OF THE FUNCTION'S SIZE. LET'S COUNT WITH C. WE'LL" 1080 PRINT "WRITE: " 1100 PRINT " 100 U = 0" 1110 PRINT " 110 FOR C = 1 TO 4" 1120 PRINT " 120 PRINT U, U*U(U+1)^2" 1130 PRINT " 130 U = U +.2" 1140 PRINT " 140 NEXT C" 1150 PRINT " 150 END" 1160 PRINT :PRINT "WHEN STEP IS OMITTED (LINE 110), THE INCREASE (IN C) IS 1." 1170 PRINT :PRINT "SO NOW WE HAVE LOOKED AT TWO WAYS TO ITERATE - THE IF LOOP" 1180 PRINT "AND THE FOR LOOP. WE'LL BE SEEING MORE OF THEM IN THE FUTURE." 1185 PLOT 15:INPUT " PRESS 'RETURN'";G:PLOT 12,14 1190 PRINT "IF BETWEEN LESSONS YOU CAN TRY THE NEW CONCEPTS THAT YOU HAVE" 1195 PRINT 1200 PRINT "JUST LEARNED, YOU WILL SOON" 1205 PRINT 1210 PRINT "BECOME MORE COMFORTABLE AND PROFICIENT WITH THE " 1215 PRINT 1220 PRINT " COMPUCOLOR BASIC LANGUAGE" 1225 PRINT 1230 PRINT " SEE YOU LATER!" 1240 PRINT "TO REVIEW TYPE 1 AND PRESS 'RETURN', TO STOP TYPE 2 AND PRESS" 1250 INPUT "'RETURN', TO GO ON JUST PRESS 'RETURN'";J 1255 IF J= 0THEN LOAD "LSNO9":RUN 1260 IF J= 1THEN RUN 1270 IF J= 2THEN END 1280 END