Epson FX-185 User Manual - Page 173

Repeated DATA numbers, FOR Y=l TO 19: RESTORE: LPRINT

Page 173 highlights

like this one, you can just get the program to reread one set of data by using a RESTORE statement. To see this, change two lines and then RUN the program: 30 FOR Y=l TO 19: RESTORE: LPRINT A$; 79 NEXT X: NEXT Y Although the new loop in line 30 repeats the pattern 10 times, you don't need 10 repetitions of the DATA statements. The RESTORE statement in line 30 tells the program to read the same data again. If you use it carefully, the RESTORE statement can reduce the amount of data that you need to type in for a graphics pattern. Repeated DATA numbers Sometimes you will want to repeat the same DATA number several times in succession. Here's a change that gives an instance: 90 DATA 8,28,62,93,28,28,28,28,28,28,93,62,28,8 At the center of this program line you fire the middle three pins-with CHR$(28)-six times in succession. Six 28s was boring enough to type. Can you imagine typing the data for 20 or 50 repetitions of the same number? There has to be a-better way-and there is. You can enter the number of repetitions right into the DATA lines, coded as a negative number. Then change the READ routine to test for a negative number. When the program reads a negative number, it transfers control to a special subroutine that does the repeating. (Or you could use a STRING$ statement.) Change lines 50 and 90, and add lines 100, 110, and 120 so that your listing looks like this: 20 A$=CHR$(27)+"K"+CHR$(14)+CHR$(0) 30 FOR Y=1 TO 10: RESTORE: LPRINT A$; 40 FOR X=1 TO 14 50 READ N: IF N

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268

like this one, you can just get the program to reread one set of data by
using a RESTORE statement. To see this, change two lines and then
RUN the program:
30
FOR Y=l TO 19: RESTORE: LPRINT A$;
79 NEXT X: NEXT Y
Although the new loop in line 30 repeats the pattern
10
times, you
don’t need
10
repetitions of the DATA statements. The RESTORE
statement in line 30 tells the program to read the same data again. If
you use it carefully, the RESTORE statement can reduce the amount
of data that you need to type in for a graphics pattern.
Repeated DATA numbers
Sometimes you will want to repeat the same DATA number several
times in succession. Here’s a change that gives an instance:
90
DATA 8,28,62,93,28,28,28,28,28,28,93,62,28,8
At the center of this program line you fire the middle three pins-with
CHR$(28)-six times in succession. Six 28s was boring enough to
type. Can you imagine typing the data for 20 or 50 repetitions of the
same number? There has to be a-better way-and there is.
You can enter the number of repetitions right into the DATA lines,
coded as a negative number. Then change the READ routine to test for
a negative number. When the program reads a negative number, it
transfers control to a special subroutine that does the repeating. (Or
you could use a STRING$ statement.)
Change lines 50 and 90, and add lines
100, 110,
and 120 so that your
listing looks like this:
20 A$=CHR$(27)+"K"+CHR$(14)+CHR$(0)
30
FOR Y=1 TO 10: RESTORE: LPRINT A$;
40
FOR X=1 TO
14
50
READ N: IF N<0 THEN 100
60 LPRINT CHR$(N);
70 NEXT X: NEXT Y
156