-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy path21_Hoofdrekenen.bc2
More file actions
617 lines (616 loc) · 24.9 KB
/
21_Hoofdrekenen.bc2
File metadata and controls
617 lines (616 loc) · 24.9 KB
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
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
1000 A=2000:GOTO20:REM HOOFDREKENEN
1010 REM*******************************
1020 REM** VASTE VARIABELEN **
1030 REM*******************************
1050 C=0:Q=0:R=0:V=0:VD=0
1060 K$="+-x:"
1070 TS$="----------------------------------------"
1080 S1$=" "
1090 S3$=S1$+S1$+S1$:S6$=S3$+S3$
1100 KV$=" HOOFDREKENEN "+S1$
1110 VT$="????????????????????????????????????????"
1120 VR$=VT$+VT$+VT$+VT$+VT$+S1$
1130 KB$="Kies eerst de vorm van de uitkomst: "+S1$
1140 BV$="1) 2) 3) 4) 5) 6) 7) "
1150 BV$=BV$+" x l x l xx l l x l x l xx"
1160 BV$=BV$+" - l -- l -- l x l x- l x-- l x--"
1170 BV$=BV$+" x l xx l xx l l x l xx l xx"
1180 BV$=BV$+" l l l l l l "+TS$
1190 REM*******************************
1200 REM** MENU **
1210 REM*******************************
1220 GOSUB100:HO=0:VE=1:GOSUB110
1230 PRINT"MENU:":PRINT"-----":PRINTS3$
1240 PRINT"Algemene informatie...................1 ";S3$;
1250 PRINT"Start hoofdrekenen met zakgeld........2 ";S3$;
1260 PRINT"Start hoofdrekenen zonder zakgeld.....3 ";S3$;
1270 PRINT"Stoppen...............................4 ";S3$;
1280 PRINT" << 1 - 4 >>";
1290 GOSUB260:GOSUB200:IFIN$="" THEN1290
1295 PK=VAL(IN$):IFPK=4 THENEND
1300 IF(PK<1) OR(PK>3) THEN1290
1310 GOSUB100:IFPK>1 THEN2930
1320 REM*******************************
1330 REM** INFORMATIE **
1340 REM*******************************
1350 PRINT"Dit programma is bedoeld voor een ieder ";
1360 PRINT"die zijn/haar (hoofd-)rekenvaardigheid ";
1370 PRINT"wenst te toetsen of te verbeteren, maar ";
1380 PRINT"speciaal voor kinderen vanaf de hoogste ";
1390 PRINT"groepen van de basisschool. ";S1$;
1400 PRINT"Met name voor die laatste categorie ";
1410 PRINT"worden onder meer aanwijzingen inzake de";
1420 PRINT"rekentechnieken gegeven, daar waar de ";
1430 PRINT"sommen fout worden uitgewerkt. ";S1$;
1440 PRINT"Ook is voor die groep de mogelijkheid ";
1450 PRINT"opgenomen om een aanvulling op het zak- ";
1460 PRINT"geld te verdienen, dit ter stimulering ";
1470 PRINT"van een regelmatige training. ";S1$;
1480 PRINT"Desgewenst kan dit laatste programma- ";
1490 PRINT"onderdeel worden verwijderd. ";
1500 PRINT"Zie hiervoor de programmeursinformatie ";
1510 PRINT"in de listing v.a. regelnr. 30000. ";
1520 GOSUB23030
1530 PRINT"Voor elke som kunnen 5 punten worden ";
1540 PRINT"behaald. ";S1$;
1550 PRINT"Een fout levert 0 punten op."
1560 PRINT"Het programma kan bovendien niet verder ";
1570 PRINT"worden afgewerkt voordat elke som goed ";
1580 PRINT"is opgelost. ";S1$;
1600 PRINT"Zakgeldberekening: ";S1$;
1610 PRINT"98 punten of meer....fl. 1.00 ";
1620 PRINT"90-97 punten.........fl. 0.75 ";
1630 PRINT"80-89 punten.........fl. 0.50 ";
1640 PRINT"70-79 punten.........fl. 0.25 ";S1$;
1650 PRINT"Bovendien bij: ";S1$;
1660 PRINT" 0 fouten..........fl. 1.00";
1670 PRINT" 1 fout............fl. 0.75";
1680 PRINT" 2 fouten..........fl. 0.50";
1690 PRINT" 3 fouten..........fl. 0.25";
1700 IFPK=2 THENRETURN
1710 GOSUB23030
1720 PRINT"U komt de volgende sommen tegen: ";S3$;
1730 PRINT"-optellen/aftrekken (combinatie); ";S1$;
1740 PRINT"-vermenigvuldigen; ";S1$;
1750 PRINT"-delen; ";S1$;
1760 PRINT"-optellen, aftrekken, vermenigvuldigen ";
1770 PRINT" en delen van breuken; ";S1$;
1780 PRINT"-inhoudsberekeningen; ";S1$;
1790 PRINT"-renteberekeningen. ";S1$;
1800 GOSUB23030
1810 PRINT"Bij de gecombineerde optel-/aftreksommen";
1820 PRINT"kan de uitkomst zowel positief als nega-";
1830 PRINT"tief zijn. Vergeet in het laatste geval ";
1840 PRINT"niet het negatief-teken. ";
1850 PRINT"De maximale grootte van de getallen is ";
1860 PRINT"1000. De uitkomst kan groter zijn. ";S3$;
1870 PRINT"Bij vermenigvuldigingen zijn de deelne- ";
1880 PRINT"mende getallen niet groter dan 20. ";S3$;
1890 PRINT"Delingen leveren als resultaat steeds ";
1900 PRINT"een heel getal beneden 21 op. ";S1$;
1910 GOSUB23030
1920 PRINT"Bij breuken dient voordat het resutaat ";
1930 PRINT"wordt ingevuld te worden aangegeven hoe ";
1940 PRINT"dat er uit komt te zien. ";
1950 PRINT"De ingetikte cyfers van de uitkomst ";
1960 PRINT"komen dan vanzelf op de juiste plaats te";
1970 PRINT"staan. ";S1$;
1980 PRINTTS$;BV$;
1990 PRINT" 4 x";
2000 PRINT" 2-- komt in dat geval overeen met: x--";
2010 PRINT" 15 xx";S1$;
2020 PRINT"Ingevuld moet worden het cyfer 6. ";
2030 GOSUB23030
2040 PRINT"Inhoudsberekeningen dienen afwisselend ";
2050 PRINT"in cm3 en dm3 te worden gemaakt. ";
2060 PRINT"Daar waar in de opgaven centimeters en ";
2070 PRINT"decimeters door elkaar worden gebruikt ";
2080 PRINT"wordt de inhoud steeds in cm3 gevraagd. ";S1$;
2090 PRINT"Renteberekeningen tenslotte zijn zo ";
2100 PRINT"samengesteld, dat de uitkomst nooit ";
2110 PRINT"kleiner is dan hele centen (in eenheden ";
2120 PRINT"van 25). ";TS$;
2130 PRINT"De uitwerking van de sommen dient binnen";
2140 PRINT"ongeveer 20 seconden plaats te vinden. ";
2150 PRINT"Wordt deze tijd overschreden, dan loopt ";
2160 PRINT"het te behalen aantal punten voor de be-";
2170 PRINT"treffende som terug. ";S1$;
2180 PRINT"Andere dan commodore-64 computers zullen";
2190 PRINT"mogelijk het getal .045 in regel 20130 ";
2200 PRINT"moeten aanpassen om de rekentijd op 20 ";
2210 PRINT"seconden te bepalen. ";S1$;
2220 PRINT"Tijd tekort: verlagen; ";
2230 PRINT"tijd teveel: verhogen.";
2240 GOSUB23030:GOTO1220
2900 REM*******************************
2910 REM** PROGRAMMA-START **
2920 REM*******************************
2930 GOSUB100:HO=12:VE=10:GOSUB110
2940 PRINT"Corrigeren alleen":VE=12:GOSUB110
2950 PRINT" met de letter:":VE=15:GOSUB110
2960 PRINT" 'C'"
2970 FORXX=0 TO2500:NEXTXX
2980 SO=0:FO=0:PA=0:F=0
2990 GOSUB100:PRINTKV$;VR$;:GOTO20310
3000 REM*******************************
3010 REM** WISSELING-SOMMEN **
3020 REM*******************************
3030 GOSUB260:WS=INT(RV*7)+1
3040 T=0:HP=0
3050 ONWS GOTO3130,3330,3430,3530,3530,5030,5530
3100 REM*******************************
3110 REM** OPTELLEN/AFTREKKEN **
3120 REM*******************************
3130 GOSUB260:X=INT(RV*1000)+1
3140 GOSUB260:Y=INT(RV*1000)+1
3150 GOSUB260:Z=INT(RV*1000)+1
3160 HO=14:VE=14:GOSUB110
3170 PRINTX;"+";Y;"-";Z;"= ?";
3180 GOSUB20030:IFC THEN3180
3190 IFVAL(U$)=X+Y-Z THEN20230
3200 GOSUB20530:GOTO3160
3300 REM*******************************
3310 REM** VERMENIGVULDIGEN **
3320 REM*******************************
3330 GOSUB260:X=INT(RV*20)+1
3340 GOSUB260:Y=INT(RV*20)+1
3350 HO=14:VE=14:GOSUB110
3360 PRINTX;"*";Y;"= ?";
3370 GOSUB20030:IFC THEN3370
3380 IFVAL(U$)=X*Y THEN20230
3390 GOSUB20530:GOTO3350
3400 REM*******************************
3410 REM** DELEN **
3420 REM*******************************
3430 GOSUB260:Y=INT(RV*20)+1
3440 GOSUB260:X=INT((RV*20)+1)*Y
3450 HO=14:VE=14:GOSUB110
3460 PRINTX;":";Y;"= ?";
3470 GOSUB20030:IFC THEN3470
3480 IFVAL(U$)=X/Y THEN20230
3490 GOSUB20530:GOTO3450
3500 REM*******************************
3510 REM** BREUKEN **
3520 REM*******************************
3530 GC=0:HP=9
3540 GOSUB260:TA=INT(RV*4)+1
3550 GOSUB260:NA=INT(RV*8)+1
3560 GOSUB260:TB=INT(RV*4)+1
3570 GOSUB260:NB=INT(RV*8)+1
3580 IF(TA>NA) THENH=NA:NA=TA:TA=H
3590 IF(TB>NB) THENH=NB:NB=TB:TB=H
3610 REM********SOMKIEZER**************
3630 GOSUB260:K=INT(RV*4)+1
3640 ONK GOTO3680,3730,3800,3840
3660 REM********OPTELLEN***************
3680 TC=TA*NB+TB*NA:NC=NA*NB:GOTO4000
3710 REM********AFTREKKEN**************
3730 IFTA/NA<TB/NB THENH=TA:TA=TB:TB=H:H=NA:NA=NB:NB=H
3740 TC=TA*NB-TB*NA:NC=NA*NB
3750 IFTC=0 THEN3540
3760 GOTO4000
3780 REM********VERMENIGVULDIGEN*******
3800 TC=TA*TB:NC=NA*NB:GOTO4000
3820 REM********DELEN******************
3840 TC=TA*NB:NC=NA*TB
3990 REM********VEREENVOUDIGEN*********
4000 GC=INT(TC/NC):TC=TC-GC*NC
4010 FORXX=1 TO4
4020 P$=MID$("2357",XX,1):X=VAL(P$)
4030 Y=((TC/X=INT(TC/X)) AND(NC/X=INT(NC/X)))
4040 IFY THENTC=TC/X:NC=NC/X:GOTO4030
4050 NEXTXX
4080 REM********SOMOPBOUW**************
4090 H$=MID$(K$,K,1)
4100 HO=0:VE=13:GOSUB110
4110 SR=TA:GOSUB300:PRINTSR$;
4120 SR=TB:GOSUB300:PRINT" ";SR$
4130 VE=14:GOSUB110:PRINT"- ";H$;" - = < 1 - 7 >?"
4150 SR=NA:GOSUB300:VE=15:GOSUB110:PRINTSR$;
4160 SR=NB:GOSUB300:PRINT" ";SR$;
4200 REM********KIEZEN BREUKVORM*******
4210 HO=0:VE=0:GOSUB110:PRINTKB$;BV$
4220 GOSUB20130:V=VAL(IN$)
4230 IF(V<1) OR(V>7) THEN4220
4240 GOSUB110:PRINTKV$;VR$;
4250 REM********OPBOUW RESULTAAT*******
4260 X=0:Y=0:Z=0:HO=HP:VE=14:GOSUB110
4270 PRINT" ":GOSUB110
4280 R=(V<>3):Q=(V<>4)
4290 IFV>3 THENPRINT"?";:IFV=4 THEN4360
4320 IF(V=1) OR(V=5) THENPRINT"-":GOTO4340
4330 PRINT"--"
4340 IF(V=1) OR(V=3) THENVE=13:GOSUB110:PRINT"?"
4350 IFV=2 THENVE=13:HO=HP+1:GOSUB110:PRINT"?"
4360 GOSUB20040:R=(V<>7):IFC THEN4210
4370 IFV>3 THENX=VAL(U$):IFV=4 THEN4600
4380 IFV<4 THENY=VAL(U$):GOTO4430
4390 IF(V=5) OR(V=7) THENHO=HP+1:VE=13:GOSUB110:PRINT"?"
4400 IFV=6 THENHO=HP+2:VE=13:GOSUB110:PRINT"?"
4410 GOSUB20040:IFC THEN4210
4420 Y=VAL(U$)
4430 Q=0:IFV<4 THENHO=HP:VE=15:GOSUB110
4440 IFV>4 THENHO=HP+1:VE=15:GOSUB110
4450 PRINT"?":R=((V=1) OR(V=5)):GOSUB20040:IFC THEN4200
4470 Z=VAL(U$)
4600 REM********VERGELIJK UITKOMST*****
4610 IFZ=0 THENZ=1
4620 IF(GC+TC/NC=X+Y/Z) AND(Y=TC) THEN20230
4630 IFGC+TC/NC=X+Y/Z THEN4710
4640 GOSUB20530:HP=9:GOTO4100
4700 REM********VEREENV.-OPDRACHT******
4710 IFHP=29 THEN4640
4720 HP=29:HO=14:VE=14:GOSUB110
4730 PRINT"vereenvoudigd: < 1 - 7 >?"
4740 GOTO4210
5000 REM*******************************
5010 REM** INHOUD-BEREKENEN **
5020 REM*******************************
5030 GOSUB260:ML=INT(RV*2)
5040 GOSUB260:LE=INT(RV*9+1)/(10^ML)
5050 GOSUB260:MB=INT(RV*2)
5060 GOSUB260:BR=INT(RV*9+1)/(10^MB)
5070 GOSUB260:MH=INT(RV*2)
5080 GOSUB260:HG=INT(RV*9+1)/(10^MH)
5090 HO=0:VE=10:GOSUB110
5100 PRINT"Bereken de inhoud van een blok in ";
5110 S=(ML+MB+MH=0):IFS THENPRINT"dm3.":GOTO5130
5120 PRINT"cm3.":PRINT
5130 VE=11:HO=0:GOSUB110:PRINTTS$:VE=14:GOSUB110
5140 PRINT"lengte ";:IFML=0 THENPRINTLE;" dm.":GOTO5160
5150 PRINTLE*10;" cm."
5160 VE=15:GOSUB110
5170 PRINT"breedte ";:IFMB=0 THENPRINTBR;" dm.":GOTO5190
5180 PRINTBR*10;" cm."
5190 VE=16:GOSUB110
5200 PRINT"hoogte ";:IFMH=0 THENPRINTHG;" dm.":GOTO5220
5210 PRINTHG*10;" cm."
5220 VE=17:HO=17:GOSUB110:PRINT"INHOUD: ?";
5230 GOSUB20030:IFC THEN5230
5240 IFS THENCO=LE*BR*HG:GOTO5260
5250 CO=INT(LE*BR*HG*1000+.1)
5260 IH=VAL(U$):IFIH=CO THEN20230
5270 GOSUB20530:GOTO5090
5500 REM*******************************
5510 REM** RENTE-BEREKENEN **
5520 REM*******************************
5530 GOSUB260:RE=INT((RV*18)+2)*.5
5540 GOSUB260:MN=INT(RV*2)*6
5550 GOSUB260:JR=INT(RV*5)+1
5560 GOSUB260:KP=INT(RV*9+1)*100
5570 HO=0:VE=11:GOSUB110:SR=KP:GOSUB300
5580 PRINT"Kapitaal: fl. ";SR$;".00 I"
5590 VE=12:GOSUB110:PRINT"---------------------I"
5600 VE=13:GOSUB110:PRINT"Rente: ";RE;" % pjr."
5610 HO=21:GOSUB110:PRINT"I":HO=0
5620 VE=14:GOSUB110:PRINT"---------------------I"
5630 VE=15:GOSUB110:PRINT"Looptijd: ";JR;"jaar I"
5650 IFMN=6 THENHO=11:VE=16:GOSUB110:PRINT"6 maanden.I"
5660 HO=23:VE=17:GOSUB110:PRINT"Rente fl ?";
5670 GOSUB20030:IFC THEN5670
5680 IFVAL(U$)=INT(RE*KP*(MN+12*JR))/1200 THEN20230
5690 GOSUB20530:GOTO5570
20000 REM******************************
20010 REM* UITKOMST-SUBROUTINE **
20020 REM******************************
20030 IF NOT(C) THENGOSUB120:HO=HO-1
20040 U$=""
20050 GOSUB110:GOSUB20130:C=((IN$="c") OR(IN$="C"))
20060 IFC THEN21030
20070 IF(Q) AND(R) THENU$=U$+IN$:PRINTU$:RETURN
20080 IFIN$=CHR$(13) THENPRINTU$;" ";:RETURN
20090 R=((V<>1) AND(V<>5)):U$=U$+IN$:PRINTU$;"?";:GOTO20050
20100 REM******************************
20110 REM* TIJDLUS-SUBROUTINE **
20120 REM******************************
20130 GOSUB200:T=T+.045:TD=INT(T)
20140 IFIN$="" THEN20130
20150 IFIN$="," THENIN$="."
20160 RETURN
20200 REM******************************
20210 REM* GOED-ROUTINE **
20220 REM******************************
20230 HO=0:VE=8:GOSUB110:PRINTS6$;S6$;
20240 SO=SO+1:PN=5:IFF THENPN=0:F=0
20250 IFTD>20 THENPN=PN-INT((TD-20)/4)
20260 IFPN<0 THENPN=0
20270 PA=PA+PN:HO=14:VE=14:GOSUB110
20280 IFSO<19 THENPRINT"Goed, nog ";20-SO;" sommen."
20290 IFSO=19 THENPRINT"Goed, LAATSTE SOM !"
20300 IFSO=20 THENPRINT"Prima! We zijn klaar";
20310 HO=0:VE=20:GOSUB110:PRINTTS$;
20320 IFSO<10 THENPRINT"Aantal goed gemaakte sommen....";SO
20330 IFSO>9 THENPRINT"Aantal goed gemaakte sommen...";SO
20340 IFFO<10 THENPRINT"Aantal gemaakte fouten.........";FO
20350 IFFO>9 THENPRINT"Aantal gemaakte fouten........";FO
20360 IFPA<10 THENPRINT"Het puntenaantal bedraagt nu...";PA;
20370 IFPA>9 THENPRINT"Het puntenaantal bedraagt nu..";PA;
20390 FORXX=0 TO999:NEXTXX:IFF THENRETURN
20400 HO=0:VE=14:GOSUB110:PRINTS1$;
20410 IFSO<20 THEN3030
20420 GOSUB23030:GOTO22430
20500 REM******************************
20510 REM** FOUT-SUBROUTINE **
20520 REM******************************
20530 F=(1=1)
20540 HO=0:VE=8:GOSUB110:PRINTS6$;S6$;
20550 HO=14:VE=14:GOSUB110
20560 PRINT"Fout !";
20580 FO=FO+1
20590 GOSUB20310
20600 HO=0:VE=14:GOSUB110:PRINTS1$
20670 ONWS GOSUB21140,21210,21240,21270,21270,22010,22120
20680 IFWS>3 THENHO=0:VE=19:GOSUB110
20690 IFWS>3 THENPRINT"Dezelfde opgave nog 'ns:";
20700 GOSUB23030
20720 HO=0:VE=8:GOSUB110:PRINTS6$;S6$;:RETURN
21000 REM******************************
21010 REM* CORRECTIE-SUBROUTINE **
21020 REM******************************
21030 IF(WS=4) OR(WS=5) THEN21050
21040 GOSUB110:PRINT"? ";:GOSUB110:RETURN
21050 HO=HP:VE=12
21060 FORXX=1 TO3:VE=VE+XX:GOSUB110
21070 PRINT" ":NEXTXX
21080 VE=14:GOSUB110:PRINT"< 1 - 7 >?":RETURN
21100 REM******************************
21110 REM* MEDEDELINGEN **
21120 REM******************************
21130 REM*******FOUT +/- SOM***********
21140 U=(X+Y-Z):V=VAL(U$)
21150 HO=14:VE=14:GOSUB110
21160 IF(U<0) AND(V=ABS(U)) THENPRINT"- teken vergeten!";
21165 IF(U<0) AND(V=ABS(U)) THENRETURN
21170 IFU>V THENPRINT"Te weinig! Nog 'ns.";
21180 IFU<V THENPRINT"Te veel! Nog 'ns.";
21190 RETURN
21200 REM*******VERMENIGVULDIGING******
21210 U=(X*Y):V=VAL(U$):GOTO21150
21230 REM*******DELING*****************
21240 U=(X/Y):V=VAL(U$):GOTO21150
21260 REM*******BREUKEN****************
21270 HO=0:VE=8:GOSUB110
21280 IFHP=29 THEN21810
21290 ONK GOTO21300,21300,21590,21680
21300 IFNA<>NB THEN21380
21310 PRINT"Bij optellen of aftrekken van breuken ";
21320 PRINT"met gelijke noemers worden alleen de ";
21330 PRINT"tellers bij elkaar opgeteld of van el- ";
21340 PRINT"kaar afgetrokken. De noemer verandert ";
21350 PRINT"niet. Vervolgens dient de uitkomst zo ";
21360 PRINT"mogelijk te worden vereenvoudigd. ";
21370 RETURN
21380 PRINT"Bij optellen of aftrekken van breuken ";
21390 PRINT"met ongelijke noemers moeten die noemers";
21400 PRINT"eerst worden gelijkgemaakt. ";
21410 PRINT"Op welke wijze dit het best kan geschie-";
21420 PRINT"den, is afhankelijk van de opgave. ";
21430 PRINT"Het is in onze opgaven echter steeds ";
21440 PRINT"mogelijk de beide tellers te vermenig- ";
21450 PRINT"vuldigen met de noemers van de andere ";
21460 PRINT"breuk. De teller van de uitkomst vindt ";
21470 PRINT"men dan door de producten op te tellen ";
21480 PRINT"of van elkaar af te trekken. ";
21490 GOSUB23030
21500 PRINT"De noemer van de uitkomst is dan het ";
21510 PRINT"product van de noemers uit de opgave. ";S1$;
21520 PRINT" 4 3 (5*4)+(6*3) 20+18 38 ";
21530 PRINT"VOORBEELD: -+- = --------- = ----- = -- ";
21540 PRINT" 6 5 6*5 30 30 ";S1$;
21550 PRINT" 8 4 ";
21560 PRINT"Vereenvoudigd is dit: 1-- = 1-- ";
21570 PRINT" 30 15 ";
21580 RETURN
21590 PRINT"Bij het vermenigvuldigen van breuken ";
21600 PRINT"moeten zowel de tellers als de noemers ";
21610 PRINT"met elkaar worden vermenigvuldigd: ";S1$;
21620 PRINT"de teller van de uitkomst is dan het ";
21630 PRINT"product van de tellers uit de opgave, de";
21640 PRINT"noemer van de uitkomst die van de ";
21650 PRINT"noemers uit de opgave. ";S1$;
21660 PRINT"Zo mogelijk dient de uitkomst daarna nog";
21670 PRINT"te worden vereenvoudigd.":RETURN
21680 PRINT"Delen door een breuk is vermenigvuldigen";
21690 PRINT"met het omgekeerde! ";S1$;
21700 PRINT"Dit wil zeggen, dat de teller en de ";
21710 PRINT"noemer van de breuk waardoor wordt ";
21720 PRINT"gedeeld kunnen worden verwisseld waarna ";
21730 PRINT"de opgave als een vermenigvuldiging kan ";
21740 PRINT"worden uitgevoerd.":GOSUB23030
21750 PRINTS3$;" 2 2 2 3 6 ";
21760 PRINT"VOORBEELD: - : - wordt: - * - = -- ";
21770 PRINT" 7 3 7 2 14 ";S1$;
21780 PRINT" 3 ";
21790 PRINT"vereenvoudigd is dit: - ";
21800 PRINT" 7":RETURN
21810 PRINT"Bij het vereenvoudigen van 'n breuk be- ";
21820 PRINT"handelen we deze eerst als een gewone ";
21830 PRINT"deling, dat wil zeggen dat we kijken of ";
21840 PRINT"de teller door de noemer kan worden ge- ";
21850 PRINT"deeld. ";
21860 PRINT"We vinden dan het hele getal, dat voor ";
21870 PRINT"de breuk komt te staan. ";S1$;
21880 PRINT"Als we een 'rest' overhouden, dan wordt ";
21890 PRINT"dat de nieuwe teller":GOSUB23030
21900 PRINT"Vervolgens zoeken we naar het grootste ";
21910 PRINT"getal waardoor zowel de teller als de ";
21920 PRINT"noemer van de niewe breuk kan worden ge-";
21930 PRINT"deeld en voeren dit uit. ";S1$;
21940 PRINT" 25 10 (rest) 2 ";
21950 PRINT"VOORBEELD: -- = 1-- = 1- ";
21960 PRINT" 15 15 3 ";S1$;
21970 PRINT"(teller en noemer van de tweede breuk ";
21980 PRINT" konden beide door 5 worden gedeeld)"
21990 RETURN
22000 REM*******INHOUD*****************
22010 HO=0:VE=10:GOSUB110:IFIH=0 THENIH=1
22020 QQ=0:QQ=((CO/IH=10) OR(CO/IH=100))
22025 IFQQ THENVE=12:GOSUB110:GOTO22090
22030 PRINT"De inhoud van een blok vindt men door ";
22040 PRINT"de lengte, breedte en hoogte ervan met ";
22050 PRINT"elkaar te vermenigvuldigen. ";S1$;
22060 PRINT"Bedenk dat een decimeter 10 maal groter ";
22070 PRINT"is dan een centimeter! ";
22080 RETURN
22090 PRINT"Jammer, het was bijna goed. ";
22100 PRINTS1$;:GOTO22060
22110 REM*******RENTEBEREENING*********
22120 HO=0:VE=8:GOSUB110
22130 PRINT"Rente over spaargeld (kapitaal) wordt ";
22140 PRINT"berekend in procenten (%) per jaar. ";S1$;
22150 PRINT"1% betekent daarbij een-honderdste ";
22160 PRINT"gedeelte. ";
22170 PRINT"Het kapitaal uit de opgave moet dus ";
22180 PRINT"eerst worden gedeeld door 100 (komma 2 ";
22190 PRINT"plaatsen naar voren) en daarna worden ";
22200 PRINT"vermenigvuldigd met het rentepercentage.";
22210 PRINT"(";RE;"% in de opgave).":GOSUB23030
22220 PRINT"Vervolgens moet het gevonden rente- ";
22230 PRINT"bedrag worden vermenigvuldigd met het ";
22240 PRINT"aantal jaren dat het kapitaal uitstaat, ";
22250 PRINT"zodat de opgave alsvolgt uitziet: ";S1$;
22260 PRINT"Kapitaal ";KP;" gulden wordt ";KP/100;
22270 PRINT" (1/100).";:VE=14:GOSUB110
22280 PRINT"Rente ";RE;"%, dus ";RE;"*";KP/100;"= ?";
22290 VE=15:GOSUB110
22300 PRINT"Tijd ";JR;
22310 IFMN=6 THENPRINT" en een half ";
22320 PRINT"jaar."
22330 VE=16:GOSUB110
22340 PRINT"De gevonden uitkomst moet dus nog worden";
22350 PRINT"vermenigvuldigd met ";JR;
22360 IFMN=6 THENPRINT" en een half.":RETURN
22370 RETURN
22400 REM******************************
22410 REM** KLAAR-ROUTINES **
22420 REM******************************
22430 GOSUB100
22450 PRINTVT$;VT$;
22460 FORXX=0 TO18
22470 PRINT"??? ???";
22480 NEXTXX
22490 PRINTVT$;VT$;
22500 HO=7:VE=6:GOSUB110
22520 IFPA>94 THENPRINT"Fantastisch gedaan!";:GOTO22590
22530 IFPA>85 THENPRINT"Prima gedaan.";:GOTO22590
22540 IFPA>75 THENPRINT"Goed gedaan.";:GOTO22590
22550 IFPA>59 THENPRINT"Dit was redelijk.";:GOTO22590
22560 IFPA<60 THENPRINT"Met wat vaker oefenen";:VE=7
22570 GOSUB110:PRINT"wordt het resultaat";:VE=8
22580 GOSUB110:PRINT"vast veel beter.";
22590 HO=7:VE=12:GOSUB110
22600 PRINT"Het aantal behaalde";
22610 VE=13:GOSUB110
22620 PRINT"punten bedraagt..........";PA;
22630 VE=18:GOSUB110
22640 IFFO=0 THENPRINT"De uitwerking was foutloos";
22650 IFFO=1 THENPRINT"Er is slechts 1 fout gemaakt.";
22660 IFFO>1 THENPRINT"Er zijn ";FO;" fouten gemaakt.";
22670 FORXX=0 TO2000:NEXTXX
22680 HO=13:VE=23:GOSUB110:IN$="":GOSUB23050
22690 IFPK=3 THENSO=0:PA=0:FO=0:GOTO1220
22700 GOSUB100
22710 REM************** AFREKENING **
22720 PRINT"AFREKENING:":
22730 PRINTS3$;:GOSUB1610:PRINTS1$;
22740 IFPA>69 THENVD=.25
22750 IFPA>79 THENVD=.5
22760 IFPA>89 THENVD=.75
22770 IFPA>97 THENVD=1
22780 IFFO<4 THENVD=VD+(1-FO*.25)
22790 CT=4:CN=2:SR=VD:GOSUB310
22810 PRINTS3$;"Behaald aantal punten: ";PA
22820 IFFO=0 THENPRINT"De uitwerking was foutloos."
22830 IFFO>0 THENPRINT"Aantal gemaakte fouten: ";FO
22840 IFVD=0 THENPRINT"Deze keer helaas dus niets verdiend."
22850 IFVD=0 THENPRINT"Volgende keer beter.":GOTO22870
22860 PRINT"Deze ronde levert dus op: fl. "SR$;"."
22870 GOSUB210:END
23000 REM******************************
23010 REM** OMBLADEREN **
23020 REM******************************
23030 IN$="":IFPK=1 THENHO=25:VE=23:GOTO23050
23040 HO=26:VE=19
23050 GOSUB110:PRINT"< spatiebalk >";
23060 FORXX=0 TO100:IFIN$="" THENGOSUB200
23070 NEXTXX:GOSUB110:PRINT" spatiebalk ";
23080 IFIN$<>"" THEN23120
23090 FORXX=0 TO100:IFIN$="" THENGOSUB200
23100 NEXTXX
23110 IFIN$="" THEN23050
23120 IFPK>1 THENHO=0:VE=8:GOSUB110:PRINTS6$;S6$;
23130 IFPK>1 THENGOSUB110:RETURN
23140 GOSUB100:RETURN
30000 REM******************************
30010 REM GEEN ZAKGELD IN HET PROGRAMMA
30020 REM DAN TE VERWIJDEREN DE REGELS:
30030 REM 1440- 1510,
30040 REM 1600- 1700
30050 REM 22710-22860
30060 REM REGEL 1250 UIT HET MENU DIENT
30070 REM TE WORDEN VERWIJDERD EN VAN
30080 REM REGEL 1260 DIENT DE TEKST TE
30090 REM WORDEN AANGEPAST.
30100 REM -----------------------------
30110 REM VEREENVOUDIGING VAN DE SOMMEN
30120 REM IS MOGELIJK DOOR DE VOLGENDE
30130 REM AANPASSINGEN:
30140 REM
30150 REM OPTELLEN/AFTREKKEN:
30160 REM DE WAARDE 1000 IN DE REGELS
30170 REM 3130-3150 VERKLEINEN EN
30180 REM TOE TE VOEGEN REGEL
30190 REM 3155 IFZ>X+YTHENH=Z:Z=Y:Y=H
30210 REM
30220 REM VERMENIGVULDIGEN
30230 REM DE WAARDE 20 IN DE REGELS
30240 REM 3330 EN 3340 VERLAGEN.
30250 REM
30260 REM DELEN
30270 REM DE WAARDE 20 IN DE REGELS
30280 REM 3430 EN 3440 VERLAGEN.
30290 REM
30300 REM BREUKEN
30310 REM DE WAARDEN 4 EN 8 IN REGELS
30320 REM 3540-3570 VERLAGEN EN/OF
30330 REM ZORGEN DAT DE NOEMERS GELIJK
30340 REM ZIJN TERWIJL DE OPGAVE WORDT
30450 REM BEPERKT TOT OPTELLEN EN
30460 REM AFTREKKEN. IN DAT GEVAL
30470 REM TOEVOEGEN REGEL:
30480 REM 3595 IFNA<>NBTHEN3540
30490 REM EN DE WAARDE 4 IN REGEL 3630
30500 REM VERANDEREN IN 2
30510 REM
30520 REM INHOUD
30530 REM BEREKENINGEN UITSLUITEND IN
30540 REM DM3 DOOR DE WAARDEN 2 IN DE
30550 REM REGELS 5030, 5050 EN 5070
30560 REM TE VERANDEREN IN 1
30570 REM
30580 REM RENTEBEREKENING
30590 REM IN REGEL 5530 DE WAARDE 18
30600 REM VERANDEREN IN 8 EN ' *.5 '
30610 REM VERWIJDEREN,
30620 REM IN REGEL 5540 MN=INT...ENZ.
30630 REM VERANDEREN IN MN=0
30640 REM -----------------------------
30660 REM DE TIJDSDUUR VOOR HET MAKEN
30670 REM VAN DE OPGAVEN VERANDEREN
30680 REM DOOR KLEINE CORRECTIES OP DE
30690 REM DE WAARDE .045 IN REGEL 20130
30700 REM -----------------------------
30710 REM GEEN AANWIJZINGEN BIJ FOUTEN
30720 REM DAN TOEVOEGEN REGEL
30730 REM 20595 PRINT" Nog 'ns.":FORXX
30740 REM =0TO900:NEXTXX:GOTO20720
30750 REM ----------------------------
31510 REM DIT PROGRAMMA WERD GESCHREVEN
31520 REM OP EEN COMMODORE 64 DOOR:
31530 REM ******************
31540 REM * H.P.M. SWINKELS, *
31550 REM * BOERDERIJWEG 44, *
31560 REM * 3262 CC *
31570 REM * OUD-BEIJERLAND *
31580 REM ******************
31590 REM COPYRIGHT NOS HILVERSUM 1987