-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathA08_Diagrammen_uitleg.bc3
318 lines (317 loc) · 14.6 KB
/
A08_Diagrammen_uitleg.bc3
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
1000 A=3000:GOTO20:REM Uitleg bij DIAGRAMMEN
1010 RL=HO:SH=VE:PS=0:PL=0:AR=0:LM=0:RF=0:SP=1:F1=0:LC$=""
1020 DIMMO$(9)
1030 GOSUB1690
1040 REM *** DATAREGELLUS ***
1050 BK=1:READRE$:IFLEFT$(RE$,1)="@" THEN1050
1060 REM *** WOORDLUS ***
1070 AK=0:IFBK>LEN(RE$) THEN1050
1080 AK=AK+1:IFBK+AK>LEN(RE$) THEN1100
1090 IFMID$(RE$,BK+AK,1)<>" " THEN1080
1100 WO$=MID$(RE$,BK,AK):BK=BK+LEN(WO$)+1
1110 IFPL+LEN(WO$)>=RL THEN GOSUB1440
1120 IFLEFT$(WO$,1)="." THEN1160:REM commando
1130 GOSUB1630:PL=PL+LEN(WO$)+1
1140 IF(PL<RL-1)AND(RF=0) THENWO$=" ":GOSUB1630
1150 GOTO1070
1160 LC$=MID$(WO$,2,1):CO=0
1170 IFLEN(WO$)>2 THENCO=ASC(MID$(WO$,3,LEN(WO$)-2))-48
1180 IFLC$<>"F" THEN1230
1190 REM F=linefeeds
1200 LF=CO
1210 GOSUB1440:LF=LF-1:IFLF>0 THEN1210
1220 GOTO1070
1230 IFLC$<>"P" THEN1290
1240 REM P=nieuwe pagina
1250 IFSP=1 THEN1270
1260 GOSUB1440:GOSUB1440:GOTO1070
1270 GOSUB1440:IFAR<>2 THEN1250
1280 GOTO1910
1290 IFLC$<>"C" THEN1340
1300 REM C=centreer rest van de DATA-regel
1310 RE$=MID$(RE$,BK,LEN(RE$)-BK+1)
1320 IS=PS+INT((RL-LEN(RE$)-1)/2):GOSUB1600
1330 PRINTRE$;:RE$="":GOSUB1440:GOTO1070
1340 IFLC$<>"M" THEN1370
1350 REM M=linkermarge
1360 LM=CO:GOTO1070
1370 IFLC$="E" THEN950
1380 REM E=einde programma
1390 IFLC$<>"R" THEN1430
1400 REM R=reverseprint volgende n woorden
1410 RF=CO:GOTO1070
1420 REM
1430 GOTO1070
1440 IFSP=1 THENPRINT
1450 IFSP=2 THEN GOSUB360
1460 AR=AR+1:IFAR<SH-SL THEN1580
1470 IFSP=1 THENPRINT:GOTO1490
1480 FORI=1 TOSL:GOSUB360:NEXTI:AR=0:GOTO1580
1490 PRINT" ";
1500 SR$="VERVOLG: druk op <return>":HO=RL/2-15
1510 VE=SH-1:GOSUB110:GOSUB150
1520 GOSUB210:IFIN<>13 THEN1520
1530 GOSUB100:IS=INT(RL/2)-17:IFIS<0 THENIS=0
1540 IF(SP=1)AND(LC$="P") THENLC$="":GOTO1570
1550 SR$="DIAGRAMMEN"
1560 VE=0:HO=INT(RL/2-LEN(SR$)/2):GOSUB110:GOSUB150
1570 PRINT:PRINT:AR=2
1580 PL=LM:IS=LM+PS
1590 REM subr. PRINT IS spaties
1600 IFIS<1 THENRETURN
1610 SR$=" ":GOSUB1660:IS=IS-1:GOTO1600
1620 REM *** WOORDUITVOER ***
1630 SR$=WO$:IFSP<>1 THEN1670
1640 IFRF=0 THENPRINTWO$;:RETURN
1650 GOSUB150:RF=RF-1:PL=PL+5:RETURN
1660 IFSP=1 THENPRINTSR$;:RETURN
1670 GOSUB350:RF=0:RETURN
1680 REM *** INITIALISATIE ***
1690 IFF1>0 THEN1530
1700 GOSUB1530:PRINT:PRINT"Wilt u de uitleg op"
1710 PRINT:PRINT" 1 Het beeldscherm,"
1720 PRINT" 2 De printer."
1730 PRINT:PRINT"Welk nummer kiest u ";
1740 GOSUB210:PRINTIN$:SP=IN-48:IFSP=1 THENSL=2:GOTO1910
1750 IFSP<>2 THEN1690
1760 RESTORE:FORI=0 TO10:READTE$:NEXTI
1770 PRINT:PRINT"Hoeveel spaties wilt u aan het"
1780 PRINT"aan het begin van elke regel ";
1790 INPUTPS
1800 PRINT:PRINT"Hoeveel tekens echte tekst wilt"
1810 PRINT"u op elke regel ";:INPUTRL
1820 PRINT:PRINT"Hoeveel regels wilt u bij de scheurlijn"
1830 PRINT"laten overslaan ";:INPUTSL
1840 PRINT:PRINT"Hoeveel echte tekstregels wilt u op"
1850 PRINT"elk blad ";:INPUTSH
1860 SH=SH+SL:IS=PS:GOTO1600
1900 REM zoekroutine
1910 IFF1<>2 THEN1940
1920 I=I+1:IFI=8 THEN1940
1930 IN=I:GOTO2070
1940 GOSUB100:F1=1
1950 RESTORE:FORI=0 TO9:READMO$(I):NEXTI
1960 SR$="ZOEKROUTINE":HO=INT(RL/2-9):VE=0
1970 GOSUB110:GOSUB150:VE=3:HO=0:GOSUB110
1980 PRINT"U kunt uit de volgende items kiezen:"
1990 PRINT:FORI=0 TO9
2000 PRINT" ";I;". ";MO$(I):NEXTI
2010 PRINT:PRINT"Geef uw keuze: ";
2020 GOSUB210:IN=IN-48:IF(IN<0)OR(IN>9) THEN2020
2030 PRINTIN$
2040 IFIN=8 THENI=-1:F1=2:GOTO1910
2050 IFIN=9 THEN950
2060 PRINT:PRINT"Momentje..."
2070 SR=IN:GOSUB300:SR$="@"+SR$
2080 READTE$:IFSR$=TE$ THEN1030
2090 GOTO2070
2100 IN=1:F1=2:GOTO2070
2110 F1=1:GOTO1910
25000 DATA"Inleiding","Invoer","Staafdiagram","Lijndiagram"
25010 DATA"Cirkeldiagram","Printen","Laden/saven"
25020 DATA"Algemene opmerkingen","Totaaloverzicht","Stoppen"
25030 DATA"Stoppen"
25040 DATA"@0"
25050 DATA"DIAGRAMMEN .F1 ---------- .F2 Zoals u"
25060 DATA"waarschijnlijk al weet zegt een plaatje veel"
25070 DATA"meer dan vele woorden. Met het programma"
25080 DATA"DIAGRAMMEN kunt u daadwerkelijk plaatjes maken,"
25090 DATA"waarbij u de keuze hebt uit zeven verschillende"
25100 DATA"diagrammen. Als er eenmaal een diagram is"
25110 DATA"getekend kunt u het diagram verduidelijken omdat"
25120 DATA"u bij het diagram tekst kunt zetten. Als u"
25130 DATA"tevreden bent met het resultaat kunt u"
25140 DATA"vervolgens een screendump maken, zodat u het"
25150 DATA"diagram kunt toevoegen bij uw werkstuk,"
25160 DATA"rapport ed. .P","@1"
25170 DATA"INVOER .F1 ------ .F2 U kunt uw informatie"
25180 DATA"invoeren op dezelfde manier als u bij een"
25190 DATA"spreadsheet kunt doen. Dit houdt in dat er twee"
25200 DATA"cursors zijn. De 'gewone' cursor en een cursor"
25210 DATA"die aangeeft in welk hokje u aan het invoeren"
25220 DATA"bent. De gewone cursor is niet bij elke"
25230 DATA"computer aanwezig. Als u geen 'gewone' cursor"
25240 DATA"hebt is dat geen ramp. Het invoeren wordt"
25250 DATA"nauwelijks moeilijker."
25260 DATA"De cursor die aangeeft in welk hokje u bezig"
25270 DATA"bent wordt aangeduid door een"
25280 DATA"reverse blokje. U kunt deze cursor bewegen met"
25290 DATA"de cursortoetsen. De meest linkse kolom dient om"
25300 DATA"de X-waarden of labels in te voeren. Dwz. wat er"
25310 DATA"onder de X-as of in een cirkeldiagram geplaatst"
25320 DATA"moet worden. De overige kolommen dienen om de"
25330 DATA"Y-waarden 1 t/m 3 in te voeren. De Y-waarde(n)"
25340 DATA"bepa(a)l(en) hoe hoog een staaf of lijn wordt of"
25350 DATA"de grootte van een sector bij een cirkeldiagram."
25360 DATA"Elke rij (horizontaal gezien dus) heeft"
25370 DATA"betrekking op een gegeven. .F1 Om de gewenste"
25380 DATA"gegevens in te voeren gaat u met de"
25390 DATA"cursortoetsen naar de gewenste kolom en rij."
25400 DATA"Hierna kunt u uw"
25410 DATA"invoer intikken. Als de invoer langer is dan de"
25420 DATA"grootte van de reverse cursor scrollt de invoer"
25430 DATA"in de cursor. De reverse cursor is ahw. een"
25440 DATA"schermpje op het scherm. U kunt het laatste"
25450 DATA"ingevoerd karakter (maar alleen het laatste!)"
25460 DATA"wissen met de 'delete'-toets. Om de 'gewone'"
25470 DATA"cursor te bewegen, gebruikt uw de '<'- en"
25480 DATA"'>'-toetsen. Hierdoor is het mogelijk om een"
25490 DATA"karakter in een invoer te wijzigen zonder dat uw"
25500 DATA"de gehele invoer opnieuw in hoeft te voeren. Als"
25510 DATA"er al invoer aanwezig is als u naar een bepaalde"
25520 DATA"kolom en rij gaat blijft deze invoer intakt en"
25530 DATA"staat de 'gewone' cursor op het eerste karakter."
25540 DATA"Om een invoer te wissen drukt u de '#'-toets. Om"
25550 DATA"de gehele invoer te wissen drukt u op de"
25560 DATA"'%'-toets. .F1 Als u een regelmatige kolom moet"
25570 DATA"invoeren (bv. 1,3,5,7,9) hoeft u deze niet"
25580 DATA"allemaal in te voeren. Als u namelijk met de"
25590 DATA"cursor naar de gewenste kolom gaat en vervolgens"
25600 DATA"op de '$'-toets drukt, kunt u de beginwaarde,"
25610 DATA"eindwaarde en stapgrote invoeren. De"
25620 DATA"geselecteerde kolom wordt dan automatisch gevuld"
25630 DATA"met de gewenste informatie. Als er meer"
25640 DATA"informatie in een kolom geplaatst zou moeten"
25650 DATA"worden dan de kolom lang is, wordt de kolom tot"
25660 DATA"zover gevuld als mogelijk is. .F1 Om weer terug"
25670 DATA"te keren naar het hoofdmenu, drukt u op de"
25680 DATA"'^'-toets. .P","@2"
25690 DATA"STAAFDIAGRAMMEN .F1 --------------- .F2 U hebt"
25700 DATA"de keus uit drie verschillende staafdiagrammen,"
25710 DATA"namelijk: .F2 -enkel staafdiagram .F1 "
25720 DATA"-polygoon .F1 -samengesteld staafdiagram .F2"
25730 DATA"Bij een enkel staafdiagram (ook wel histogram"
25740 DATA"genoemd) komt op de X-as de waarden te staan die"
25750 DATA"u bij de invoer hebt ingevoerd, terwijl er net"
25760 DATA"zoveel staven worden getekend als dat er"
25770 DATA"X-waarden zijn ingevoerd. De hoogte van een"
25780 DATA"staaf wordt bepaalt door de waarde die u in"
25790 DATA"Y1 hebt ingevoerd. .F1 Een polygoon is hetzelfde"
25800 DATA"als een enkel staafdiagram met daarbij extra een"
25810 DATA"doorgetrokken lijn die de middens van de staven"
25820 DATA"met elkaar verbindt. Deze lijn begint en eindigt"
25830 DATA"op de X-as. .F1 Een samengesteld diagram bestaat"
25840 DATA"per X-waarde uit drie staven boven elkaar. De"
25850 DATA"lengte van deze drie staven worden van onder"
25860 DATA"naar boven bepaald door Y1 t/m Y3. Zo'n blok van"
25870 DATA"drie staven wordt net zoveel maal getekend als"
25880 DATA"dat er X-waarden zijn ingevoerd. .P","@3"
25890 DATA"LIJNDIAGRAM .F1 ---------- .F2 U heeft de"
25900 DATA"keus uit drie verschillende lijndiagrammen,"
25910 DATA"namelijk: .F2 enkel lijndiagram .F1"
25920 DATA" samengesteld lijndiagram .F1 "
25930 DATA"frequentiepolygoon .F2 Bij een enkel"
25940 DATA"lijndiagram wordt op de X-as de invoer"
25950 DATA"geplaatst, die u hebt ingevoerd. Vervolgens"
25960 DATA"wordt er een lijn getekend, waarvan de hoogte"
25970 DATA"afhankelijk is van de ingevoerde waarde van Y1."
25980 DATA".F1 Bij een samengesteld lijndiagram gebeurd"
25990 DATA"hetzelfde als bij een enkel lijndiagram met dit"
26000 DATA"verschil dat er nu drie lijnen boven elkaar"
26010 DATA"getekend worden, waarvan de hoogten bepaald"
26020 DATA"worden door Y1 t/m Y3. .F1 Bij een"
26030 DATA"frequentiepolygoon wordt er ook een lijn"
26040 DATA"getekend. Deze lijn begint echter op de"
26050 DATA"X-as en gaat dan steeds hoger, bepaalt door"
26060 DATA"de Y-waarde op dat moment en alle vorige"
26070 DATA"Y-waarden. De lijn kan dus nooit dalen omdat"
26080 DATA"alle vorige Y-waarden mee opgeteld worden om"
26090 DATA"de hoogte van de lijn te bepalen. .P","@4"
26100 DATA"CIRKELDIAGRAM .F1 ------------- .F2 Hiermee"
26110 DATA"kunt u de bekende 'taart'-diagrammen maken."
26120 DATA"In de cirkelsectoren worden de labels"
26130 DATA"geplaatst die u bij de X-waarden hebt"
26140 DATA"ingevoerd, terwijl de grootte van een sector"
26150 DATA"bepaald wordt door de waarde van de"
26160 DATA"Y1 die bij het betreffende label hoort. .P"
26170 DATA"@5","PRINTEN .F1 ------- .F2 U kunt de"
26180 DATA"invoer laten uitprinten door de optie"
26190 DATA"printen. De invoer wordt dan ook geprint"
26200 DATA"als een spreadsheet. Verder wordt alle"
26210 DATA"invoer gecentreerd, zodat alles mooi op het"
26220 DATA"papier verschijnt. U dient wel een printer"
26230 DATA"te hebben die minstens 80 karakters op een"
26240 DATA"regel kan printen. .P","@6"
26250 DATA"LADEN/SAVEN .F1 ----------- .F2 U kunt de"
26260 DATA"invoer saven en weer laden door deze opties."
26270 DATA"U kunt kiezen op welk medium (basicode,"
26280 DATA"cassette of floppy-disk) u de invoer wilt"
26290 DATA"saven of laden. .P","@7"
26300 DATA"ALGEMENE OPMERKINGEN .F1 --------------------"
26310 DATA".F2 Als er een diagram is getekend, kunt u er"
26320 DATA"tekst bijvoegen door op 'T' te drukken. Er gaat"
26330 DATA"dan linksboven in de hoek een puntje knipperen."
26340 DATA"U kunt dit puntje met de cursortoetsen bewegen."
26350 DATA"Als het puntje op de plaats staat waar u tekst"
26360 DATA"wilt plaatsen, drukt u de gewenste tekst in."
26370 DATA"Deze verschijnt boven het puntje. U kunt een"
26380 DATA"karakter wissen door op 'delete' te drukken."
26390 DATA"U kunt het knipperende puntje uit zetten (maar"
26400 DATA"nog wel bewegen) door op '#' te"
26410 DATA"drukken. Dit kan van belang zijn omdat het"
26420 DATA"knipperende puntje alles wist waar het heeft"
26430 DATA"gestaan. Door het nu uit te zetten lost u dit"
26440 DATA"probleem op. Om het weer aan te zetten drukt"
26450 DATA"u nogmaals op '#'. .F1 Als het diagram klaar"
26460 DATA"is kunt u er een screendump van"
26470 DATA"maken door op 'S' te drukken. U dient"
26480 DATA"dan wel een screendumpprogramma te plaatsen"
26490 DATA"vanaf regel 20050 (en zorgen dat deze afgesloten"
26500 DATA"wordt met een RETURN). .F1 Bij de uitvoer van"
26510 DATA"een diagram kunt u kiezen of dit absoluut of"
26520 DATA"procentueel moet gebeuren. Als u absoluut kiest"
26530 DATA"worden de getallen gebruikt die u hebt"
26540 DATA"ingevoerd. Als u procentueel kiest ligt het"
26550 DATA"aan het soort diagram, hoe de uitvoer is. Bij"
26560 DATA"een samengesteld diagram worden Y1 t/m Y3 van"
26570 DATA"een X-waarde op 100% gesteld. Het gevolg is"
26580 DATA"dan ook dat alle staven of lijnen van de"
26590 DATA"verschillende X-waarden even hoog"
26600 DATA"liggen. Alle Y1 t/m Y3 waarden van de"
26610 DATA"verschillende X-waarden zijn immers 100%. Bij"
26620 DATA"alle andere diagrammen worden alle Y1-waarden"
26630 DATA"van alle ingevoerde X-waarden op 100% gesteld."
26640 DATA"Dit heeft tot gevolg dat alle staven of lijnen"
26650 DATA"opgeteld samen 100% zijn. .F1 Bij een"
26660 DATA"cirkeldiagram worden de percentages in de"
26670 DATA"sectoren gezet als u procentueel hebt gekozen."
26680 DATA".F1 Het is raadzaam om niet teveel karakters"
26690 DATA"voor de X-waarden in te voeren als u veel"
26700 DATA"X-waarden invoert omdat ze anders niet goed"
26710 DATA"op de X-as komen maar elkaar overlappen. Bij"
26720 DATA"de Y-as komen alleen waarden als de grootste"
26730 DATA"Y-waarde niet groter is dan 999. Verder worden"
26740 DATA"bij een cirkeldiagram de percentages afgerond"
26750 DATA"zodat alle percentages opgeteld geen 100%"
26760 DATA"hoeven te vormen door de afrondfout. .F1"
26770 DATA"In regel 1030 staat de variabele TG. Deze"
26780 DATA"variabele dient de volgende waarde te"
26790 DATA"bezitten: 0.895-3/aantal karakters op het Hi-res"
26800 DATA"scherm. De waarde is berekend voor 40 karakters"
26810 DATA"zodat u deze variabele dient te wijzigen als"
26820 DATA"dat bij u niet het geval is. Deze variabele"
26830 DATA"zorgt er namelijk voor dat de waarden bij de"
26840 DATA"X-as zo goed mogelijk geplaatst worden. De"
26850 DATA"drie staat daar om ervoor te zorgen dat het"
26860 DATA"nog zolang mogelijk goed gaat als de"
26870 DATA"X-waarde uit maximaal drie karakters bestaat."
26880 DATA"Mocht u meer karakters voor de X-waarden"
26890 DATA"willen gebruiken (dit is echter bijna nooit"
26900 DATA"verstandig) dient u de drie ook te wijzigen."
26910 DATA".F1 Bij het starten van het programma is er al"
26920 DATA"invoer aanwezig als demo zodat u het"
26930 DATA"programma meteen kunt proberen."
26940 DATA".F3 Tot slot wens ik u nog veel plezier met"
26950 DATA"dit programma!!! .P"
30000 REM *************************
30010 REM Uitleg behorende bij het
30020 REM programma: DIAGRAMMEN
30040 REM *************************
32000 REM Door Ronald van Vugt,
32010 REM PA3EAH
32020 REM Postbus 160, 5580 AD
32030 REM Waalre (NB)
32040 REM
32050 REM augustus 1987, v1.2
32060 REM *************************
32100 REM TROS RADIO dd 870923