-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy path18L_Tapetijd_hoofdprogramma.bc2
578 lines (577 loc) · 19.4 KB
/
18L_Tapetijd_hoofdprogramma.bc2
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
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
1000 A=500:GOTO20:REM Tapetijd.
1010 KL=0:PT=0:GOSUB100:GOSUB20770
1020 PRINT
1030 SR$="****************":GOSUB20020:PRINT:PRINT
1040 SR$="*** TAPETIJD ***":GOSUB20020:PRINT:PRINT
1050 SR$="****************":GOSUB20020
1060 PRINT:PRINT:PRINT:PRINT
1070 SR$="Dit programma geeft de relatie aan":GOSUB20020
1080 PRINT:PRINT
1090 SR$="tussen de tellerstand en de":GOSUB20020
1100 PRINT:PRINT
1110 SR$="gebruikte tijd van een recorderband.":GOSUB20020
1120 PRINT:PRINT:PRINT:PRINT
1130 SR$="Indien U toelichting wenst, leest U dan"
1140 GOSUB20020:PRINT:PRINT
1150 SR$="eerst de handleiding."
1160 GOSUB20020:PRINT:PRINT:PRINT
1170 GOSUB20680
1180 GOSUB20720:SR$="Aanwezige gegevens:"
1190 GOSUB20020:PRINT:PRINT
1200 SR$="*******************":GOSUB20150:PRINT:PRINT
1210 FORH=1 TO100
1220 GOSUB20730
1230 IF(H=1) AND(DN=101) THEN1400
1240 IFDN=101 THEN1260
1250 GOTO1280
1260 PRINT:SR$="EINDE DATA.":GOSUB20020:PRINT
1270 H=100:PRINT:PRINT:GOTO1420
1280 GOSUB20740
1290 SR=DN:GOSUB300:DN$=SR$:SR$=""
1300 GOSUB20190
1310 PRINT:SR$="Is dit wat U zoekt? J/N"
1320 GOSUB20020:PRINT:PRINT
1330 SR$="Onthoudt U dan het datanummer a.u.b."
1340 GOSUB20020
1350 GOSUB210:GOSUB100:PRINT
1360 IF(IN$="N") OR(IN$="n") THEN1420
1370 IF(IN$="J") OR(IN$="j") THEN1410
1380 GOSUB20640
1390 GOSUB20020:PRINT:PRINT:GOTO1310
1400 SR$="Geen DATA aanwezig!":GOSUB20020:PRINT
1410 H=100
1420 NEXTH
1430 PRINT:PRINT
1440 SR$="U wilt 1. de aanwezige data verwerken."
1450 GOSUB20020:PRINT:PRINT:GOSUB120
1460 SR$=" 2. nieuwe data aanmaken."
1470 GOSUB20150:PRINT:PRINT:GOSUB120
1480 SR$=" 3. oude data vervangen."
1490 GOSUB20150:PRINT:PRINT:GOSUB120
1500 SR$=" 4. de data nog eens zien."
1510 GOSUB20150:PRINT:PRINT:PRINT:GOSUB120
1520 SR$="Uw keuze: 1, 2, 3, of 4."
1530 GOSUB20150:GOSUB210:AW$=IN$:GOSUB100
1540 PRINT:PRINT:GOSUB120:AW=VAL(AW$)
1550 IFAW=1 THEN1600
1560 IFAW=2 THEN3390
1570 IFAW=3 THEN3230
1580 IFAW=4 THEN1180
1590 IF(AW<1) OR(AW>4) THENPRINT:GOTO1440
1600 SR$="Voer nu het nummer in van de":GOSUB20020
1610 PRINT:PRINT
1620 SR$="door U gewenste data.":GOSUB20020:PRINT:PRINT
1630 INPUTKN$:GOSUB100
1640 KN=VAL(KN$):PRINT
1650 IF(KN<1) OR(KN>100) THENPRINT:PRINT:GOTO1600
1660 GOSUB20720
1670 GOSUB20730
1680 IFDN=101 THENGOSUB20830:GOTO1180
1690 GOSUB20740
1700 IFDN=KN THEN1720:REM berekening en presentatie ****
1710 GOTO1670
1720 P1=3.14159265
1730 X1=2*P1*TH
1740 Y1=P1*TH*(TH-1)
1750 Z1=V*HS
1760 X2=2*P1*TT
1770 Y2=P1*TT*(TT-1)
1780 Z2=V*VS
1790 D0=X1*Y2-X2*Y1
1800 D1=Z1*Y2-Z2*Y1
1810 D2=X1*Z2-X2*Z1
1820 R=D1/D0
1830 D=D2/D0
1840 GOSUB100
1850 PRINT:PRINT:PRINT:PRINT
1860 SR$="Hoeveel karakters per regel wilt U"
1870 GOSUB20020:PRINT:PRINT
1880 SR$="straks printen? (80 / 96 / 137)"
1890 GOSUB20020:PRINT:PRINT
1900 SR$="(Mogelijkheden van Epson FX80.)"
1910 GOSUB20020:PRINT:PRINT
1920 SR$="Eventueel voor Uw printer aanpassen!"
1930 GOSUB20020:PRINT:PRINT
1940 SR$="Uw keuze ....":GOSUB20020:PRINT:PRINT
1950 INPUTKR$:KR=VAL(KR$):GOSUB100
1960 IF(KR<>80) AND(KR<>96) AND(KR<>137) THEN1850
1970 PRINT:PRINT:PRINT:PRINT:PRINT
1980 SR$="Hoe lang is het door U gebruikte"
1990 GOSUB20020:PRINT:PRINT
2000 SR$="papier (in inches)?":GOSUB20020:PRINT:PRINT
2010 INPUTPL$:PL=VAL(PL$):GOSUB100
2020 PRINT:PRINT:PRINT:PRINT:PRINT
2030 SR$="Op hoeveel regels per inch is Uw"
2040 GOSUB20020:PRINT:PRINT
2050 SR$="printer ingesteld?":GOSUB20020:PRINT:PRINT
2060 INPUTRI$:RI=VAL(RI$):GOSUB100
2070 PRINT:PRINT:PRINT:PRINT:PRINT
2080 H1$="U gaat dus "
2090 H2$=" karakters per":
2100 SR$=H1$+KR$+H2$:GOSUB20020:PRINT:PRINT
2110 H1$="regel printen, met "
2120 SR=RI:GOSUB300:RI$=SR$:SR$=""
2130 H2$=" regels"
2140 SR$=H1$+RI$+H2$:GOSUB20020:PRINT:PRINT
2150 H1$="per inch, op papier van "
2160 SR=PL:GOSUB300:PL$=SR$:SR$=""
2170 H2$=" inch"
2180 SR$=H1$+PL$+H2$:GOSUB20020:PRINT:PRINT
2190 SR$="lang. Is dat juist? (J/N)"
2200 GOSUB20020:PRINT:PRINT
2210 GOSUB210:GOSUB100
2220 IF(IN$="J") OR(IN$="j") THEN2250
2230 IF(IN$="N") OR(IN$="n") THEN1860
2240 GOSUB20640:GOSUB20020:GOTO2070
2250 SR$="Meteen printen? J/N ":GOSUB20020:PRINT:PRINT
2260 GOSUB210:GOSUB100:PRINT:PRINT:PRINT
2270 IF(IN$="J") OR(IN$="j") THENIN=2:GOTO3120
2280 IF(IN$="N") OR(IN$="n") THEN2310
2290 GOSUB20640
2300 PRINT:PRINT:GOTO2250
2310 LK=2:PRINT"U wilt op het scherm:":PRINT
2320 PRINT"1. Een (1) lange kolom of":PRINT:PRINT
2330 PRINT"2. De kolommen regel voor regel":PRINT
2340 PRINT" zoals ze op papier verschijnen,":PRINT
2350 PRINT" d.w.z. samengevouwen over 2 of meer":PRINT
2360 PRINT" regels.":PRINT:PRINT
2370 PRINT"Uw keuze (1 of 2).":GOSUB210:GOSUB100
2380 LK=VAL(IN$):IF(LK<1) OR(LK>2) THEN2310
2390 AR=INT(RI*PL-8)
2400 AK=INT(KR/14):SG=INT(BM/(AK*AR)+0.999)
2410 W=AK:FORH=1 TOW:EK=H*AR*SG
2420 IFEK>=BM THENAK=H:H=W
2430 NEXTH
2440 TR=INT((KR-AK*12)/(AK+1))
2450 AV$=""
2460 FORH=1 TOTR:AV$=AV$+" ":NEXTH
2470 TR$=AV$
2480 RR=KR-AK*12-(AK+1)*TR
2490 KL=TR+INT(RR/2+0.5)
2500 IF(KR=80) AND(KL<4) THENKL=4:GOTO2530
2510 IF(KR=96) AND(KL<5) THENKL=5:GOTO2530
2520 IF(KR=137) AND(KL<6) THENKL=6
2530 KL$=""
2540 FORH=1 TOKL:KL$=KL$+" ":NEXTH
2550 GOSUB20410:GOSUB20510:PRINT
2560 IFLK=1 THEN2580
2570 FORBT=SG TOAR*SG STEPSG:GOTO2590
2580 FORBT=SG TOAK*AR*SG STEPSG:GOTO2600
2590 FORA=1 TOAK
2600 T0=2*P1*BT*R+P1*D*BT*(BT-1)
2610 T=INT(T0/V+0.5)
2620 B=INT(T/3600)
2630 C=INT((T-B*3600)/60)
2640 E=(T-B*3600)-INT((T-B*3600)/60)*60
2650 IFBT<10 THENH1$=" ":GOTO2690
2660 IF(BT>=10) AND(BT<100) THENH1$=" ":GOTO2690
2670 IF(BT>=100) AND(BT<1000) THENH1$=" ":GOTO2690
2680 H1$=""
2690 SR=BT:GOSUB300:H$=H$+H1$+SR$+" "
2700 SR=B:GOSUB300:H$=H$+SR$+" "
2710 IFC<10 THENH1$="0":GOTO2730
2720 H1$=""
2730 SR=C:GOSUB300:H$=H$+H1$+SR$+" "
2740 IFE<10 THENH1$="0":GOTO2770
2750 H1$=""
2760 IFA=AK THENTR$=""
2770 SR=E:GOSUB300:H$=H$+H1$+SR$+TR$
2780 IFLK=1 THEN2810
2790 BT=BT+SG*AR
2800 NEXTA
2810 SR$=KL$+H$:PRINTSR$
2820 IFPT=1 THENGOSUB350:GOSUB360
2830 H$="":TR$=AV$
2840 IFLK=1 THEN2860
2850 BT=BT-AK*SG*AR:GOTO2910
2860 IF(BT/(SG*AR))-INT(BT/(SG*AR))<0.0001 THEN2880
2865 GOSUB120:IFVE=21 THEN2890
2870 GOTO2910
2880 PRINT:PRINT"Einde van kolom: ";INT(BT/(SG*AR))
2890 IFBT=AK*SG*AR THEN2910
2900 PRINT:GOSUB20680:PRINT
2910 NEXTBT
2920 PRINT:IFPT=1 THENPT=0
2930 PRINT:PRINT:GOSUB20680
2940 PRINT:PRINT:PRINT:PRINT
2950 SR$="Wilt U de tabel 1. nog eens zien."
2960 GOSUB20020:PRINT
2970 SR$=" 2. nu printen."
2980 GOSUB20150:PRINT
2990 SR$=" of wilt U 3. opnieuw starten."
3000 GOSUB20150:PRINT
3010 SR$=" 4. andere opmaak."
3020 GOSUB20150:PRINT
3030 SR$=" 5. eindigen."
3040 GOSUB20150:PRINT:PRINT:VE=VE+1
3050 SR$="Uw keuze 1, 2, 3, 4 of 5."
3060 GOSUB20020:PRINT:PRINT
3070 GOSUB210:GOSUB100:IN=VAL(IN$)
3080 IF(IN<1) OR(IN>5) THEN2950
3090 IFIN=1 THEN2390
3100 IFIN=2 THEN3120
3110 GOTO3190
3120 SR$="Dan nu eerst de PRINTER AANZETTEN!"
3130 GOSUB20020:PRINT:PRINT
3140 SR$="En bovenzijde papier voor de printkop!"
3150 GOSUB20020:PRINT:PRINT:GOSUB20680
3160 IF(IN=2) AND(KR=80) THENGOSUB21010:PT=1:GOTO2390
3170 IF(IN=2) AND(KR=96) THENGOSUB21040:PT=1:GOTO2390
3180 IF(IN=2) AND(KR=137) THENGOSUB21070:PT=1:GOTO2390
3190 IFIN=3 THEN1020
3200 IFIN=4 THEN1840
3210 END
3220 REM data vervangen. ****
3230 SR$="Wat is het datanummer van de"
3240 GOSUB20020:PRINT:PRINT
3250 SR$="te vervangen data?":GOSUB20020:PRINT:PRINT
3260 SR$="Als U dat niet meer weet, tikt U"
3270 GOSUB20020:PRINT:PRINT
3280 SR$="dan een 0 (nul) in.":GOSUB20020:PRINT:PRINT
3290 INPUTKN$:KN=VAL(KN$):GOSUB100:PRINT:PRINT:PRINT
3300 IF(KN<0) OR(KN>100) THENPRINT:PRINT:GOTO3230
3310 IFKN=0 THEN1180
3320 GOSUB20720
3330 GOSUB20730
3340 IFDN=101 THENGOSUB20830:GOTO3230
3350 GOSUB20740
3360 IFDN=KN THENRN=RN-5:GOTO3440
3370 GOTO3330
3380 REM nieuwe data aanmaken. ****
3390 GOSUB20720
3400 GOSUB20730:IFDN<>101 THEN3420
3410 GOTO3430
3420 GOSUB20740:GOTO3400
3430 DN=INT((RN-24990)/10)
3440 GOSUB100:PRINT:PRINT:PRINT
3450 IFAW=2 THEN3510
3460 PRINT:PRINT:SR$=RG$:GOSUB20020:PRINT
3470 GOSUB20350
3480 IFIN$="J" THENPRINT:PRINT:GOTO3510
3490 IF(IN$="N") OR(IN$="n") THEN3540
3500 PRINT:GOSUB20640:PRINT:GOTO3460
3510 SR$="De recordergegevens zijn:"
3520 GOSUB20020:PRINT:PRINT
3530 INPUTRG$:PRINT:PRINT
3540 IFAW=2 THEN3600
3550 PRINT:PRINT:SR$=TG$:GOSUB20020:PRINT
3560 GOSUB20350
3570 IFIN$="J" THENPRINT:PRINT:GOTO3600
3580 IF(IN$="N") OR(IN$="n") THEN3620
3590 PRINT:GOSUB20640:PRINT:GOTO3550
3600 SR$="De tapegegevens zijn:":GOSUB20020:PRINT:PRINT
3610 INPUTTG$:PRINT:PRINT
3620 IFAW=2 THEN3690
3630 PRINT:PRINT:H$="De bandsnelheid was ":SR=V:GOSUB300
3640 SR$=H$+SR$+" cm/s.":GOSUB20020:PRINT
3650 GOSUB20350
3660 IFIN$="J" THENPRINT:PRINT:GOTO3690
3670 IF(IN$="N") OR(IN$="n") THEN3720
3680 PRINT:GOSUB20640:PRINT:GOTO3630
3690 SR$="De bandsnelheid is: (in cm/sec.)"
3700 GOSUB20020:PRINT:PRINT
3710 INPUTV$:V=VAL(V$):GOSUB100:PRINT:PRINT
3720 SR$="De kop van het formulier gaat er nu"
3730 GOSUB20020:PRINT:PRINT
3740 SR$="als volgt uitzien:":GOSUB20020:PRINT:PRINT
3750 GOSUB20410:PRINT:PRINT
3760 SR$="Is dat naar Uw zin? J/N ":GOSUB20020:PRINT:PRINT
3770 GOSUB210:GOSUB100:PRINT:PRINT:
3780 IF(IN$="J") OR(IN$="j") THEN3810
3790 IF(IN$="N") OR(IN$="n") THENAW=3:GOTO3440
3800 GOSUB20640:PRINT:PRINT:GOTO3760
3810 AW=VAL(AW$)
3820 GOSUB100:IFAW=2 THEN3890
3830 H$="De halve tijd was ":SR=HS:GOSUB300
3840 SR$=H$+SR$+" sec.":GOSUB20020:PRINT
3850 GOSUB20350
3860 IFIN$="J" THENPRINT:PRINT:GOTO3890
3870 IF(IN$="N") OR(IN$="n") THEN3980
3880 PRINT:GOSUB20640:PRINT:GOTO3830
3890 SR$="Wat is de halve speeltijd (precies)?"
3900 GOSUB20020:PRINT:PRINT
3910 SR$="Aantal uren: ":GOSUB20150
3920 INPUTU1$:PRINT:PRINT
3930 SR$="Aantal minuten: ":GOSUB20150
3940 INPUTM1$:PRINT:PRINT
3950 SR$="Aantal seconden: ":GOSUB20150
3960 INPUTS1$:GOSUB100:PRINT:PRINT
3970 HS=VAL(U1$)*3600+VAL(M1$)*60+VAL(S1$)
3980 IFAW=2 THEN4050
3990 H$="De tellerstand halverwege was ":SR=TH:GOSUB300
4000 SR$=H$+SR$:GOSUB20020:PRINT
4010 GOSUB20350
4020 IFIN$="J" THENPRINT:PRINT:GOTO4050
4030 IF(IN$="N") OR(IN$="n") THEN4080
4040 PRINT:GOSUB20640:PRINT:GOTO3990
4050 SR$="De bijbehorende 'halve' tellerstand is: "
4060 GOSUB20020:PRINT:PRINT
4070 INPUTTH:GOSUB100:PRINT:PRINT
4080 IFAW=2 THEN4150
4090 H$="De 'volle' speeltijd was ":SR=VS:GOSUB300
4100 SR$=H$+SR$+" sec.":GOSUB20020:PRINT
4110 GOSUB20350
4120 IFIN$="J" THENPRINT:PRINT:GOTO4150
4130 IF(IN$="N") OR(IN$="n") THEN4230
4140 PRINT:GOSUB20640:PRINT:GOTO4090
4150 SR$="Wat is de volle speeltijd (precies)?":GOSUB20020
4160 PRINT:PRINT:SR$="Aantal uren: ":GOSUB20150
4170 INPUTU2$:PRINT
4180 SR$="Aantal minuten: ":GOSUB20150
4190 INPUTM2$:PRINT
4200 SR$="Aantal seconden: ":GOSUB20150
4210 INPUTS2$:GOSUB100:PRINT:PRINT
4220 VS=VAL(U2$)*3600+VAL(M2$)*60+VAL(S2$)
4230 IFAW=2 THEN4300
4240 H$="De 'volle' tellerstand was ":SR=TT:GOSUB300
4250 SR$=H$+SR$:GOSUB20020:PRINT
4260 GOSUB20350
4270 IFIN$="J" THENPRINT:PRINT:GOTO4300
4280 IF(IN$="N") OR(IN$="n") THEN4330
4290 PRINT:GOSUB20640:PRINT:GOTO4240
4300 SR$="De bijbehorende 'volle' tellerstand is: "
4310 GOSUB20020:PRINT:PRINT
4320 INPUTTT:GOSUB100:PRINT:PRINT
4330 IFAW=2 THEN4400
4340 H$="De maximale tellerstand was ":SR=BM:GOSUB300
4350 SR$=H$+SR$:GOSUB20020:PRINT
4360 GOSUB20350
4370 IFIN$="J" THENPRINT:PRINT:GOTO4400
4380 IF(IN$="N") OR(IN$="n") THEN4450
4390 PRINT:GOSUB20640:PRINT:GOTO4340
4400 SR$="Welke tellerstand moet aan het eind van"
4410 GOSUB20020:PRINT:PRINT
4420 SR$="de tabellen minstens worden bereikt?"
4430 GOSUB20020:PRINT:PRINT
4440 INPUTBM$:BM=VAL(BM$)
4450 GOSUB100:PRINT:PRINT:PRINT
4460 PRINT"De halve speeltijd is: ";HS;" seconden.":PRINT
4470 PRINT"De bijbehorende tellerstand is: ";TH:PRINT
4480 PRINT"De hele speeltijd is: ";VS;" seconden.":PRINT
4490 PRINT"De bijbehorende tellerstand is: ";TT:PRINT
4500 PRINT"De tellerstand ";BM;" moet tenminste":PRINT
4510 SR$="worden gehaald.":GOSUB20020:PRINT:PRINT
4520 SR$="Is dit juist? J/N ":GOSUB20020:PRINT:PRINT
4530 GOSUB210:GOSUB100:PRINT:PRINT:PRINT
4540 IF(IN$="J") OR(IN$="j") THEN4570
4550 IF(IN$="N") OR(IN$="n") THENAW=3:GOTO3820
4560 GOSUB20640:GOTO4520
4570 SR$="COPIEER nu de 6 volgende regels, elk"
4580 GOSUB20020:PRINT:PRINT
4590 SR$="gevolgd door >RETURN<":GOSUB20020:PRINT:PRINT
4600 PRINT;" ";RN;"DATA ";DN;",";CHR$(34);RG$;CHR$(34)
4610 PRINT
4620 PRINT;" ";RN+2;"DATA ";V;",";CHR$(34);TG$;CHR$(34)
4630 PRINT
4640 PRINT;" ";RN+4;"DATA ";HS;",";TH;",";VS
4650 PRINT
4660 PRINT;" ";RN+6;"DATA ";TT;",";BM
4670 PRINT
4680 PRINT;" ";RN+8;"REM":PRINT
4690 PRINT;" RUN"
4700 END
20000 REM
20010 REM centreer + printsubr. ****
20020 IFPT=1 THEN20040
20030 SH=INT((SB-LEN(SR$))/2):GOTO20050
20040 SH=INT((KR-LEN(SR$))/2)
20050 IFSH<=1 THENSH=0
20060 GOSUB120:HO=SH:GOSUB110:PRINTSR$;
20070 IFPT=1 THEN20090
20080 GOTO20120
20090 SH$=""
20100 FORH=1 TOSH:SH$=SH$+" ":NEXTH
20110 SR$=SH$+SR$:GOSUB350
20120 SR$="":RETURN
20130 REM
20140 REM printen met vaste marge.****
20150 GOSUB120:HO=SH:GOSUB110:PRINTSR$;
20160 RETURN
20170 REM
20180 REM subr. aanwezige data.****
20190 GOSUB100:PRINT:PRINT
20200 SR$="Aanwezige gegevens:":GOSUB20020
20210 PRINT:PRINT
20220 SR$="*******************":GOSUB20150:PRINT:PRINT
20230 PRINT"Datanummer: ";DN:PRINT
20240 PRINT"Recorder: ";RG$
20250 PRINT"Tape: ";TG$
20260 PRINT"Tape-snelheid: ";V;" cm/s."
20270 PRINT"Halve speeltijd: ";HS;" sec."
20280 PRINT"Bijbeh. tellerst.: ";TH
20290 PRINT"Volle speeltijd: ";VS;" sec."
20300 PRINT"Bijbeh. tellerst.: ";TT
20310 PRINT"Max. tellerstand: ";BM:PRINT
20320 RETURN
20330 REM
20340 REM subr. veranderen J/N? ****
20350 PRINT:PRINT:SR$="Veranderen? (J/N)":GOSUB20020
20360 GOSUB210:GOSUB100
20370 IFIN$="j" THENIN$="J"
20380 PRINT:PRINT:RETURN
20390 REM
20400 REM subr. kop formulier. ****
20410 H1$="Relatie teller-tijd bij "
20420 SR$="":SR=V:GOSUB300:H2$=" cm./sec."
20430 SR$=H1$+SR$+H2$:GOSUB20020:PRINT:PRINT
20440 IFPT=1 THENGOSUB360:GOSUB360
20450 SR$=RG$+" "+"met "+TG$:GOSUB20020:PRINT:PRINT
20460 IFPT=1 THENGOSUB360:GOSUB360
20470 H1$="":H2$=""
20480 RETURN
20490 REM
20500 REM subr. kop tabellen. ****
20510 H1$=AV$:SR$=""
20520 SR$=KL$+SR$
20530 FORH=1 TOAK
20540 IFH=AK THENH1$=""
20550 SR$=SR$+"Tel. U.M. S."+H1$
20560 IFLK=1 THENH=AK
20570 NEXTH
20580 PRINTSR$
20590 IFPT=1 THENGOSUB350:GOSUB360:GOSUB360
20600 H1$=""
20610 RETURN
20620 REM
20630 REM subroutine "Ja-Nee" ****
20640 SR$="U dient met ja of nee te antwoorden!"
20650 GOSUB20020:PRINT:PRINT:RETURN
20660 REM
20670 REM subr. Toets.. ****
20680 SR$="Toets indrukken voor vervolg...":GOSUB20020
20690 GOSUB210:GOSUB100:RETURN
20700 REM
20710 REM subr.s data inlezen. ****
20720 RESTORE:RN=24995:RETURN
20730 RN=RN+5:READDN,RG$,V,TG$:RETURN
20740 RN=RN+5:READHS,TH,VS,TT,BM:RETURN
20750 REM
20760 REM subr. schermbreedte bepalen. ****
20770 H=0:GOSUB120:HO=0
20780 GOSUB110:PRINT" ";:H=H+1:GOSUB120
20790 IFH=HO THEN20780
20800 SB=H:RETURN
20810 REM
20820 REM subr. datanr. niet aanwezig! ****
20830 SR$="Dit datanummer is niet aanwezig!"
20840 GOSUB20020:PRINT:PRINT
20850 SR$="We gaan nog even terug!"
20860 GOSUB20020:PRINT:PRINT
20870 GOSUB20680
20880 RETURN
20890 REM
20900 REM Deze routines zetten de printer aan (VDU2)
20910 REM en uit (VDU3) en geven de besturingscommando's
20920 REM voor: (27,64) normering
20930 REM (27,69) vetschrift
20940 REM (27,77) elite-schrift
20950 REM (27,71) double strike
20960 REM (27,15) smalschrift.
20970 REM dit alles voor de combinatie
20980 REM Epson FX-80 en BBC-computer.
20990 REM
21000 REM subr. 80 kar. printen. ****
21010 REM VDU 2,1,27,1,64,1,27,1,69:VDU3:RETURN
21020 REM
21030 REM subr. 96 kar. printen. ****
21040 REM VDU 2,1,27,1,64,1,27,1,77,1,27,1,71:VDU3:RETURN
21050 REM
21060 REM subr. 137 kar. printen. ****
21070 REM VDU 2,1,27,1,64,1,27,1,15,1,27,1,71:VDU3:RETURN
21080 RETURN
21090 REM Voor Uw printer de comman-
21100 REM do's aanpassen! En in voor-
21110 REM komende gevallen ook voor
21120 REM Uw computer!
21130 REM Er zijn computers die moeten
21140 REM weten hoeveel karakters U
21150 REM per regel gaat printen!
21160 REM
21170 REM
25000 DATA 1,"Videorecorder merk A"
25002 DATA 2.339,"Merk B 3-uurs tape"
25004 DATA 5400,1201.8,10800
25006 DATA 1928.5,1980
25008 REM
25010 DATA 2,"Cassetterecorder merk C"
25012 DATA 4.75,"Merk D cassette C-60"
25014 DATA 900,190.5,1800
25016 DATA 457,500
25018 REM
25988 REM
29990 DATA 101," ",3," "
30000 REM
30010 REM Gebruikte variabelen:
30020 REM
30030 REM A - "loop"-variabele voor
30040 REM plaatsing kolommen.
30050 REM AK - aantal kolommen.
30060 REM AR - aantal regels beschikbaar
30070 REM voor de getallenkolommen.
30080 REM AV$ - hulpstring (=TR$).
30090 REM AW($) - antwoord dataverwerking.
30100 REM B - aantal uren (in de berekening).
30110 REM BM($) - bandtellerstand maximaal.
30120 REM BT - bandtellerstand.
30130 REM C - aantal minuten (in de berekening).
30140 REM D - fictieve dikte van de tape.
30150 REM D0,D1,D2- determinanten.
30160 REM DN($) - datanummer.
30170 REM E - aantal seconden (in de berekening).
30180 REM EK - waarde aan einde van een kolom.
30190 REM H - "loop"-variabele.
30200 REM H$ - hulpstring voor formeren v.d. tekst.
30210 REM H1$ - (en H2$) hulpstring om SR$ te vullen.
30220 REM HO - (hulp)variabele opmeten schermbreedte
30230 REM - en positie op de regel.
30240 REM HS - halve speeltijd (in seconden).
30250 REM IN($) - antwoord(string) voor algemeen gebruik.
30260 REM KL($) - kantlijn.
30270 REM KN($) - keuzenummer (van de gekozen data).
30280 REM KR($) - aantal karakters per regel.
30285 REM LK (1,2)- 1 kolom of meer.
30290 REM M1$ - (M2$) aantal minuten speeltijd.
30300 REM P1 - 3.14159265
30310 REM PL($) - paginalengte in inches.
30320 REM PT(0,1) - al of niet printen.
30330 REM R - fictieve straal tapehaspel (in cm).
30340 REM RG$ - recordergegevens.
30350 REM RI($) - aantal regels/inch.
30360 REM RN - regelnummer.
30370 REM RR - reserve ruimte (bij
30380 REM de berekening van TR ontstaan).
30390 REM S1$ - S2$ aantal seconden speeltijd.
30400 REM SB - schermbreedte.
30410 REM SG - step-grootte.
30420 REM SH - hulpvar. voor bepalen aantal spaties.
30430 REM SR($) - (hulp)string voor formeren
30440 REM - van (tekst)string.
30450 REM T - berekende (verbruikte band-) tijd.
30460 REM T0 - (T nul) hulpvar. bij berekening van T.
30470 REM TG$ - tapegegevens.
30480 REM TH - tellerstand halve speeltijd.
30490 REM TR - tussenruimte tussen de kolommen.
30500 REM (aantal spaties).
30510 REM TT - tellerstand totale speeltijd.
30520 REM U1$ - (U2$) aantal uren speeltijd.
30530 REM V($) - tape-snelheid (in cm/sec.).
30540 REM VE - regelnr. (0 t/m 39).
30550 REM VS - volle speeltijd (in seconden).
30560 REM W - hulpvariabele bij berekening van AK.
30570 REM X en Y - (1,2) co-efficienten
30575 REM Z - (1,2) bekende term
30580 REM - in vergelijking.
30590 REM
30600 REM C.W.Verhagen
30610 REM Travertin 1
30620 REM 8084 EG 't Harde.
30630 REM The Netherlands.
30640 REM
30650 REM 21 - 08 - 1986.
30660 REM Gemaakt op BBC-B.
30670 REM
30680 REM Omgezet naar Basicode-2
30690 REM 29 - 11 - 1986.
30700 REM
30710 REM Copyright:
30720 REM N.O.S. Hilversum.