25 lines
1.1 KiB
Plaintext
25 lines
1.1 KiB
Plaintext
0 LIMIT = 10 :MAX=1E37
|
|
10 DATA-2,2,1,NORMAL
|
|
20 DATA-2,2,0,ZERO INCREMENT
|
|
30 DATA-2,2,-1,INCREMENTS AWAY FROM STOP VALUE
|
|
40 DATA-2,2,10,FIRST INCREMENT IS BEYOND STOP VALUE
|
|
50 DATA2,-2,1,"START MORE THAN STOP: POSITIVE INCREMENT
|
|
60 DATA2,2,1,"START EQUAL STOP: POSITIVE INCREMENT
|
|
70 DATA2,2,-1,"START EQUAL STOP: NEGATIVE INCREMENT
|
|
80 DATA2,2,0,"START EQUAL STOP: ZERO INCREMENT
|
|
90 DATA0,0,0,"START EQUAL STOP EQUAL ZERO: ZERO INCREMENT
|
|
100 FOR I = 1 TO 9
|
|
110 READ START,FINISH,INCR,COMMENT$
|
|
120 PRINT CHR$(13)COMMENT$
|
|
130 LAST = FINISH
|
|
140 REM D = SGN(FINISH - START)
|
|
150 REM IF D AND NOT (D = SGN(INCR)) THEN LAST = SGN(INCR)*MAX
|
|
160 PRINT TAB(5)CHR$(91)" "MID$(" ",(START<0)+1)START" TO "MID$(" ",(FINISH<0)+1)FINISH" STEP "MID$(" ",(INCR<0)+1)INCR" ] ";
|
|
170 COUNT = 0
|
|
180 PRINT MID$(" ",(START<0)+1);
|
|
190 FOR J = START TO LAST STEP INCR
|
|
200 PRINT MID$(" ",(COUNT=0)+1)J;
|
|
210 IF COUNT < LIMIT THEN COUNT = COUNT + 1 : NEXT J
|
|
220 IF COUNT = LIMIT THEN PRINT " ... ";:if ABS(LAST) = MAX THEN PRINT MID$("-",SGN(LAST)+2,1)"INFINITY";
|
|
230 NEXT I
|