Figure 12-1. STRATA layout

In most cases the program reads a number greater than or equal to zero and sends it to the printer (line 620). Control then returns to line 610, which reads the next number.

If N is negative, the program bypasses the LPRINT in line 620 and goes on to line 630. Negative numbers in the DATA lines represent repeat factors as they did in the last chapter, but the repeat routine is slightly different. This program repeats numbers in pairs:

630 READ P,R: FOR J=l TO -N: LPRINT CHR$(P)CHR$(R);: NEXT J

640 GOT0 610

For example, when the negative 16 in line 800 is read into N, control passes to line 630. Line 630 reads the next two numbers (16 and 64) into P and R and prints them 16 times. Control then returns to line 610, which reads the next number.

161