• No results found

Tips voor het maken van veranderingen

In document HANDBOEK VOOR DE COMMODORE 64 (pagina 38-44)

Er zijn een aantal methoden om fouten tijdens het ingeven van programmaregels te verbeteren of om veranderingen aan te brengen.

1 . De hele regel kan opnieuw ingegeven worden. De computer vervangt de foute regel door de (goede) nieuwe.

2. Ongewenste regels worden verwijderd door het regelnummer in te tikken, direct gevolgd door RETURN.

3. Het is mogelijk verbeteringen aan te brengen met gebruikmaking van de cur­

sortoetsen en de INSTIDEL toets.

Ais voorbeeld maken we een tikfout in regel 10 van ons voorbeeld.

Type LIST < R ETURN > . Ga met gebruikmaking van de toetsen SHIFT en

CUR-�n

SOR naar regel 10. Vervolgens loopt u met de CURSOR toets naar het punt waar de fout zich bevindt. Tik hier de juiste letter in, gevolgd door RETURN. De regel is nu vervangen door de gecorrigeerde regel.

Indien er letters tussengevoegd dienen te worden, dan kunt u dit doen door op de gewenste plaats de toetsen SHIFT en INSTIDEL te gebruiken. Overbodige karakters verwijdert men door DEL.

Wanneer u na het aanbrengen van de correcties wederom LIST < RETURN> in­

tikt, zult u constateren dat de correcties zijn aangebracht. Bovendien hoeven correcties niet in volgorde te worden uitgevoerd. De computer verzorgt dat voor u.

Verander nu het programma door achter regel 10 een komma te plaatsen. RUN daarna weer het programma.

10 PRINT "COMMODORE", 20 GOTO 10

De variabelen vormen een van de meest essentiele en meest gebruikte onder­

delen van elke programmeertaal. De variabelen bevatten de i nformatie in de computer. We zullen trachten duidelijk te maken hoe een en ander werkt. Die kennis stelt ons in staat gecompliceerde resultaten te verkrijgen, die onmogelijk op een andere wijze verkregen zouden kunnen worden. Stelt u zich in het inwen­

dige van de computer een aantal dozen v��r. In elk van die dozen kan een getal zitten, of een stukje tekst. ledere doos is voorzien van een etiketje met een door ons zelf uit te kiezen naam. Aan die naam herkennen we de variabele. De varia­

bele stelt de inhoud van de doos voor.

Ais we bijvoorbeeld zeggen:

10 X% = 1 5

De naam van de variabele stelt de doos, of de plaats i n het computergeheugen voor waar de momentele waarde van de variabele ligt opgeslagen. Er zijn drie soorten variabelen:

1) I ntegere variabelen, gekenmerkt door het teken % na de naam. Een integer getal is een heel getal met een waarde tussen - 32767 en + 32767.

2) Zgn. floating point variabelen, of variabelen met vlottende komma.

3) Zgn. tekstvariabelen of strings. Deze variabelen bevatten geen getal, maar een

tekst of een aaneenschakeling van karakters. Dit type variabele is te herken­

nen aan de $ na de variabele naam.

Niet aile variabele namen zijn geldig.

Een variabele naam kan uit een of twee tekens bestaan. Het eerste teken is altijd een letter, het (facultatieve) tweede teken is een letter of een van de cijfers 0 . . . 9.

U mag variabele namen gebrui ken die uit meer dan 2 karakters bestaan, maar aileen de eerste twee karakters worden door de computer herkend. PAPA en PA zijn voor de computer dus hetzelfde.

Geldige integer namen zijn dus bijv. A %, X%, A 1 % of NM %; het floating point equivalent zou zijn A, X, A1 en NM. Geldige stringnamen zijn bijv. A$ (spreek uit A-String) of N M$.

Variabele namen mogen geen BASIC commando's bevatten zoals bijv. GOTO of RUN. Achterin het boek (Appendix B) vindt u een complete lijst van aile BASIC woorden.

Om een idee te krijgen hoe de variabelen gebruikt worden, hebben we het vol­

gende voorbeeld:

N EW 10 X% = 15 20 X = 23.5

30 X$ = "De som van X% en X = "

40 PRINT "X% = "; X%, "x = "; X 50 PRINT X$; X% + X

RUN < RETURN > geeft het volgende resultaat:

X% = 15 X = 23.5 DE SOM VAN X% + X = 38.5

Aile tot nu toe bekende regels hebben we in dit voorbeeld toegepast. U ziet hoe we een beeld kunnen opbouwen rond de som van twee variabelen. In de regels 10 en 20 werd er een integere waarde toegekend aan variabele X% en een floating point waarde aan X. Het getal behorende bij de variabele werd hier als het ware in de doos gestopt. In regel 30 werd een stuk tekst toegekend aan variabele X$. In re­

gel 40 worden de 2 typen PRI NT commando's gebrui kt om een boodschap af te drukken, gevolgd door de actuele waarden van X% en X. In regel 50 tenslotte wordt X$ afgedrukt en de som van X% en X.

De 2 suffixen % en $ zorgen ervoor dat de variabelen, hoewel de naam X hetzelfde is, toch uniek worden. (Suffix = achtervoegsel.)

X, X% en X$ zijn 3 verschil lende variabelen.

Variabelen hebben echter nog veel meer mogelijkheden. Door het veranderen van de waarden zal de nieuwe waarde de oude waarde in de doos vervangen.

X = X + 1

In de norma Ie algebra lOU het bovenstaande onzin zijn. Bij het programmeren is het een van de meest gebruikte formules. Het betekent dat X gelijk wordt aan de oude waarde die X had, vermeerderd met 1 .

32

I F

. . . .

THEN

Gewapend met onze kennis over het veranderen en aanpassen van variabelen kunnen we het volgende programma uitproberen:

N EW

Het woordje N EW bent u al op pag. 29 tegengekomen. Door dit commando wordt elk in de computer aanwezig BASIC programma gewist.

In dit voorbeeld komen 2 nieuwe BASIC commando's om de hoek kijken, die een beetje controle geven over het eindeloos doorlopende programmaatje waarmee we dit hoofdstuk begonnen.

IF .. . THEN voegt wat logica aan het programma toe. Het wil zoveel zeggen dat ALS (IF) aan een bepaalde voorwaarde wordt voldaan DAN (TH EN) moet er iets worden gedaan. Als N I ET aan de voorwaarde wordt voldaan, dan moet direct de volgende BASIC regel worden uitgevoerd. De volgende voorwaarden kunnen worden gebrui kt: Kleiner dan of gelijk aan

Het gebruik is eenvoudig. De kracht van deze condities is verrassend groot:

10 CT = O

[

20 ? "COMMODORE 64"

30 CT = CT + 1

40 I F CT < 5 THEN 20 50 END

In ons voorbeeld hebben we een Ius (LOOP) ingebouwd die onder bepaalde voor­

waarden wordt doorlopen.

In regel 10 wordt de teller op nul gezet. In regel 20 wordt onze boodschap: "COM­

MODORE 64" afgedrukt. ln regel 30 wordt de variabele CT opgehoogd met 1 . Deze regel telt hoe vaak we de Ius doorlopen hebben. Elke keer dat we de I us doorlopen

wordt de variabele CT met 1 opgehoogd. Regel 40 is de stuurregel . Ais CT groter is dan 5, wat betekent dat we de Ius dan 5 x doorlopen hebben, gaat het pro­

gramma door naar regel SO, het einde van het programma. Probeer het program·

ma uit. Door het veranderen van de grenswaarde in regel 40 kunt u een willekeu­

rig aantal regels laten afdrukken. Er zijn nog veel meer gebruiksmogelijkheden voor I F. . . THEN. Verderop in het boek komt u ze tegen.

FOR

. . . .

N EXT lussen

Er bestaat een simpeler en populairder methode om tot hetzelfde eindresultaat te komen. Dit bereiken we met de FOR . . . N EXT Ius. Bekijk het volgende voorbeeld.

N EW

10 FOR CT = 1 TO 5

20 PRINT "COMMODORE 64"

30 N EXT CT COMMODORE 64 RUN COM MODORE 64 COMMODORE 64 COM MODORE 64 COM MODORE 64 READY.

loals u kunt zien is het programma kleiner en veel directer. CT begint bij 1 (regel 10). In regel 20 wordt er iets geprint. In regel 30 wordt CT met 1 opgehoogd.

N EXT stuurt het programma automatisch terug naar regel 10, naar het FOR ge·

deelte van het FOR . . . N EXT commando. Dit proces gaat door totdat CT de i nge·

geven bovenste grenswaarde bereikt.

De gebrui kte variabele kan eventueel in kleinere stapjes worden veranderd. Pro·

beer dit maar eens:

N EW

1 0 FOR NB = 1 TO 10 STEP .5 20 PRINT NB,

30 N EXT NB RUN

1 1 .5 2 2.5

3 3.5 4 4.5

5 5.5 6 6.5

7 7.5 8 8.5

9 9.5 1 0

O p het scherm ziet u d e getallen 1 tot 10 in stapjes van 0.5. Het enige dat we hier doen is het afdrukken van de successievelijke waarden van variabele N B. STEP specificeert de stapgrootte. Het is zelfs mogelijk een negatieve stapgrootte aan te geven:

10 FOR NB = 10 TO 1 STEP -0.5 34

Hier gebeurt op het scherm net het tegenovergestelde. NB loopt van 10 tot 1 , steeds 0.5 minder.

N.B.

In verband met de manier van werken van een computer zijn bepaalde uitkomsten iets afwijkend van het verwachte resultaat. Dit betekent niet dat uw computer defect i s !

Voorbeeld:

PRINT 7 i 2 49.0000001 Lp.v. 49 Correctie:

B = INT (A* 10 i n + 0.5)/10 i n waarin:

n = aantal decimalen A = eerste vierkant

B = gecorrigeerde uitkomst

HOOFDSTU K 4

In document HANDBOEK VOOR DE COMMODORE 64 (pagina 38-44)