0.
,..., .......
'"'
An wéilgreen
----------------------------------------------Wolters-Noordhoff
...
III
· MCN 7i J:;"
Ik en mijn Commodore
Ik en mijn Commodore Basic voor kinderen
An Walgreen
Wolters-N oordhoff Groningen
Omslagtekening Sylvia Weve
Copyright © 1984 Wolters-Noordhoffbv Groningen, The N etherlands. Alle rechten voorbehouden. Niets uit deze uitgave mag worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbestand, of openbaar gemaakt, in enige vorm of op enige wijze, hetzij elektronisch, mechanisch, door fotokopieën, opnamen, of op enige andere manier, zonder voorafgaande schriftelijke toestemming van de uitgever.
All rights reserved. No part of this publication may be reproduced) stored in a retrieval system) or transmitted) in any form or by any means) electronic) mechanica~ photocopying) recording) or otherwise) without the prior written permission of the publisher. ISBN 9001419429
Inhoud
Kennismaking met de computer 7 NEW-PRINT-REM-RUN
4
Verbeteren en veranderen 14 Een paar trucjes 17 Een programma veranderen 22
5
Hoe je iets in het geheugen stopt 25
2 3
LIS T LET-INPUT
6
Springen en stoppen 29
7
GOTO-BREAK De I F ... T HEN instructie 33 IF ... THEN
8 9
Werken met getallen 37 Rondjes lopen 41 FOR ... NEXT-STEP
10 11
Getallen in de I F ... T HEN instructie 46 Toevallige getallen en de functie INT 5 1 RND-INT
u
12
Het opslaan van gegevens 55
13
DATA-READ-RESTORE Breng kleur in je programma 60 POK E
14
Programma's bewaren op cassettebandjes 64 SAVE-LOAD
Voorbeeld-programma's 69 Foutmeldingen 72 Spelle*s 74
5
In dit boekje leer je hoe je zelf programma's kunt maken op je C OMM O D O RE home-computer. In het begin lijkt het je misschien wel wat moeilijk, maar het valt heus wel mee. De 'taal' waarmee we met de computer kunnen 'praten ' heet BAS I C . Deze taal is door mensen uit Amerika bedacht. Daarom zijn de opdrachten die de computer begrijpt ook in het Engels. Deze woorden worden je in dit boekje uitgelegd. We hebben geprobeerd om de programma's in dit boekje zo leuk mogelijk te maken. Er staan spelletjes in die je alleen of met een vriend of vriendin kunt spelen. Probeer alle opdrachten die bij elk hoofdstuk staan te maken. Als het niet meteen lukt, kijk dan eerst het hoofdstuk nog even goed na. Lukt het dan nóg niet, vraag dan of je vader, je moeder of je onderwijzer( es) je wil helpen. Of kijk achterin het boek. Bij moeilijke opdrachten staat daar een voorbeeld. Denk erom, de computer kan zelf helemaal niets. ALL ES wat hij doet heb J IJ er eerst ingestopt. Wij hopen dat je het gauw zult leren en wensen je veel plezier bij het ' computeren' .
6
1
Kennismaking met de computer
Je naam typen De INST/DEL toets De COMMODORE toets en de SHIFT toets Het scherm schoonmaken Opdrachten voor de computer Het geheugen leeg maken Wat is een programma? Hoe maakje een regel? De instructie RUN en de instructie PRINT Het getal 0 en de letter '0' Een programma typen, uitvoeren en begrijpen Hoe nummer je regels?
Toenje voor het eerst de COMMODORE zag heb je misschien gedacht: 'Is dat nou alles? Het lijkt net een gewone schrijfmachine.' Maar het is veel meer dan dat. Stel je de computer voor als een grote kast. Op elke plank in die kast staan dozen. Die dozen zijn het geheugen van de computer. Sommige dozen zijn door de makers van COMMODORE al gevuld. De andere dozen zijn leeg. Daar kun je zelf iets in stoppen. Dat doe je in computertaal. En die taal gaan we je in dit boek leren. Dat is niet zo heel moeilijk, want de computer 'begrijpt' maar ongeveer 80 woorden. Laten we nu dan maar beginnen.
7
Zet de computer en de tv aan. Op het scherm zie je nu de tekst: •••• 64K
RAM
COMMODORE SYSTEM
64
BASIC
V2
38911
BASIC
BYTES
•••• FREE
Daaronder staat het woord: READY . Onder READY zie je een wit knipperend vierkantje: 'de loper'. Dit vierkantje 'loopt' over het scherm en laat je zien waar de volgende letter komt te staan. Ready betekent: klaar. READY met daaronder het vierkantje betekent: je kunt begmnen. Voor op de toetsen vanje COMMODORE zieje nog een hoop tekentjes staan. Later vertellen we daar meer over.
..
Typ
..
Je naam typen Typ je naam maar eens. Alles wat je typt zie je meteen op het scherm. Maak nu de regel vol en typ gewoon verder. Je ziet dat de loper vanzelf op een nieuwe regel begint.
De
INST/DEL
toets
Als je een verkeerde letter hebt getypt kun je deze verbeteren: druk op de toets INST / DEL. Deze toets zit rechtsboven op je toetsenbord. De letter die je het laatst hebt getypt, wordt dan uitgegumd. Je kunt nu de goede letter typen. Als je de toets ingedrukt houdt, rent de loper de hele regel terug. Hij gumt daarbij alle letters uit.
8
•
De
COMMODORE
toets en de
SHIFT
toets
Linksonder op je toetsenbord zit een toets waarop dit tekentje staat: Co: We noemen hem de C OMM O DORE toets. Als je deze toets samen met de SHIFT toets indrukt, schrijft de computer kleine letters. Druk je nog eens, dan schrijft de computer weer hoofdletters. In dit boek gebruiken we alleen hoofdletters.
•
Het scherm schoonmaken Om het scherm schoon te maken houd je de SHIF T toets ingedrukt. Druk nu op de C LR / H O M E toets. Het scherm is nu schoon en de loper staat bovenaan het scherm. CLEA R betekent: schoon. HOME betekent: huis en zorgt ervoor dat de loper terug komt op zijn 'thuisplaats' . SH I FT + C LR / H O M E maken samen het scherm schoon.
•
Opdrachten voor de computer Als je de computer iets wilt laten doen, moet je hem opdrachten geven. Deze opdrachten noemen we instructies. Je moet leren welke instructies de computer begrijpt.
•
u
Het geheugen leeg maken Om het geheugen van de computer leeg te maken, typ je NEW en drukje op de R ETU R N toets. New betekent: nieuw. NEW maakt het geheugen van de computer leeg. Je kunt er nu een programma instoppen. NEW maakt het scherm niet schoon. Alles wat er staat blijft dus staan.
9
~
Wat is een programma? Een programma is een lijst met instructies en gegevens voor de computer. Deze instructies en gegevens worden in regels geschreven. Iedere regel heeft een eigen regelnummer.
~
Voorbeeld
Hoe maak je een regel? 10
P RIN T
"H ALL 0"
Om een regel te maken doe je de volgende dingen: Typ een regelnummer en daarna een spatie: 1 0 Typ PRINT en daarna een spatie. Typ "HALLO" . Denk om de aanhalingstekens! Druk op de RETURN toets. betekent: ga terug. RETURN doet 2 dingen: De loper springt weer vooraan op een nieuwe regel. De regel die je net getypt hebt, wordt in het geheugen van de computer gestopt. RETURN
Nu zit regel 10 in het geheugen van de computer. Daar blijft hij zitten tot je de instructie NEW geeft, of tot je de computer uitzet.
~
De instructie
RUN
en de instructie
PRI NT
Je hebt net deze regel in het geheugen van de computer gestopt: 1 0 P RIN T "H ALL 0 " Je hebt het getypt en op de RETURN toets gedrukt. Typ nu RUN en druk weer op de RETURN toets. De computer heeft HALLO op het scherm geschreven. Daaronder schrijft hij READY . De computer is klaar voor de volgende opdracht. Wat is er gebeurd? De instructie RUN zegt tegen de computer: Kijk inje geheugen of er een programma in zit. Ja? Doe dan wat er in dat programma staat.
10
De computer moet de PRINT instructie uitvoeren. De PRINT instructie geeft de computer opdracht om alles wat tussen aanhalingstekens staat op het scherm te schrijven. De computer schrijft: HALLO RUN betekent hier: Voer het programma uit. PRINT betekent hier: Schrijf op het scherm. Let op!
Typ altijd precies wat er in de programmaregels staat. Doe je dat niet, dan zegt de computer: ?... ERROR IN XX . Je hebt een fout gemaakt in regel xx. Voor het woord ERROR staat nog een Engels woord. Dit woord vertelt je wat voor fout je hebt gemaakt. Een lijstje met foutmeldingen vind je achterin het boek. Na elke programmaregel moetje op de drukken.
~
RET U RN
toets
Het getal 0 en de letter '0' De computer maakt een nul altijd zo: 0 En de letter 0 altijd zo: 0 Let erop dat je dit altijd goed doet. Anders zegt de computer: ?ERROR Bijvoorbeeld: Goed: Fout:
~
10
P RIN T
"H ALL 0 "
10
P RIN T
"H ALL 0 "
Een programma typen, uitvoeren en begrijpen Maak het geheugen leeg met de instructie Denk aan de RETURN toets.
NEW .
11
Typ
Typ nu dit programma: REM EERSTE PROGRAMMA 2 PRINT " HALLO " 3 PRINT " ALLEMAAL " RUN
Wat gebeurt er met de regels? Regell - De computer slaat deze regel over. De computer doet niets met een REM . REM is de afkorting van het Engelse woord remark. Remark betekent: opmerking of notitie. Met een REM maakje kleine notities of opmerkingen voor jezelf in een programma. Hier is een REM gebruikt om het programma een naam te geven. Regel 2 - De computer schrijft ( PRI NT) HALLO op het scherm. Regel 3 - De computer schrijft (PRI NT ) ALLEMAAL op het scherm. RUN - De computer voert de instructies regel voor regel uit. Hij begint met het laagste regelnummer (l) en gaat in volgorde verder (2, 3).
~
Hoe nummer je regels? In het vorige programma hadden we de regels ne~es in volgorde genummerd. Als je zelf een programma maakt sla je meestal een paar nummers over. Kijk maar:
Voorbeeld
10 REM EERSTE PROGRAMMA 20 PRINT "HALLO " 30 PRINT " ALLEMAAL "
Het is hetzelfde programma, maar we hebben andere regelnummers gebruikt. De regels zijn nog steeds in volgorde, maar we hebben nummers overgeslagen. Dat is handig, want dan kun je er later nieuwe regels tussen zetten. Bijvoorbeeld als je een programma wilt veranderen.
12
•
Opdracht Maak eerst het geheugen leeg en het scherm schoon. Maak zelf een klein programma. Gebruik de PRINT instructie om: je naam, je adres, je woonplaats, je hobby's en je lievelingsdier op het scherm te schrijven.
13
Verbeteren en veranderen
2
De PIJL toetsen Letters ertussen zetten met de INST / DEL toets Letters uitgummen met de INST / DEL toets
~
De
PIJL
toetsen
Rechtsonder op het toetsenbord zitten twee toetsen waarop pijl~es staan. Eén wijst naar boven, één naar beneden, één naar rechts en één naar links. Druk een keer op de toets met het pijltje dat naar beneden wijst. De loper springt nu één plaats naar beneden. Houd de PIJ L toets ingedrukt. De loper rent nu naar beneden. Houd nu de SHIFT toets ingedrukt en druk nog een keer op dezelfde toets. Je ziet nu dat de loper één plaats naar boven springt. Houd je de toetsen ingedrukt, dan rent de loper naar boven. Doe hetzelfde met de pijl~es die naar links en rechts wijzen. Zonder SHIFT springt de loper naar rechts, met SHIFT naar links. Door de PIJL toetsen te gebruiken kun je de loper op elke plaats op het scherm brengen. Dit is gemakkelijk als je iets wilt veranderen of verbeteren. Breng nu de loper weer terug op zijn oude plaats. Je kunt ook op de SHIFT + CLR / HOME toetsen drukken, maar dan is ook meteen je hele scherm schoon geveegd.
Typ
10
REM
V 0 U TEN
VER BET E L E N
Breng met behulp van de
14
PIJL
toetsen de loper op de let-
ter V en typ er een F voor in de plaats. Ga nu met de loper naar de letter L en maak er een R van. De fouten zijn er uit en er staat nu: 10 REM FOUTEN VERBETEREN
Druk op RETURN om de regel in het geheugen van de computer te stoppen.
~
Letters ertussen zetten met de
INST / DEL
toets
INST is de afkorting voor het Engelse woord insert. Insert betekent: ertussen voegen. Met deze toets kun je één of meer letters die je hebt vergeten ergens tussen zetten.
Typ
1 5 REM ARM BND
en druk op RETURN. Zoals je ziet staat er een A te weinig in het woord. Breng de loper op de letter na de plaats waar je de nieuwe letter wilt invoegen. Hier is dat de letter N. Houd de SHIFT toets ingedrukt en druk op de INST I DEL toets. Er komt nu een opening links van de letter N, en de loper springt op de open plaats. Typ nu de A en er staat: 15 REM ARMBAND
Alsje de SHIFT toets en de INST / DEL toets ingedrukt houdt, komt er een hele rij openingen. Typ naast de A nu nog een K, zodat er ARMBAKND komt te staan. De rij sluit zich weer als je de SH I FT toets los laat en alleen de INST / DEL toets ingedrukt houdt. De loper rent dan eerst naar de volgende letter, terwijl hij speciale tekens maakt. Dan rent hij terug en gumt de tekens weer uit.
15
~
Letters uitgummen met de
IN ST / DEL
toets
is de afkorting voor het Engelse woord delete. DELETE betekent: weghalen . Met deze toets kun je één of meer verkeerde letters uit een woord halen. In je programma staat: DEL
15 REM ARMBAKND
Zoals je ziet staat er nu een K te veel in het woord. Ga met de PIJL toets naar de letter die staat na de letter die je wilt uitgummen. In ons geval is dat de N en druk op de INST / DEL toets. De letter K is weg en de rest van het woord sluit ne~es aan. Drukje nog een keer op de INST/ DEL toets, dan verdwijnt ook de letter A en staat er weer: 15 REM ARMBND
~
Opdrachten
2
Maak het geheugen leeg en het scherm schoon. Typ de volgende regel : 10 PRINT "IK KOMPUTEL OP
Maak met behulp van de hiervan de volgende zin:
INST / DEL
JOU COMODOLA "
en de
PIJL
toetsen
10 PRINT " IK COMPUTER OP MIJN COMMODORE"
3
Probeer of je met de letter X in een paar PRINT regels een tekening op het scherm kunt zetten . Bijvoorbeeld een gezicht, een auto of een vogel.
16
3
Een paar trucjes
Een regel overslaan Gekleurde letters typen De C LR / H O M E toets in een programma Vaste tekst
Let op!
~
Typ
Voor je een nieuw programma gaat typen maakje altijd eerst: het geheugen leeg en het scherm schoon.
Een regel overslaan
1 0 REM REG ELS 0 VER SLA AN 20 PRINT " DIT IS EEN REGEL" 25 PRINT 30 PRINT " IK HEB EEN REGEL OVERGESLAGEN" RUN Zieje wel, op de plaats van regel 25 staat nu niets. PRINT zonder iets erachter maakt een lege regel. Dit kan soms mooier staan inje programma's.
~
Gekleurde letters typen Met je CO MMODORE kunje ook gekleurde letters typen. Dat gaat heel gemakkelijk en je kunt het gebruiken om er je programma's leuker mee te maken. Laten we het maar eens proberen. Houd de CTRL toets (links op je toetsenbord) ingedrukt en
17
druk nu op de toets waar de 5 op staat. Typ nu je naam maar eens. Zie je, je naam staat nu in roze letters op het scherm. Wilje liever oranje letters? Houd de COMMODORE toets ingedrukt en drukt op de toets waar de 1 op staat. Typ nog eens wat, en je ziet dat alles wat je hebt getypt nu in oranje letters op het scherm staat. CTRL samen met één van de cijfertoetsen geeft gekleurde letters.
+ 1 = zwart CTRL + 3 = rood CTRL
CTRL CTRL
CTRL
+ 5 = paarsroze
CTRL
CTRL
+ 7 = blauw
CTRL
+ 2 = wit + 4 = cyaan + 6 = groen + 8 = geel
De COMMODORE toets samen met één van de cijfertoetsen geeft de volgende gekleurde letters: COMM COMM COMM COMM
+ 1 = oranje
COMM
+ 3 = lichtrood + 5 = grijs 2 + 7 = lichtblauw
COMM COMM COMM
+2 = +4 = +6 = +8 =
bruin grijs 1 lichtgroen grijs 3
Om weer gewone letters te krijgen houdje de COMMODORE toets ingedrukt samen met de toets waarop de 7 staat. Probeer maar. Alles is nu weer gewoon.
+ 9 geeft zwart-op-wit letters. Probeer maar eens. Wil je weer gewone letters? Dat doe je met de toetsen CTRL + o. Wilje het hele scherm weer gewoon en de loper bovenaan? Dan houd je de RESTORE toets ingedrukt en druk je op de RUN / STOP toets. CTRL
Let op!
Typ nooit een instructie in kleur of in zwart-op-wit letters. De computer stopt zo'n instructie niet in zijn geheugen.
18
~
De
CLR / HOME
toets in een programma
Maak eerst het geheugen leeg en het scherm schoon. Telkens wanneer je in een PRINT regel het woord "clear" ziet staan, in kleine letters en tussen aanhalingstekens, doe je dit: Houd de S HIFT toets ingedrukt, typ het aanhalingsteken, houd de S HI FT toets ingedrukt, druk een keer op de C LR / H O ME toets en typ het tweede aanhalingsteken. Op het scherm zie je dan tussen de aanhalingstekens een klein hartje staan. Gesnapt?
Typ
10
REM
DEC L R/ HOM E TOE T S
15
P RIN T
" clear "
20
PRINT
"IK
STA
OP
EEN
SCHOON
SCHERM "
RUN
Als je dit goed hebt gedaan, wordt het scherm schoongemaakt. Je ziet de zin IK
STA
OP
EEN
SCHOON
SCHERM
De computer schrijft eronder: READY . Hij is klaar voor de volgende opdracht. Maak het geheugen weer leeg en het scherm schoon. Let op!
Als je kleine letters ziet staan tussen de aanhalingstekens van een PRINT instructie, betekent dat dus altbd iets speciaals. Bijvoorbeeld: 10
P RIN T
" roze
ROZ E
PAN TER "
is niet: 10
PRINT
" ROZE
ROZE
PANTER"
maar: Typ
10
P RIN T "
19
Druk op CTRL + 5 Ge ziet nu een speciaal tekentje):
Typ
ROZ E
PAN TE R
Druk op de C OMMODORE toets + 7 Ge ziet weer een tekentje) en dan:
Typ Druk op RETURN en typ RUN . Telkens wanneer je in een PRINT instructie gekleurde letters gebruikt zie je een speciaal tekentje. Dat is voor de computer het teken dat hij een bepaalde kleur op het scherm moet brengen. Het lijkt misschien wel wat rommelig, maar geef nu maar eens de instructie RUN enje ziet dat de woorden ROZE PANTER ne~es in het roze op het scherm staan. De tekentjes zijn verdwenen. Maak het scherm nu weer gewoon (RE STOR E + R UN / sTo r)
~
Vaste tekst Letters, cijfers en leestekens noemen we allemaal tekens. Zelfs een spatie is een teken. Allemaal tekens achter elkaar geschreven maken samen een 'tekst'. Een tekst tussen aanhalingstekens noemen we een 'vaste tekst'. Het is een 'tekst', omdat het bestaat uit letters, cijfers en leestekens. We noemen het een 'vaste tekst' , omdat de tekens hetzelfde blijven. Een vaste tekst verandert niet wanneer het programma wordt uitgevoerd. Kijk eens naar de volgende PRINT instructies, ze hebben allemaal een 'vaste tekst':
Typ
10
P RIN T
" SUSA N "
+ 7"
20
PRINT
" 3
30
PRINT
" 284 "
40
PRINT
"IK
RUN
20
BEN
12
JAAR"
Opdrachten 4
Maak een programma dat je voornaam, je achternaam en je adres op het scherm schrijft. Je voornaam in gewone letters. Een lege regel. Je achternaam in gele letters. Nog een lege regel. Je adres in oranje letters.
21
Een programma veranderen
4
De LIST instructie Een regel ertussen zetten Een regel uitgummen Een regel veranderen
~
De LIST instructie
Maak het geheugen leeg en het scherm schoon.
Typ
10
REM
PROBEER
PROGRAMMA
20
P RIN T
"clear "
30
P RIN T
" IK
40
P RIN T
" 0 P MIJN "
60
P RIN T
"COMPUTER "
TYP
DIT
PROGRAMMA "
RUN
De computer heeft het programma uitgevoerd. De tekst staat nu op het scherm, maar de programmaregeIs niet. Ze zitten nog wel in het geheugen van de computer. Wilje regel 30 nog eens zien?
Typ
LIS T
30
en druk op
RETURN.
De computer schrijft nu alleen regel
30 op het scherm. Wil je meer regels zien?
Typ
LIS T
10 -
30
en druk op RETURN. Nu staan de regels het scherm.
22
10, 20
en 30 op
Wil je het programma zien vanaf regel 30?
Typ
LIS T
30-
en druk op RET u RN.Je ziet nu dat vanaf regel 30 het hele programma op het scherm staat. En als je het programma tot regel 30 wilt zien?
Typ
LIS T
- 30
en druk op RET URN. Nu staan alle regels vanaf het begin tot en met regel 30 op je scherm. Wilje nu het hele programma nog eens zien?
Typ
LIST
u
(zonder regelnummer) en druk op RETU RN. Je hele programma staat nu weer op het scherm. LI ST betekent: maak een lijst van de programmaregels en schrijf die op het scherm. Wil je het programma nog eens zien zonder regelnummers en instructies?
Typ
RUN
Je ziet dat de computer heeft gedaan wat er inje programma stond.
Een regel ertussen zetten Heb je een regel vergeten in je programma? Die kun je er gemakkelijk tussen zetten. Geef maar eens de instructie LIST en druk op RETU RN. Het vorige programma staat nu weer op het scherm. Typ nu de volgende regel:
Typ
50 PRINT " COMMODORE "
(Denk aan RET URN.) Geef nu nog eens de instructie
LIST .
23
Regel 50 staat nu netjes op de goede plaats in je programma.
~
Een regel uitgummen
Wil je een regel uit je programma 'uitgummen'? Dat is nog gemakkelijker. Staatje programma nog op het scherm?
Typ
60
zonder iets erachter en druk op RETURN . Geef opnieuw de instructie LI ST en je ziet dat regel 60 is verdwenen.
~
Een regel veranderen
Wil je een regel veranderen? Bijvoorbeeld regel30? Zet dan deze regel 30 onder je programma. 30
PRINT" IK
LEER
COMPUTEREN"
De oude regel 30 staat nog steeds op het scherm. Geef de computer de instructie LI ST en je ziet dat regel 30 is veranderd. Geef nu de instructie RUN om het nieuwe programma op het scherm te zien.
~
Opdrachten
5
M aak zelf een programma van 5 regels. Gebruik een REM regel. Gebruik PRINT instructies om de beschrijving van een dier op het scherm te zetten. Maak je programma wat leuker door hier en daar een lege regel tussen te voegen. Laat de computer je programma uitvoeren. Breng het programma terug op het scherm. Verander nu een regel en LIST. Gum een regel uit en LIST. Laat de computer je programma nog eens uitvoeren.
6
24
5
Hoe je iets in het geheugen stopt
Variabele tekst De LET instructie N aam en waarde De INPUT instructie
Weetje nog wat een 'vaste tekst' is? Een 'vaste tekst' is een aantal tekens tussen aanhalingstekens.
Voorbeeld
~
Let op!
10
P RIN T
"K U I F JE "
Variabele tekst We kennen ook een 'variabele tekst'. Variabel betekent wisselend en dat is precies wat het is. De tekst kan veranderen. Je kunt verschillende teksten in een doos in het geheugen stoppen. Er kan maar één tekst tegelijk in de doos! Een 'variabele tekst' krijgt altijd een naam. Dat kunnen een of twee willekeurige letters uit het alfabet zijn, behalve de lettercombinatie TI, die is door de makers van C OMM O D O RE al gebruikt. Je mag ook een combinatie van een letter en een cijfer gebruiken. Je moet er altijd $ achter zetten. Zonder spatie. De $ is het 'string'-teken:
Voorbeeld
spreekje uit als A string. spreek je uit als B string. DM$ spreek je uit als DM string. Kl$ spreekje uit als KI string.
A$
B$
25
~
De
LET
instructie
Er zijn twee manieren om een tekst in een doos in het geheugen te stoppen. Een ervan is de LET instructie. Met de LET instructie stoppen we dingen in dozen.
Typ
10
REM
15
P RIN T
20
LET
30
P RIN T
TE KST
DOOS
"clear "
A$ =" KUIFJE " A$
RUN
De computer doet dit: Regel 15 - De computer maakt het scherm schoon. Regel 20 - De computer pakt de 'tekst' KUIFJE en stopt die in de doos waar A $ op staat. Regel 30 - De computer ziet dat hij op het scherm moet schrijven ( PRINT) wat er in doos A $ zit. Hij neemt de doos A $ en maakt een kopie van de tekst K U I FJE , want die zit er m. Hij zet de kopie op het scherm. De tekst K U IFJE zit nog steeds in de doos A$. LET A$ - "KUIFJE " betekent: laat A$ K U IFJ E zijn. R UN - De computer schrijft op het scherm: KUIFJE en daaronder READY . Hij is klaar voor de volgende opdracht.
~
Naam en waarde
In het vorige programma is de naam van de variabele tekst A$. Deze naam wordt als het ware op de voorkant van de doos gezet. De waarde van de variabele tekst is K U IFJ E . De waarde wordt in de doos gestopt.
Let op!
Iedere doos heeft zijn eigen naam. Je kunt net zoveel dozen maken als je wilt, maar elke doos moet een andere naam hebben. Voor de naam van de doos mag je elke letter, een combi-
26
natie van twee letters of een letter en een cijfer gebruiken, behalve de lettercombinatie TI. Bovendien: gebruik als naam voor je tekstdoos nooit een BAs Ic -instructie van twee letters.
~
De INPUT instructie
De tweede manier om een doos te vullen is met de instructie. INPUT betekent: stop er iets in. Typ het volgende programma. Denk erom dat je de spaties na BOTERHAM en MET typt!
Typ
"clear
10
P RIN T
20
LET
A$ = "DUS
JE
30
LET
K$ = " MET
"
40
P RIN T
50
PRINT
60
IN PUT
70
PRINT
80
P RIN T
"WAT
11
HEB
EET
JE
EEN OP
JE
BOTERHAM
"
BOTERHAM7 "
Z$ A$ ; K$ ; Z$
Als je het vraagteken ziet, mag je daar iets achter typen. Dan drukje op de RET URN toets. Alsje bijvoorbeeld KAAS typt, stopt de computer dit woord in de doos met de naam Z$. Door de INPUT instructie stelt de computer je een vraag. Zag je het vraagteken? Haal het programma terug met de LIST instructie. Dit gebeurt er: Regel Regel
De computer maakt het scherm schoon. De computer neemt de tekst DUS JE EET EEN BOTE RHAM en stopt die in de doos met de naam A$ . Regel 30 - De computer neemt de tekst MET en stopt die in de doos K$. Regel 40 - De computer schrijft WAT HEB JE OP JE BOTERHAM? op het scherm. Regel 50 - De computer schrijft een lege regel. 10 -
20 -
27
Regel 60 - De computer zet de loper met een vraagteken op het scherm. Dit betekent dat de computer wil datje er iets achter typt. Het woord dat je typt wordt de tekst voor Z$. De computer pakt je woord en stopt dit in de doos met de naam Z$. Dit woord mag elke keer dat je het programma uitvoert iets anders zijn. Regel 70 - Dit is weer een lege regel. Regel 80 - De computer schrijft de waarde van A$, K$ en Z$ op het scherm. In deze regel staat een puntkomma. De betekenis hiervan leggen we je later uit. Telkens als je de instructie RUN typt kun je een ander antwoord geven. Nog een voorbeeld:
Typ
10
REM
DRANKORGEL
20
LET
B$ =" WAT
25
PRINT
WIL
30
P RIN T
B$
35
IN PUT
C$
40
P RIN T
45
P RIN T
" 0 H, WI L
50
P RIN T
C$
55
P RIN T
" LEKKER
P RIN T
C$ ; " ?
60
JE
DRINKEN? "
"clear "
JE " ZEG ,
KR I J G
I K OOK"
11
~
Opdrachten
7
Maak een programma dat naar je naam, je lievelingseten, je favoriete sport en wie je aardig vindt, vraagt. Laat de computer je programma uitvoeren. Schrijf een programma over bijvoorbeeld je favoriete tvprogramma. Gebruik hierin de instructies LET en INPUT . Om het programma steeds anders te maken kun je regels uitgummen, veranderen of erbij maken. Weet je nog hoe dat ging?
8
28
Springen en stoppen
6
Een sprong in je programma maken Een lus Onder elkaar of naast elkaar N aast elkaar of uit elkaar
~
Typ
Een sprong in je programma maken 10 15 20 30
REM OP HOL GESLAGEN P RIN T " clear " PRINT "MIJN REGEL SLAAT OP HOL " GOTO 20
Dit programma stopt niet meer uit zichzelf. Druk op de R UN / STOP toets om het programma te stoppen . Alsje op de RUN / STOP toets drukt, stopt je programma meteen, bij welke regel hij ook is. Op het scherm zie je dan:
BREAK IN XX - gestopt bij regel xx. Op de plaats va{l XX staat het regelnummer waar het programma is gestopt. In regel 30 staat een GOTO instructie. GOTO betekent: ga naar. Iedere keer als de computer bij regel 30 komt, wordt hij teruggestuurd naar regel 20. Hij moet telkens opnieuw de PRINT instructie op het scherm schrijven. Dit is een oneindige 'lus'. Hij stopt niet meer. De GOTO instructie zullen we nog in veel programma's tegenkomen.
29
Typ
GOTO
10
REM
20
P RIN T
EN
BREAK
" clear "
25
P RIN T
"WAAR
30
IN PUT
A$
35
P RIN T
40
P RIN T
" WAT
45
IN PUT
B$
50
P RIN T
55
P RIN T
" I K HAAT
60
P RIN T
" EN
65
PRINT
70
GOTO
HEB
DOE
J E EEN
J E HET
HEK EL
AAN? "
LIEFST? "
" ; A$
I K HOUD
VAN
" ; B$
25
Je kunt telkens een ander antwoord geven. Druk op de R UN / STO P toets om het programma te stoppen. Zie je de pijl van regel 70 naar regel 25? Deze pijl laat zien wat de GOTO instructie doet. Als je je programma's eerst op papier schrijft, kun je zulke pijlen ook in je programma tekenen . Vooral in het begin is dit voor jezelf gemakkelijk.
~
Een lus
Met de GOTO instructie maak je een sprong in je programma. Zo'n sprong noemen een lus. Kijk, de weg door dit programma loopt zo:
r-; ~
10
PA1NT
20
GOTO
"HALLO" 10
~
In dit programma blijft de computer rondjes draaien .
30
~
Typ
Onder elkaar of naast elkaar 10
REM SPE L LET J E
20
P RIN T
30 40
P RIN T " BOTER " P RIN T " KAA S " P RIN T " EN"
45
P RI N T
35
" E IER EN "
Elke PRINT instructie wordt op een aparte regel geschreven. Zet nu de volgende regels er nog onder. Denk erom dat je de spatie en de puntkomma achter BOTER, K A A S en achter EN niet vergeet!
Typ
6 0 P RIN T " BOTER 6 5 PRINT " KAAS 70
P RIN T
" EN
" ,. "
,.
" ,.
8 0 P RIN T " EIEREN "
Zie je het verschil? Let op!
Typ
De puntkomma zorgt ervoor, dat de volgende PR INT instructie op dezelfde regel wordt gezet. Let wel op de spaties! Anders worden de woorden aan elkaar geschreven. Nog een voorbeeld. Denk aan de spatie voor en na E N in regel 55. 10 20 25 30 35 40
REM BEROEMD DUO P RIN T " HOE HE ET
JE ? "
IN PUT M$ P RIN T " HOE
JE
P RI N·T " WI J DUO " 5 0 P RIN T 5 5 P RIN T M$ ; " 45
HE ET
VRIEND(IN )?"
IN PUT P $ P RIN T " clear " PRE SEN TER E N U HET
EN
BEROEMDE
" ; P$
31
Naast elkaar of uit elkaar Typ
Let op!
10
P RIN T
" P 0 P " ;"
20
PRINT
" POP" , " OF ", " PUNK "
0F
";" P U N K "
Als je een komma zet tussen twee dingen in een PRINT instructie, haalt de computer de woorden uit elkaar en zet ze in kolommen.
~
Opdrachten
9
Maak een programma dat de naam van je favoriete popgroep vraagt en één van hun liedjes. Geef dan een PRINT instructie die de naam van de groep en de titel van het liedjes afdrukt. Zet het woord Z I N GT ertussen. Verander het vorige programma. Zet er regels tussen. Gebruik nu 3 PRINT instructies. Zorg ervoor dat de computer deze instructies op het scherm schrijft. Maak een programma dat steeds de naam van je favoriete popgroep op het scherm schrijft. Hoe stop je dit programma?
10
11
32
7
De IF... THEN instructie
De weg splitst zich Gelijk aan ... en niet gelijk aan ...
betekent: als ... dan. In het volgende programma geven we een voorbeeld van de IF ... THEN instructie. IF ... THEN
Typ
REM VOORBEELD P RIN T " clear " 2 5 PR I NT " HOUD JE VAN DIEREN7
10
15
(JA OF NEE
) "
30 35 40
INPUT L$ IF L$ =" JA " THEN PRIN T " LEUK , I K OOK " IF L$ =" NEE " THEN PRINT " JAMMER , IK WE
L"
Probeer de antwoorden JA,
NEE
en
SOMS.
Wat gebeurt er: RegelS5 - De computer kijkt of (IF) L$- "JA". Als L$ gelijk is aan "jA", dan (THEN) voert de computer de instructie uit die na THEN staat. Als L$ niet gelijk is aan "j A", gaat de computer naar de volgende regel. Hij voert de instructie die na THEN staat niet uit. Regel 40 - De computer kijkt of L$ - "NEE". Als L$ - "NEE", dan voert de computer de instructie uit die na THEN staat. Dus de computer schrijft op het scherm: JAMMER,
IK WEL
33
Als L$ niet gelijk is aan "NEE", gaat de computer naar de volgende regel (als die er is) en kijkt niet naar de instructie die na THEN staat. Nog een voorbeeld:
Typ
ALS , ALS
10
REM
20
LET
K $ = " KLAAR "
25
LET
O$ = " VO L GENDE "
30
LET
P$ =" NOG
35
P RIN T
45
P RIN T
" TYP
50
IN PUT
R$
55
I F R $ = " GO E D"
60
I F R$ = K$
65
I F R$ = " VOGEL"
THEN
70
I F R$ = P$
P RIN T
EEN
K EER "
" clear " EEN WOORD "
THEN THEN
THEN
P RIN T
P RIN T
" JA ,
JA"
P$ P RIN T
" KOEKOEK "
0$
Probeer de volgende woorden: GOED, KLAAR, VOGEL en NOG EEN KEER. Kijk of de IF ...THEN instructie werkt zoals je verwacht.
~
De weg splitst zich Als de computer een IF ...THEN instructie tegenkomt, staat hij op een wegsplitsing. Hij moet kiezen welke weg hij moet nemen. Als we dit met pijlen tekenen ziet het er zo uit: 20
PRINT
" HOE
30
INPUT
F$
L. l 40
50
IF
~
VOEL
JE
F$ = " MOE " ,-. THEN
JE? "
PRINT
" GA
BED "
(nieuwe instructie)
Als F$ =" MOE " dan kijkt de computer wat er na Hij voert de instructie uit.
34
NAAR
t
THEN
staat.
J
Als F$ iets anders is, gaat de computer naar de volgende regel. Hij slaat alles over wat er na THEN staat.
~
Gelijk aan ... en niet gelijk aan ... Het teken voor 'is gelijk aan' ken je: = Het teken voor 'is niet gelijk aan ' is < > Om dit teken te maken houd je de S HIFT toets ingedrukt, je drukt op de < toets en dan op de > toets. In het volgende programma staat een voorbeeld.
Typ
10
P RIN T
"H E B
20
INPUT
E$
25
IF
ETS 30 MET
E$="JA"
J E DOR ST ? THEN
(J A 0 F NEE)"
PRINT
"GA
DAN
EERST
DRINKEN " IF
E$ <>" JA"
THEN
PRINT
" GA
DAN
VERDER
DEL ES "
Dit gebeurt er: Regel 25 - Als de 'tekst' in doos schrijft de computer:
1'. $
gelijk is aan
"j
A",
GA DAN EERST IETS DR INKEN
Regel 30 - Als de waarde van 1'.$ niet gelijk is aan de tekst "j A", dan schrijft de computer: GA DAN VERDER MET DE LES
~
12
13
Opdrachten Maak eens een BR O ODJ E MET programma. Vraag wat iemand op zijn broodje wil hebben. Laat de computer iets geks antwoorden voor elk soort beleg dat gekozen wordt. Als je bijvoorbeeld KA AS kiest, kunje antwoorden : V AN DA AG BE N j E DE BA A S. Maak een programma RA A D DE KL EU R. Een speler stopt een kleur in tekstdoos C$. De andere speler probeert de kleur te raden door achter het INPUT vraagteken een kleur in te vullen.
35
Gebruik hiervoor 2 IF." TH EN regels. Een regel met 'is gelijk aan', voor als het gokje goed is. Een regel met 'is niet gelijk aan' voor als het gokje fout IS.
36
Werken met getallen
8
Variabelen De reken-tekens Rekenen met de LET instructie Het ~ teken liegt soms
Tot nu toe hebben we meestal een 'tekst' gebruikt bij de instructies PRINT , LET en INPUT . We gaan ze nu ook voor getallen gebruiken. Typ het volgende programma:
Typ
10
REM
GROTER
15
P RIN T
" clear "
20
PRINT
" G E EF
25
PRINT
"VAN
30
IN PUT
G
35
LET
40
PRINT
45
PRINT
ME TEN
EEN
GETAL "
HOOGSTE
4
CIJFERS"
A = G+ l " 0 E COMPUTER
50
P RIN T
" EEN
55
P RIN T
A
60
GOTO
GROTER
GEEF T GETAL
JOU" TERUG "
20
Wat gebeurt er in het programma? Regel 30 - De computer wacht ne*s tot je een getal intoetst. Hij neemt het getal en hij pakt een nieuwe doos, zet de naam G erop en stopt het getal erin. Regel 35 - De computer neemt het getal uit doos G . Hij telt er 1 bij op. Hij stopt dit nieuwe getal in een andere doos, en zet er de naam A op.
v 37
Regel 55 - De computer neemt de doos met A erop. Hij pakt een kopie van het getal dat erin zit en schrijft dit getal op het scherm. Het originele getal A zit nog steeds in de doos. Regel 60 - De computer gaat terug naar regel 20, zodat je nog eens een getal kunt geven.
~
Variabelen
N et als een tekst worden ook getallen in een doos gestopt. In hoofdstuk 5 vertelden we je dat achter de naam van de doos waarin je een 'variabele tekst' stopt, altijd dit teken staat: $. Bijvoorbeeld: A$, K$, N$. De naam van de doos waar een 'variabel getal' in zit heeft dit niet. Je laat het $ teken dan weg. Bijvoorbeeld: A, K, N.
~
De reken-tekens
Het - teken, het = teken en het + teken worden op dezelfde manier gebruikt als bij gewoon rekenen. De computer gebruikt een * als vermenigvuldigingsteken. Het deel-teken maakje zó: / . Het zit op dezelfde toets als het vraagteken.
~
Typ
Rekenen met de LET instructie 10 15 20 25 30 35
A= 8 LET B = 1 2 LET C= A+ B P RIN T " C = " ; C LET O= C * A LET
P RIN T
In de
38
LET
" 0 = " ;0
instructie magje het woord
LET
weglaten. De
computer weet dat je LET bedoelt als je de regel begint met de naam van de 'variabele', gevolgd door het ~ teken. Deze beide regels doen precies hetzelfde: 10
LET
R ~ 12
10
R~ 1 2
10
A$ ~" HOI"
en deze regels ook: 10
LET
A$ ~ "HOI"
In het volgende programma hebben we Typ
Let op!
10
LET
weggelaten.
A ~3 5
20
B~ A I 7
30
Z ~ B * (3 + 15)
40
P RIN T
11
50
P RIN T
" Z~ " ; Z
8=
"
;
B
Een getal tussen aanhalingstekens is een tekst. "1984" is geen getal, maar een tekst, want het staat tussen aanhalingstekens. Je kunt niet rekenen met cijfers die in een tekst staan . Goed: 1 0 LET A ~ 2 + 4 Goed: 2 0 B ~ 1 2 - 5
Fout: 1 0 LET A $ ~ 2 + 4 Fout: 2 0 B ~ " 1 2 " - " 5 "
Als je zo'n foute regel typt zegt de computer ?TYPE MISMATCH ERROR IN XX .
Kijk maar eens goed naar deze regels. Welke regel is er fout en waarom? Wat denkje dat de computer doet als je dit programma typt? Probeer maar.
Typ
Let op!
10
LET
E~ 8
20
LET
A$ ~" 10"
30
LET
K ~ E+A$
Je kunt getallen en teksten wel in dezelfde PRINT instructie zetten, maar je kunt er dan nîét mee rekenen. Kijk maar:
39
Typ
~
10
P RIN T 4 * 2 ;"
Het
=
I S GEL IJK
AA N 4 * 2 "
teken liegt soms
Het - teken betekent bij het computeren niet altijd 'is gelijk aan'. Bekijk deze regel: 20
A= A+ 1
Rekenkundig kan dat natuurlijk niet. Stel dat A - 5. Dan staat er: 5 = 5+1 dus 5 - 6. Dat klopt niet. Maar bij computeren mag je wél zeggen A - A+1. Het = teken betekent dan: vervang dit door. Wat gebeurt er met deze regel: 20
A= A+ 1
De computer gaat naar de doos met de naam A erop. Hij pakt het getal 5 uit de doos en telt er 1 bij op. Dan stopt hij het nieuwe getal 6 weer in de doos. Het betekent dus eigenlijk: de nieuwe A is gelijk aan de oude A + 1. We zullen dit in raadspelletjes veel gebruiken.
~
14
15
Opdrachten
Maak een programma dat twee getallen vraagt. De getallen worden dan vermenigvuldigd en op het scherm geschreven. Maak een programma dat naar je leeftijd vraagt, en naar het jaar waarin we nu leven. Trek deze beide getallen van elkaar af en laat de computer je geboortejaar als antwoord geven. Word je nog jarig dit jaar? Vul dan in hoe oudje wordt. Anders geeft de computer een verkeerd jaartal. Denk eraan datje PRINT instructies gebruikt. Hierin zet je wat er gevraagd wordt, en wat het laatste getal betekent. (JE BENT DUS GEBOREN IN )
40
9
Rondjes lopen
Vertragen De computer loopt rondjes Stap voor stap Aftel-lussen Een lus in een lus De 'variabele' in de lus Verkeerd 'geneste' lussen
~
Vertragen Om stukken of een stuk in je programma langzamer te laten lopen gebruikje de FOR".NEXT instructie. Voorbeeld:
Typ
LANGZAMER
10
REM
15
P RIN T P RIN T
20
" clear " " E VEN
T= 1
25
FOR
30
P RIN T
TO
WACHTEN" 1 500 : N E X T
T
"KLAAR"
In regel 25 staat: Neem voor T (ijd) 1 TO (tot) 1500: NEX T T (dan de volgende T). Dit betekent dat de computer telt van 1 tot 1500, voor hij met de volgende instructie verder gaat. Het is net als wanneer je hem bent met verstoppertje spelen. De FOR".NEXT instructie maakt de 'vertragingslus'. Verander het getal 1500 in regel 25 maar eens in bijvoorbeeld 3500. Geef nog eens de instructie RUN . Je ziet dat het nu langer duurt. De FOR".NEXT instructie gebruiken we bijvoorbeeld bij het maken van spelle~es.
41
~
De computer loopt rondjes
Maar de computer is nog knapper. Terwijl hij telt kan hij andere dingen doen. Kijk maar eens.
Typ
••
ZEVEN
10
REM
20
P RIN T "clear " FOR T ~ 1 TO 7
30 35
P RIN T
40
NEXT
45
P RIN T
" DI T
KEER
STOM
••
EEN
STOM
PROGRAMMA "
IS
T " H E HE,
DAT
STAAT
ER 0 P "
Dit noemen we een lus. De computer komt zo vaak terug bij regel 30, tot regel 35 7 keer op het scherm staat. Pas dan gaat hij verder met de volgende regel. Je kunt het eerste deel van de lus (het FOR .. . TO stuk) in elk regelnummer beginnen, en het tweede stuk ( NEXT) bij elk hoger regelnummer laten ophouden. Nog een voorbeeld.
Typ
»
10
REM
15
P RIN T
30
FOR
"clear "
T~ 10
25
P RIN T
30
NE X T
35
P RIN T
«
TELLEN TO
30
" EN
DAT
" JE
ZIE T, TELLEN
IS
" :T
T KAN
I K WE L "
Zie je wat de computer doet? Probeer voor regel 20 ook de volgende veranderingen:
~
20
FOR
T ~ 200
20
FOR
T ~
20
FOR
T ~ 5.6
TO
- 8 TO TO
201 12 9.2
Stap voor stap
In het vorige programma telt de computer telkens met één tegelijk. Dit noemen we een STE P. STEP betekent: neem stappen van ... Verander regel 20 nog maar eens een keer:
42
20
FOR
T=20
TO
40
STEP
2
De computer telt nu met twee tegelijk. Hoe moetje regel 20 nu zo veranderen dat de computer van 10 tot 100 telt in stappen van 1O? Probeer maar. ~
Aftel-lussen Je kunt de computer ook laten aftellen. Dan gebruik je een negatieve STEP . Een negatieve STEP is tellen met een getal kleiner dan o. Bijvoorbeeld: STEP - 2 of STEP - 5 Kijk maar naar het volgende programma.
Typ
10
REM
*** LANCERING
20
P RIN T
"clear "
30
P RIN T
" BEN T
AT
DAN
ALL E MOTOREN
35
FOR
T= 1
40
P RIN T
45
P RIN T
50
P RIN T
55
P RIN T
60
P RIN T FOR
70
P RIN T
KLAAR
" O.K. HET TO
0
VOOR
RAKET ***
DE
START?
LA
DRAAIEN"
650 : NEXT
" ALL E MOTOREN
A= 1 5
65
T DRAAIEN "
AFTELLEN STEP
BEGINT
NU "
- 1
A
75
FOR W= 1
80
NEXT
85
P RIN T
90
FOR
95
P RIN T
100
TO
U
COMMODORE
TO
650:NEXT W
A " 15
T= 1
P RIN T
TO
SECONDEN 650 : NEXT
"OPDRACHT
OVER
2"
T
UITGEVOERD , RAKET
I S
GELANCEERD!!I"
~
Een lus in een lus In het vorige programma hebben we een lus in een lus gebruikt. De buitenste lus begint bij regel 65 en eindigt in regel 80. De binnenste lus zit in regel 75. We zeggen: de lussen zitten 'genest'.
43
Het is net als een 'nest' schalen, of een set dozen die precies in elkaar passen. ~
r
De 'variabele' in de lus Om er zeker van te zijn dat elke FOR instructie weet welke NEXT bij hem hoort, eindigt elke NEXT instructie met de naam van de variabele die we bij de FOR instructie hebben gebruikt. Kijk maar naar regel 75:
75
FOR
W~1
TO 650 : NEXT W
w is de naam van de variabele in de lus. Kijk naar de regels 65 en 80.
65
FOR
A~15
TO 0 STEP -1
80 NEXT A Hier is ~
A
de naam van de variabele in de lus.
Verkeerd geneste lussen Als je meerdere lussen in je programma gebruikt, moet je er goed op letten dat de binnenste lus ook altijd binnen de buitenste lus blijft.
Voorbeeld
~
16
Goed: 2 5 FOR A~2 TO 1 0 3 0 FOR Z= 5 TO 1 0 3 5 P RIN T A+Z 40 NEXT Z 45 NEXT A
Fout: 2 5 FOR A~2 TO 1 0 30 FOR Z~5 TO 1 0 3 5 P RIN T A+ Z 40 NEXT A 45 NEXT Z
Opgaven Maak een programma dat je naam scherm zet.
44
10
keer op het
17
Schrijf nu je eigen naam op een regel en de naam van je vriend(in) op de volgende regel. Laat de regels telkens wisselen, tot beide namen 5 keer op het scherm te zien zijn geweest.
45
10
Getallen in de IF... T HEN instructie
Nog meer rekenkundige tekens WAAR
of N I E T
WAAR
De dubbele punt Fouten met de dubbele punt
~
Nog meer rekenkundige tekens In de rekenkunde kennen we meer tekens dan we in les 8 hebben gezien . Kijk maar:
Voorbeeld
Gelijk aan Kleiner dan < Groter dan> Ongelij kaan < > Als er staat: 3 < 4 zeggen we 3 is kleiner dan 4 3 < > 4 zeggen we 3 is ongelijk aan 4 4 > 3 zeggen we 4 is groter dan 3 In het volgende programma staan enkele voorbeelden.
Typ
10
REM
15
P RIN T
20
P RIN T
".HOEVEEL
25
IN PUT
B
30
I F
ROTE 35 LLE
46
HOEVEEL
B< 4
EET
JE ?
" clear "
TH EN
BOTERHAMMEN
P RIN T
" JE
PRINT
"TJEE ,
BENT
EET
JE? "
OOK
GEEN
G
ETER! "
IF
8> 5
BOLLE
THEN
GIJS WEL"
JIJ
LIJKT
HO
40 IF 8 - 4 THEN PRINT " NOU DAT LIJKT ME H EEL AARDIG" 50 IF 8 - 5 THEN PRINT " DA ' S EEN HANDVOL 8 ROOD "
~
WAAR
of NIET WAAR
De volgende stellingen zijn WAAR of NIET WAAR. Zeg welke stelling WAAR is en welke NIET WAAR. Stel A - 8 B = 4 c- 4 A-B
WAAR
A>B
WAAR
NIET WAAR
A
WAAR
NIET WAAR
B-C
WAAR
NIET WAAR
B<>C
WAAR
NIET WAAR
NIET WAAR
Een stelling of gezegde kan dus W <\AR of NIET WAAR zijn. Kijk maar: sneeuw is wit rood is blauw water is nat ij s is lekker
WAAR
NIET WAAR
WAAR
N I ET WAAR
WAAR
N I ET WAAR
WAAR
N I ET WAAR
Je ziet, soms is een stelling voor de ene persoon WAAR, maar voor een ander NIET WAAR. Ik vind ijs lekker, voor mij is dat dus WAAR, maar ik weet niet of jij ijs ook lekker vindt. Hier is nog een programma:
Typ
10 15 20 25 30 40 50 60 80
LET 8 - 1 P RIN T " clear " 1 F 8 - 1 3 TH EN P RIN T " PECHVOGEL " FOR T- 1 TO 7 5 0 : NEXT T LET 8 - 8 + 2 I F 8 > 2 5 THEN GOTO 8 0 GOTO 2 0 P RIN T PRINT "K LAAR"
47
Dit gebeurt er in het programma: Regel 10 - De computer stopt het getal 1 in geheugendoos B. Regel 15 - Maakt het scherm schoon. Regel 20 - Als de stelling B=13 WAAR is, schrijft de computer PECHVOGEL op het scherm. Regel 25 - De computer telt tot 750 voor hij verder gaat met de volgende regel. Regel 30 - De computer gaat naar geheugendoos B. Hij haalt het getal 1 eruit en telt er 2 bij op. Dan stopt hij het nieuwe getal terug in de doos. Regel 40 - Als de stelling 'B is groter dan 25' W AA R is, gaat de computer naar regel 80. Hij voert dan de instructie uit die daar staat. Als de stelling ' B is groter dan 25 ' N IET WAAR is, gaat de computer naar de volgende regel. Regel 50 - De computer gaat terug naar regel 20. Dat doet hij zolang tot hij in doos B een getal vindt dat groter is dan 25. Regel 60 - PRINT instructie voor een lege regel. Regel 80 - PRINT instructie voor het woord KLAAR . Hoe vaak denk je dat de computer terug moet gaan naar regel 20, voor hij het getal 25 in doos B vindt? Wat komt er op het scherm te staan als je regel 10 verandert in LET B= 2?
~
De dubbele punt Je kunt een dubbele punt gebruiken om meerdere opdrachten in dezelfde regel te zetten. Dit bespaart geheugenruimte.
Voorbeeld
Zonder: 10
IF X<> 2 THEN GOTO 90
15
A= 2
20
B= 5
48
25 PRINT 30 PRINT "GOED ZO" 9 0 (nieuwe instructie) Met:
10 IF X- 2 TH EN Ä- 2 : B- 5 : PRINT : PRINT " GOED ZO " 9 0 (nieuwe instructie)
~
Fouten met de dubbele punt Maar ... let op!
Voorbeeld
1 0 I F X- N TH EN P RIN T "G EWO NNE N" 1 5 L- M Is niet hetzelfde als:
50
IF X- N THEN PRINT " GEWONNEN ":
L- M
Want L - M in regel 15 wordt altijd uitgevoerd, ongeacht ofx - N WAAR of NIET WAAR is. L - M in regel 50 wordt alleen uitgevoerd als x - N WAA Ris. Een REM en een GOTO instructie moeten altijd aan het eind van een regel worden gezet. Alles wat na een REM of een GOTO staat, slaat de computer over. Goed: 2 5 L- 2 5: REM LIS DEL ENG T E Fout: 2 5 REM LIS DEL ENG TE : L- 2 5 Na het zien van een REM gaat de computer naar de volgende regel. Hij ziet L - 25 dus niet meer. Goed:
60 X+ B- 4 : GOTO 100 70 Ä- B- 1
49
Fout: 60 X+ B= 4 : GOTO 100 : A= B-1
In de foute regel
60
komt niet terug om
Typ
~
18
19
gaat de computer naar regel A - B-l uit te voeren.
100
en
REM RAAD HET GETAL REM SPEL VOOR TWE E PERSONEN PRINT " clear " P RIN T " SPE LE R 1 GEEF T EEN GETAL " IN PUT A P RIN T " clear " P RIN T " RAAD HET GETAL " 70 IN PUT B 8 0 I F B
A THEN PRINT " TE GROOT " 1 00 I F B=A THEN GOTO 1 2 0 1 1 0 GOTO 60 120 PRINT " GOED GERADEN "
10 12 20 30 40 50 60
Opdrachten Maak het vorige prQgramma zo, dat er meerdere instructies in dezelfde regel komen te staan. Maak zelf een RAAD HET WOORD spelletje. De tweede speler mag vier keer raden, dan is het spelle~e afgelopen. Gebruik hiervoor onder andere de instructie: R ~ R + 1 voor elke keer dat er geraden wordt.
50
11
Toevallige getallen en de functie INT
Het toeval, de functie RND De functie INT Wat zet je allemaal tussen ( )
~
Het toeval
Als je een dobbelsteen gooit, weet je niet van tevoren welk getal er boven komt te liggen. Dat hangt af van het toeval. Als je kaarten deelt kun je ook niet van tevoren voorspellen welke kaarten iemand krijgt. (Anders speel je vals.) In sommige programma's heb je het toeval nodig. Hiervoor gebruiken we de functie RND . RND is de afkorting van het Engelse woord random. Random betekent: toeval of 'zo maar'. In een programma ziet dat er zo uit:
Typ
10 15 20 25 30
REM TOEVALLIGE GETALLEN P RIN T " clear " T=RND(0) PRINT T IF T< 0 . 95 THEN GOTO 20
Er staan nu een heleboel decimale getallen op het scherm. Deze zijn gemaakt door de RND functie in regel 20. Met decimaal bedoelen we getallen achter de komma. Bijvoorbeeld 0,386. De computer zet op de plaats waar wij meestal een komma zetten een punt. Daar moet je dus even op letten.
51
r Als het getal kleiner is dan 1, laat de computer de 0 die voor de punt staat, weg. Na het woord RND volgt altijd een getal tussen haakjes. Het geeft niet welk getal, als het maar groter dan 0 is. Wil je getallen groter dan 1, dan hoef je alleen maar te vermenigvuldigen. Kijk maar. Verander de regels 20 en 30 uit het vorige programma:
Typ
20
T = RND(0) * 23
30
IF
T < 21
THEN
GOTO
20
< 21 is willekeurig gekozen. De getallen op het scherm zitten nu tussen de 0 en de 23 . Maar meestal hebben we liever hele getallen. Zoals 3 en 12, in plaats van 3,857329 of 12,9532856.
T
~
De functie INT
Om hele getallen te krijgen gebruiken we de functie INT . I NT is de afkorting van het Engelse woord integer. Integer betekent: hele. De INT functie neemt het totale getal, bijvoorbeeld 8,36195. Hij laat alle cijfers achter de punt weg en houdt alleen de 'hele', dus 8 over. Probeer de INT functie in dit programma:
Typ
1 0 A = INT ( 3 . 9 ) 15
PRINT
A
Denk eraan een punt te typen in 3.9 in plaats van een komma! Nog een voorbeeld:
Typ
1 0 A= 3 . 9 12
K= 5 . 7
15 18
Z = A+ K P = INT(A + K)
20
PRINT
52
Z, P
Kijk naar de antwoorden. Je ziet dat de INT functie de cijfers achter de komma (punt) heeft weggelaten. De INT functie zie je het d uidelijkst in dit programma: Typ
10
REM
INT
FUNCTIE
15
P RIN T
" clear "
20
P RIN T
" G E EF
EE N GETA L MET " CIJFERS ACHTER DE PUNT "
22
P RIN T
"5
30
IN PUT
G
40
A= INT(G)
50
P RIN T
" HET
P RIN T
" DE
60
ME
DECIMALE HELE
GETAL
HIERVAN
IS
IS
" ;G
" ;A
Wilje het programma een paar keer doen? Zet deze regel er dan nog onder: 80
~
GOTO
20
Wat zet je allemaal tussen ( ) Getallen Variabelen Berekeningen Functies
: : : :
A = INT ( 4 2 . 5 ) A = INT ( M ) A = INT ( 4 * ( X + 6 ) ) A = INT ( R N D ( 0 ) )
We laten je nu zien hoe je een hoop regels kunt besparen:
Voorbeeld
In plaats van: 2 5 A= RND(0) 30
B= A * 4
3 5 X= INT(B) 40
Y= 2 + X
typ je: 40
Y=2 + INT(RND(0) * 4)
53
Hier is nog een programma. We gooien met twee dobbelstenen tegelijk. Op het scherm komen de getallen te staan die we hebben 'gegooid'. We gebruiken de INT en RND functies in dezelfde regel.
Typ
~ 20
21
1 0 REM DOBBELSTENEN GOOIEN 2 0 P RIN T " 30 A= INT ( RND(0) * 7) 3 5 I F A< 1 THEN GOTO 30 4 0 B= INT ( RND(0)*7) 45 I F B< 1 THEN GOTO 40 5 0 PRINT " 0 P DE EERSTE DOBBELSTEEN STAAT EEN : "; A 60 PRINT 70 PRINT " OP DE TWEEDE DOBBELSTEEN STAAT EEN : "; B 80 PRINT : PRINT 90 PRINT " NOG EEN KEER? JA OF NEE " 100 INPUT B$ 110 IF B$ =" JA " THEN GOTO 20
Opdrachten Probeer of je regel voor regel uit kunt leggen hoe het DOBBELSTEEN programma werkt. Maak zelf een programma waarin je 4 lottocijfers voorspelt. (Of, als je veel tijd hebt, alle.)
54
12
Het opslaan van gegevens
Weinig gegevens in een programma zetten Veel gegevens in een programma zetten De wijsvinger van READ Terug naar af Gemengde gegevens
~
Weinig gegevens in een programma zetten Kleine hoeveelheden gegevens kun je op twee manieren in een programma zetten. Je gebruikt hiervoor de INPUT instructie of de LET instructie. Hier is een voorbeeld. In dit programma is PS het 'gegeven' . Het wordt pas ingetypt als het programma wordt uitgevoerd (RUN t).
Typ W "..,
10 20 30
REM INPUT VOORBEELD P RIN T " clear " P RIN T " IK HEB EEN HEK E L AAN
" ,.
: IN PUT
P$ 40 50 60 '..;
P RIN T " MEE N JE DAT NOU? " P RIN T " J E HEBT DUS EEN HEK EL AAN " P RIN T P $
In het volgende programma zijn A en B de 'gegevens' . Je zet ze in het programma terwijl je het maakt.
55
Typ
~
10
REM
LET
20
P RIN T
25
A = 1 84
30
B= 59 6
40
P RIN T
VOORBEELD
" clear "
B- A
Veel gegevens in een programma zetten Als we veel gegevens in een programma moeten opslaan gebruiken we een DATA opdracht. DATA betekent: gegeven(s). We gebruiken de READ opdracht om de gegevens uit de DATA regel te krijgen . READ betekent: lees. Probeer dit programm a maar eens:
Typ
10
REM
VEE L
20
P RIN T
25
DATA
G E G E VEN S
" clear " ZONDAG,MAANDAG,DINSDAG,WOENSDAG ,
DONDERDAG , VRIJDAG , ZATERDAG 30
READ
A1$
35
READ
A2$
40
READ
A3$
45
READ
A4$
50
PRINT
A1$,A4$
Als je het programma uitvoert (RUN ) zit in doos Al $ het eerste gegeven van de DATA regel: dus ZONDAG. In doos A4$ zit het vierde gegeven: dus WOENSDAG. Het is onbelangrijk waar de DATA regels in een programma staan. Verander regelnummer 25 maar in regelnummer 80. Geef de instructie RUN . Je ziet, het flI'ogramma werkt precies hetzelfde. Het geeft niet hoeveel DATA regels er in je programma staan . Verdeel de DA TA regel maar eens in twee stukken . Je zult zien dat het programma hetzelfde werkt.
56
Typ
80
DATA
ZONDAG , MAANDAG , DINSDA G
85
DATA WOENSDAG , DONDERDAG , VRIJDAG , ZATER
DAG
De wij svinger van
REA D
Stel je voor dat de READ instructie een lange wijsvinger zou hebben. Hij wijst daarmee altijd het volgende gegeven aan dat hij moet lezen. Als het programma begint, heeft READ zijn wijsvinger bij het eerste gegeven in de eerste DAT A regel. (De eerste DAT A regel heeft het laagste regel nummer van alle DATA regels in het programma.) Telkens als het programma een READ instructie heeft uitgevoerd, gaat de wijsvinger van READ naar het volgende gegeven van de DAT A regel. Als het laatste gegeven van een DAT A n~gel is gelezen, gaat de wijsvinger van READ automatisch naar het eerste gegeven van de volgende DATA regel. Het geeft niet of er nog andere regels tussen staan. Verander regel 80 maar weer in regel 25, en laat regel 85 staan. Geef de instructie RUN . Je ziet dat het nog steeds hetzelfde werkt. Let op!
Als READ zijn wijsvinger bij het laatste gegeven van de laatste DAT A regel heeft, zijn er geen gegevens meer om te lezen. Probeer je toch nog een READ opdracht te geven, dan krijg je de volgende boodschap van de computer: ?ERROR-OUT OF DATA
Terug naar af Op elk punt in je programma heb je de keuze uit twee mogelijkheden . Je kunt nog een READ opdracht geven. De wijsvinger gaat dan naar het volgende gegeven in de DATA regel. Je kunt een RESTORE opdracht geven. Zet onder het programma VEEL GEGEVENS maar eens de volgende regel:
57
60
RESTORE
Je kunt nu weer een nieuwe READ opdracht geven. Deze READ begint dan weer met het eerste gegeven in de eerste DATA regel. Als het gegeven waarvoor je een READ opdracht hebt gegeven, het laatste gegeven is dat je wilt hebben, en je wilt daarna weer van voren af aan beginnen in je DATA regels, moetje ook een RESTORE instructie geven.
~
Gemengde gegevens In een DATA regel kun je net zoveel 'getallen' en 'teksten' zetten als je maar wilt. Maar je moet wel oppassen dat je in de READ opdracht de juiste 'variabele' zet om de gegevens te lezen.
Voorbeeld
Goed: DATA 128 , ON ZIN READ A 5 5 READ A$
45
50
(goed: (goed:
is een getal) ONZIN is een tekst) 128
Fout: DATA 128 , ON ZIN 50 READ A$ 5 5 READ A
45
~
22
(goed: 128 is nu een tekst) (fout: ONZIN is geen getal)
Opdrachten Probeer of je een programma kunt maken met de namen van je familie . Als je aan de computer BROER vraagt, geeft hij je de namen van al je broers. In dit programma hebben de DATA regels paren van gegevens. Het eerste gegeven is de familie-relatie zoals vader, moeder, oom, zus enz.
58
23
Het tweede gegeven is de naam van het familielid. Je kunt natuurlijk doen alsof je een heleboel broers en zussen hebt. Elke familie-relatie krijgt een eigen DAT A regel. Maak een zo DENK IK OVER JOU programma. Het programma vraagt de naam vanje onderwijzer(es) op school. In het programma staan ten minste drie zinnen die vertellen hoe jij over hem/haar denkt. Het programma kiest willekeurig (per toeval) één van die zinnen en schrijft die op het scherm achter de naam van je meester of juf (het willekeurig kiezen doe je met de RND functie).
u
59
Breng kleur inje programma
13
De POKE instructie Een gekleurd scherm Gekleurde randen Afkortingen voor PRINT
~
De
POKE
instructie
Voorin het boek hebben we verteld dat verschillende dozen in het geheugen van de computer al door de makers van CO MMODORE zijn gevuld. Maar, we kunnen toch nog wel iets in zo'n doos veranderen. Dat doen we met de instructie POKE . rOKE betekent: poken (alsof je met een stokje een beetje in de geheugendoos kunt rommelen om iets te veranderen). Hieronder zullen we je laten zien wat we met zo'n POKE instructie kunnen doen.
~
Een gekleurd scherm
De makers van de computer hebben de kleur van het scherm in geheugendoos 53281 gestopt. Ook alle kleuren, het zijn er 16, hebben een nummer. Om nu het scherm een andere kleur te geven doe je het volgende: Typ
POK E
5 3 2 8 1, 5
Je ziet dat de achtergrondkleur van het scherm nu is veranderd in groen. Je geeft eerst de instructie POKE , dan volgt het nummer
60
van de geheugendoos (hier om het scherm te kleuren), dan typ je een komma en als laatste het kleurnummer. De nummers van alle kleuren vind je in het lijstje hieronder. Je hebt ze ook al eens gezien in hoofdstuk 3, toen je leerde hoe je gekleurde letters kon typen. 012345-
zwart wit rood cyaan paars roze groen 6 - blauw 7 - geel
8 - oranje 9 - bruin 10 - lichtrood 11 - grijs 1 12-grijs2 13 - lichtgroen 14 - lichtblauw 15 - grijs 3
In het volgende programma kun je zelf het scherm steeds een andere kleur geven. Typ
v
10 REM +++GEKLEURD SCHERM+++ 20 PRINT "WELKE KLEUR MOET HET SCHERM KR IJGEN?" 30 PRINT "KIES EEN NR, TUSSEN 0 EN 15" 40 INPUT K 5 0 POK E 5 3 2 8 1 , K 60 GOTO 20
Regel 50 vertelt de computer dat hij in geheugendoos 53281 het getal moet stoppen dat in regel 40 wordt gegeven. Druk op de RUN / STOP toets om het programma te stoppen. Om het scherm weer gewoon te krijgen druk je de RESTaRE toets in samen met de RUN / STOP toets. Het scherm heeft dan weer zijn gewone kleur en de loper staat weer linksboven aan het scherm.
~
Gekleurde ra'nden In geheugendoos 53280 kunje een kleurnummer pOKEn om gekleurde randen om je scherm te maken.
61
Kijk naar het volgende programma:
Typ
1 0 REM!! KL EUR I GERA NDEN ! 20 PRINT "WELKE KLEUR GEEF JE DE RAND " 30 PRINT " JE KUNT KIEZEN UIT EEN NUMMER TUSSEN 0 EN 15" 40 INPUT R 50 POKE 53280,R 60 GOTO 20
Druk op de pen.
RUN /S TOP
toets om het programma te stop-
In het volgende programma zie je alle kleuren, zowel van de achtergrond als van de randen. We gebruiken hiervoor een lus in een lus.
Typ
~
1 0 REM * * KL EURN A KL EURN A KL EUR * * 20 FOR AG = 0 TO 15 : REM KLEUR V.D . ACHTERG ROND 30 FOR R= 0 TO 15:REM KLEUR V.D. RANDEN 40 POKE 53281 , AG 4 5 POK E 5 3 2 80, R 50 FOR T= 1 TO 850:NEXT T 60 NEXT R : NEXT AG
Afkortingen voor PRINT
In plaats van het woord PRINT te typen magje ook alleen een vraagteken typen. De computer weet dat een vraagteken hetzelfde betekent als PRINT . Probeer maar:
Typ
1 0 ?" HAL L0 ALL EMAAL"
Geef nu de instructie RUN en je ziet dat het precies hetzelfde werkt.
62
~
24
25
Opdrachten Maak een programma dat iemands naam vraagt. Laat de randen van kleur veranderen. Laat de computer een gek antwoord geven aan degene die zijn naam heeft ingetypt. Maak een programma waarin je het scherm en de randen een andere kleur geeft. Probeer welke kleuren leuk bij elkaar passen.
v
63
Programma's bewaren op cassettebandjes
14
Bewaren van een programma Maak een lijstje Het programma weer in de computer brengen
Leuke programma's wilje misschien bewaren om er later nog eens mee te spelen. Hieronder volgen de instructies hoe je dat moet doen. Typ dit hele korte oefen-programma. Typ
, 0 REM B EWAR E NOP CAS SET T E 20
~
7
" HALLO
ALLEMAAL "
Bewaren van een programma Stop een cassette-bandje in de COMMODORE Datasetterecorder. Spoel het bandje helemaal terug. Druk het kleine knopje naast de teller in. Deze knop zet de teller op 000. Je kunt het programma zelf een naam geven. De naam mag niet meer dan 16 tekens lang zijn. Deze naam gebruikje om het programma te bewaren. We zullen het kleine programmaatje hierboven "HALLO" noemen.
Typ
SA V E
" H ALL 0 "
en druk op de SAVE
64
RETURN
toets.
betekent: laad op cassette.
De computer schrijft nu op het scherm wat je moet doen. Er staat: PRESS PLAY AND RECORD ON TAPE
Dit betekent datje nu de toetsen PLAY en recorder tegelijk in moet drukken .
RECORD
op de
De computer start nu de motor van de programmarecorder. Het scherm van je tv wordt nu wit en de computer geeft je de boodschap: SAVING "HALLO" OK
Dit betekent: ik ben bezig jouw programma op een bandje te zetten. Goed. Je programma wordt nu opgenomen. Als het programma op band staat schrijft de computer op het scherm: READY v ~
Maak een lijstje Je kunt natuurlijk de naam van het programma op de voorkant van het cassette-bandje zetten. Schrijf het getal dat de teller aanwijst als het programma is opgenomen erachter.
Voorbeeld
Programma DOBBELSTENEN
GOOIEN 010-035 .
Er gaan veel meer programma's op een bandje. Gebruik de teller van de recorder. Zet de lengte van elk programma op een lijstje. Zo kun je meerdere programma's op een bandje zetten. Het is handig om tussen de verschillende programma's telkens 10 nummers op de teller verder te spoelen.
Let op!
Als je een belangrijk programma wilt bewaren kun je er
65
beter nog een kopie van maken. Als je een keer per ongelukje programma hebt verknoeid, heb je er nog een extra. Deze extra kopie kun je op de achterkant van het cassette-bandje zetten. Je kunt voor je extra kopieën ook een apart bandje nemen.
~
Het programma weer in de computer brengen
We gaan eens kijken ofwe het programma dat we net op een bandje hebben gezet, weer in de computer kunnen krijgen. Maak eerst het geheugen leeg en het scherm schoon. Dit doen we omdat we anders niet weten of dat, wat er op het scherm komt te staan, nog was achtergebleven van een vorig programma, of dat je het vanaf de programmarecorder hebt geladen . Spoel het bandje terug tot de teller weer op
Typ
000
staat.
L0 AD" HAL L0 "
en druk op de RETURN toets. betekent: laad vanaf de programma-recorder. De computer schrijft nu op het scherm:
LOAD
PRESS PLAY ON TAPE
Dat betekent datje de toets PL A Y van de programmarecorder moet indrukken. Het scherm wordt leeg en de computer gaat nu zoeken of het programma "HALLO" op het bandje staat. Als de computer het programma heeft gevonden schrijft hij op het scherm : FOUND HALLO
Dit betekent: ik heb het programma "H A LLO" gevonden. Nu moetje op de COMMODORE toets vanje computer drukken. Het scherm wordt weer leeg, tot de computer
66
het programma weer terug in zijn geheugen heeft gebracht. Is dat gebeurd, dan schrijft hij op het scherm: READY .
Typ
LIS T
om te kijken of het programma dat nu in het geheugen van de computer zit juist is.
~
26
27 28
Opdrachten Maak een programma en zet dit op een bandje. Maak nog een programma en zet dit achter het eerste programma op hetzelfde bandje. Breng beide programma's afzonderlijk terug in het geheugen van de computer.
67
1----------------------1
Je bent nu aan het eind gekomen van dit boekje. We hopen dat je veel plezier hebt gehad in het leren omgaan met de computer. Ben je nieuwsgierig geworden? Achterin dit boekje staan nog een paar programma's en spelle~es die je over kunt typen. We wensen je nog veel computer-plezier. -
68
I
Voorbeeldprogramma's
Opdracht 7
10
REM
15
P RIN T
" clear "
20
P RIN T
" HOE
25
IN PUT
A$
30
P RIN T
"WAT
35
INPUT
B$
40
P RIN T
"WAT
45
INPUT
C$
50
P RIN T
"WI E V IN D
55
IN PUT
D$
60
P RIN T
" IK
65
P RIN T : P RIN T
70
P RIN T
" JE
L I E VEL I NG SET E N
75
P RIN T
" EN
JE
MET
Opdracht 12
! ! ! HET
LIEFST!!
JE? "
HE ET
I S
JE
LIEVELINGSETEN?"
I S
JE
FAVORIETE
WEET
GAAT
20
LET
A$ = "KAAS"
21
LET
B$ =" KROKET "
22
LET
C$ = "WORST "
23
LET
D$="FRIET"
24
P RIN T
" clear"
25
PRINT
"HALLO
IK
WIL
EROP
MAN ,
N
VAN
JOU "
" ; A$
HET
IS
" ; B$ " ; C$ ; "
LIEFST
" ; D$
»> BROODJE
26
HELEBOEL
" J E HEET
REM
10
AARDIG? "
JIJ
EEN
SPORT? "
WAT
PRINT
JE
"KIES
UIT
MET «<
BEN
MARC ,
DE
BROODJES
VANDAAG?"
KAAS,
FRIET .
MEER
HEBBEN WE
30
PRINT
"ZEG
HET
35
INPUT
Z$
MIJ ,
KROKET ,
WORST
NIET " IK
RIJM
ERBIJ "
69
E
40
IF Z$ - A$ THEN PRINT
J IJ DE BAAS" 45 IF Z$ - B$ THEN PRINT
"O , K, VANDAAG BEN "ZEG , MOET JIJ
NO
G NIET NAAR BED? " 50 IF Z$ - C$ THEN PRINT " NIET DOEN JOH , D AARVAN KRIJG JE DORST " 55 IF Z$ - D$ TH EN NWENIET"
Opdracht 19
PRINT
"HA HA,
DAT HEBBE
10 REM ++ RAAD HET WOORD ++ 11 REM IN DIT SPEL IS HET TE RADEN WOORD KROKODIL, JE KUNT DAT VERANDEREN DOOR VO OR B$ EEN ANDER WOORD TE NEMEN 1 5 P RIN T "clear " 16 B$ -" KROKODIL" 18
R- 0
25
PRINT
" RAAD MIJN DIER "
26 PRINT "JE MAG VIER KEER RADEN " 30 INPUT A$ 31 R- R+1 32 IF A$ - B$ TH EN GOTO 200 35 36
IF R- 4 THEN GOTO 210 IF A$ <> B$ TH ,EN PRINT
"NIET GOED , PROB
EER HET NOG EENS " 37 PRINT 45 GOTO 30 200 PRINT " GOED ZEG" KEER ":
Opdracht 22
, ! GERADEN
GOTO 215
210 EN"
PRINT " NIET GERADEN , SPEL
215
PRINT
10 REM •• FAMILIE •• 30 DATA MOEDER,AN 40 DATA VADER , PETER
70
IN " ; R;"
IS AFGELOP
50 DATA ZUS , SUSAN 60 DATA BROERS , MARC 70 DATA OOM , JAN
ERWIN
ERIK
80 DATA TANTES , RIAN MARIJKE INGRID 90 DATA NICHTEN , YVONNE CLAUDIA 100 DATA NEVEN , PASCAL MI CHEL ARJAN 110 DATA NIETS , NIETS 1 9 0 P RIN T " clear " 200
PRINT "WELK
FAMILIELID WI L JE? "
210 INPUT C$ 300 READ A$ 305 READ B$ 3 10 IF C$ - A$ THEN PRINT : PRINT
" JE" ; A$ ; "
HE ET / HET EN " ; B$ : P RIN T : GO TO 320 3 12 IF A$ -" NIETS " THEN PRINT : PRINT " JE H EBT GEEN" ; C$ : GOTO 320 315 GOT 0 300 320 FOR T- 1 TO 800 : NE XT T 3 25 RESTORE : GOTO 30
Opdracht 23
u
1 0 REM » ZO DENK I K OVER JOU « 2 0 P RIN T " clear " 2 5 P RIN T " MIJ N ON DE RW I J Z E R ( ES ) HE ET " 3 0 IN PUT A$ 3 2 P RIN T 3 3 P RIN T " Z0 DENK IK · OVER HEM / HAAR : " 34 P RIN T 3 5 B$ - "IK VIND HEM / HAAR SOMS AARDIG " 3 6 C$ - " IK V I ND HEM / HAAR EEN KL IER " 3 7 D$ -".HIJ / ZIJ I S DE ALL E RBES TE! ! " 50 60 70 80
v
A- INT(RND(1) I F A- 1 THEN I F A-2 THEN I F A- 3 THEN
* 3 )+ 1 P RIN T B$ P RIN T C$ P RIN T D$
71
Foutmeldingen
BAD DATA DIVISION BY
Je hebt een tekst opgegeven in plaats van een getal. Je hebt een getal door 0 gedeeld, en dat mag niet.
ZERO EXTRA IGNORED
FORMULA TOO COMPLEX ILLEGAL DIRECT
LOAD NEXT WITHOUT
Je hebt meer antwoorden gegeven dan de computer vroeg, bijvoorbeeld een komma te veel. De 'string' is waarschijnlijk te lang. Probeer de 'string' te delen Je hebt een instructie niet goed gebruikt, bijvoorbeeld een INPUT zonder regelnummer. Er is iets fout met je cassette of met je recorder. De
FOR
regel is verwijderd of bestaat niet.
FOR OUT OF DATA
OUT OF MEMORY OVERFLOW REDO FROM ST ART
Je probeert met een READ opdracht meer gegevens te lezen dan er in de DATA regel(s) staan. Deze foutmelding krijg je als je dingen in je programma hebt veranderd en je bent met de loper over het woord READY gekomen. Dat is gewoon. Je hebt dus geen fout gemaakt. Je hebt niet genoeg geheugen inje computer. De uitkomst van een berekening is te groot. Je hebt letters ingetoetst in plaats van de getallen die de computer verwachtte. Tik gewoon de juiste gegevens in, dan loopt het programma gewoon verder.
72
r'"\
STRING TOO
Een string kan maar maximaal
255
tekens bevatten.
LONG ?SYNTAX ERROR
Je hebt een spellingsfout gemaakt in een instructie. Een haakje vergeten of een komma. Kijk je regels nog eens goed na.
TYPE
Deze foutmelding zie je als je een getal gebruikt hebt in plaats van een tekst of omgekeerd.
MISMATCH
73
Spelle~es
10 REM + ++ POPOUIZ+++ 2 0 P RIN T " clear " 30 DATA ANNABEL , HANS DE 40 DATA DE
BOOY
BOM,DOE MAAR
50 DATA ZWART -WIT, FRANK BOEYEN GROEP 60 DATA HE AMSTERDAM , DRUKWERK 70 DATA BEAT I T , MICHAEL JACKSON 80 DATA YESTERDAY,THE BEATLES 90 DATA 99 LUFTBALLONS , NENA 100 DATA EEN BE ETJE VAN DIT,VULCANO 110 DATA BREAKAWAY,TRACEY ULLMAN 120 DATA DOCTOR RHYTHM , G' RACE 130 DATA HELLO , LIONEL RICHIE 140 DATA SHE ' S A LIAR,THE DOLLY DOTS 150 DATA LADY , SPARGO 160 DATA VICTIMS , CULTURE CLUB 170 DATA RED RED WINE , UB40 300 PRINT
"WIE ' ZINGT HET LIEDJE?":PRINT
310 R= INT(15 * (RND(0 ) ) + 1 320 FOR 1=1 TO R 330 READ A$,B$ : NEXT
I
340 PRINT A$ : PRINT : INPUT C$ : PRINT 350 IF C$ = B$ THEN PRINT"GOED" : GOTO 365 360 PRINT " FOUT " ; A$ ;" WORDT GEZONGEN DO OR" ; B$ 365
FOR T= 1 TO 500 : NEXT T
370 RESTORE : A$ = "" : B$ ="" : C$ =" " : PRINT " clear " : GO T 0 3 0 0
74
Het vorige programma heeft maar 15 DAT A regels. Natuurlijk kun je deze naar hartelust uitbreiden of veranderen. Denk er dan wel aan datje dan het getal 15 in regel 310 aanpast aan je eigen programma. 10 REM *** VAL LENDE STERREN *** 20 PRINT CHR$(147) : REM SCHOON SCHERM 30 POKE 53280 , 0:POKE 53281 , 0 40 X = INT(~ND( 1) * 40) 50 FOR T= 0 TO 24 : D= T * 40 + T 60 A= 1000 + D+X : B= 54272 +A : C=A- 41 8 0 POK E A, 4 2 : POK EB, 1 : POK E C , 3 2 90 NEXT T 100 FOR T= 1984 TO 2023 110 POKE T , 31 120 NEXT T 130 GOTO 40 10 REM « KLEURENSNOEPER » 15 PRINT CHR$(147 ) : PRINT CHR$(142 ) 2 0 POK E 5 3 2 8 1 , 0 22 POKE 53280,0 25 FOR T= 0 TO 499 30 POKE 1024 + 2*T , 160:POKE 1025+2 * T , 160 3 5 KL= INT ( 4 * RND ( 1 ) + 4 ) 40 POKE 55296 + 2 * T , KL : POKE 55297 + 2 * T , Kt 45 NEXT T 50 FOR W= 1 TO 1000 : NEXT W 55 FOR B= 7 TO 4 STEP - 1 60 FOR T= 499 TO 0 STEP - 1 65 A= PEEK(55296 + 2 * T)AND 15 70 IF A= B THEN POKE 55 2 96 + 2 * T,0 : POKE 552 97 + 2 * T,0 75 NEXT T 80 NEXT B 90 END 10 REM *** RAAD MIJN LEEFTIJD *** 2 0 P RIN T " clear " 30 PRINT:PRINT " DENK AAN JE LEEFTIJD"
75
40 FOR T- 1 TO 1000 ; NE XT T 50 PRINT " VERDUBBEL HET" 60 FOR T- 1 TO 1000 : NEXT T 70 A- INT(RND(1) *2 0 )t1 80 B- At A 90 PRINT " TEL ER "; B; " BIJ OP " 100 FOR T- 1 TO 1000 : NEXT T 110 PRINT : PRINT "WELK GETAL HEB JE NU ?" 120 PRINT 1 25 INPUT C: IF C< B THEN 300 130 FOR T- 1 TO 1000 : NEXT T 140 IF INT(C / 2) <> C /2 THEN GOTO 3 00 150 P RIN T : P RIN T 160 PRINT " TREK JE LEEFTIJD HIERVAN AF " 170 FOR T- 1 TO 1500 : NEXT T 1 8 0 P RIN T " DE E L DIT DOOR TW E E " 190 FOR T- 1 TO 2500 : NEXT T 200 X- C-B : Y- X/ 2 2 10 PRINT : PRINT " JE BENT "; Y;" JAAR OUD . KLOPT HET ? " : END 3 00 PRINT : PRINT "DAT KAN LEKKER NIET . . . ! OPNIEUW BEGINNEN " : GOTO 10 10 20 30 40 50 60 70
REM * * * GALGJE * * * DIM S $ ( 1 8 ) R- 0 : Q- 0 : 0$ = " " P RIN T " clear " P RIN T "GALGJE IS EEN SPELLETJE" PRINT : PRINT"VOOR TWE E PER S 0 NEN " PRINT : PRINT " SPELER 2 KlJ KT EVEN NI ET
80 PRINT : PRINT " SPELER 1 TYPT EEN WOORD IN" 90 PRINT : PRINT "VAN MAX . 18 LETTERS " 100 PRINT : INPUT A$ 1 1 0 P RIN T " clear " 120 PRINT "PROBEER HET WOORD LETTER VOOR LETTER TE RADEN" : PRINT 121 A- LEN(A$) 122 FOR 1- 1 TO A : S$( I ) - " -" : PRINT S$( I) ;
76
: NEXT I 125 PRINT: PRINT " TOETS 1 LETTER IN " 140 INPUT B$ 150 FOR 1 = 1 TO A 160 IF B$ =MID$(A$ , 1 , 1) THEN S$( I ) = B$ : 0 =
v
v
v
170 PRINT S$( I); : C$ =C$ + S$( I) 175 IF I =A THEN X$=C$ : C$ = " " 180 NEXT I : IF X$ =A$ THEN GOTO 600 185 IF 0 <> 1 THEN R= R+ l 186 IF R= 8 THEN PRINT : PRINT " JE HEBT 8 KEER MIS GERADEN" : PRINT 187 IF R= 8 THEN PRINT " JE HANGT" : FOR T= 1 TO 3000 : NEXT T : GOTO 800 190 IF 0 = 1 THEN PRINT : PRINT "PROBEER NO G EEN LETTER " : PRINT : 0=0 : GOTO 140 200 GOTO 125 600 PRINT : PRINT " GERADEN " : GOTO 10 2 0 8 0 0 P RIN T " clear " 802 PRINT " L" 808 PRINT " L 810 PRINT" L 820 PRINT" L 830 PRINT " L 840 PRINT" L 850 PRINT " L 860 PRINT" L 870 PRINT " L 880 PRINT" L 8 9 0 P RIN T " L 900 PRINT " L 9 1 0 P RIN T " L 920 P RIN T " L 930 P RIN T " L 940 P RIN T " L 950 PRINT " L 960 PRINT " L 970 PRINT " L L" 9 8 0 P RIN T " L" 990 PRINT " 1000 PRINT "
77
1010
FOR
T=
1
TO
5000 : NEXT
T:
PRINT
" clear " 1015
PRINT:PRINT
" HET WOORD WAS
1020
PRINT:PRINT
" WIL
ELEN
(JA / NEE)" ;
1030
INPUT
1040
END
78
D$ :
IF
JE
D$ = "JA"
NOG
" ; A$
EEN
THEN
KEER
GOTO
30
SP
u v u u u
u v U U
V
v v
u
u
u u u
u
u v
u
u
Wolters-Noordhoff Voor kinderen van 9 jaar en ouder. In Ik en miJn Commodore leer je op eenvoudige wijze hoe je zelf in B AS I C kunt programmeren op de Commodore homecomputer. Al snel kun je zelf programma's maken en spelletjes ontwerpen, met verschillende geluiden! Bovendien leer je hoe je door jezelf gemaakte programma's op cassette kunt bewaren. In de Ik en mijn : . . serie zijn tot nu toe verschenen: Ik en mijn Atari Ik en mijn Commodore Ik en mijn Spectrum
ISBN 9001419429