Inleiding programmeren

1. Een bestaand programma gebruiken.

2. Zelf programmeren.

In de handleiding van de TI staat in hoofdstuk 16 een uitstekende uitleg, lees die eerst door.
Je kunt bijna alles af met de commando's If, Then, Else, For, Pause, Lbl, Goto, Input, Disp en Output.
Bekijk ook de cursus van Dick Klingens:
http://www.pandd.demon.nl/ti83/ti83werkbladen.htm
Een voorbeeld van een volledige programmalijst met commentaar is te vinden bij het programmaatje voor de rechte lijn door twee punten:
A15 Interpo2
==========
Het volgende is een simpel voorbeeld, over priemgetallen. Een priemgetal is slechts deelbaar door 1 en door zichzelf, een "ondeelbaar" getal dus. Als je bijvoorbeeld wilt weten of het getal G=2091 deelbaar is door (de "deler" D=) 17, dan tik je achtereenvolgens:

en het antwoord 0 betekent dat de decimale rest (fPart) nul is: G is deelbaar door D (dat je dat hier ook direct kon zien met 2091/17 doet even niet ter zake).

Het volgende programmaatje onderzoekt eerst via fPart(G/2) of een ingevoerd getal G even is en gaat daarna verder met oneven getallen (G+2 ® G betekent dat de oude waarde van G met 2 opgehoogd wordt en aan de nieuwe G wordt toegekend). De meest voorkomende programmeerinstructies worden erin gebruikt.

Doe eerst [PRGM] NEW [ENTER] (Name=) AAA.

De naam "AAA" zorgt ervoor dat je programma vooraan komt te staan, dat is handig als je het later wilt veranderen via [PRGM] EDIT. Typ nu de volgende programmaregels in, eindig elke programmaregel met [ENTER]. De nummers vooraan de regels niet intypen. Die zijn hier gebruikt voor de toelichting (na het programma). De meeste programmeer-instructies staan onder de menuknop [PRGM]. Het gelijkteken  (=) en de ongelijkheidstekens (zoals < en > ) staan onder [2nd] [TEST]





(1) ClrHome
(2)
Disp "STARTGETAL:"
(3)
Input G
(4)
If fPart(G/2)=0
(*)
(5)
Then
(6)
G+1 ® G
(7)
End
(8)
ClrHome
(*)
(9)   "COMMENTAAR OVERBODIG"
(10)
Lbl 1
(*)
(11)
For(D,3,Ö (G),2)
(12)
If fPart(G/D)=0
(13)
Then
(14)
G+2 ® G
(15)
Goto 1
(*)
(16)
End
(17)
End
(18)
Disp G
(19)
G+2 ® G
(20)
Output(8,1,"[ENTER]")
(21)
Pause
(22)
Goto 1

Eindig met [2nd] [QUIT] en voer het programma uit met [PRGM] 1:AAA ENTER.
Daarna bijvoorbeeld 12345 als startgetal en telkens op [ENTER] drukken voor het volgende priemgetal.
Met [2nd] [OFF] 1: QUIT kun je het programma verlaten.

Toelichting:

(1) Scherm schoonvegen
(2) Display "tekst"
(3) Input: wacht op antwoord
(4) If Then End: Als G deelbaar is door 2 dan G met 1 verhogen
Het gelijkteken vind je onder [2nd]  [TEST]
(*)  Deze witregels zijn er alleen voor de duidelijkheid.
(9)  Ook deze regel is cosmetisch.
(10) Label met naam "1"
(11) For(variabele,startwaarde,eindwaarde,stapgrootte);
For(D,3,
Ö (G),2) betekent: doe de volgende opdrachten (tot End op regel 17)
voor D lopend vanaf 3 t/m
Ö G met stapgrootte 2, dus G=3,5,7,9,..., Ö G
(12) Als D deelbaar is op G dan G met 2 verhogen (regel 14) en teruggaan naar label 1
(16) Dit "End" is het einde van de If/Then statement die begon op regel 12
(20) Output(regelnr,positie) Max regelnr = 8; Max positie = 16
De tekst "[ENTER]" komt dus op de onderste regel, eerste positie
(21) Pause: wachten tot op [ENTER] gedrukt wordt
(22) Goto 1: ga terug naar regel 10

Vaak is het scherm een beetje klein; anders gezegd: de letters en cijfers zijn een beetje groot. Je kunt als volgt kleinere karakters "tekenen". Met Output(Rij,Kolom) kun je maximaal 8 keer 16 = 128 karakters op het scherm krijgen. In het programma "PRIEMRIJ.83P" is de instructie Text( die onder [DRAW] 0: te vinden is gebruikt. Hiermee kun je bijna twee keer zoveel karakters op het scherm krijgen. Het verband tussen Text(x,y) en Output(R,K) is:
x=8(R-1)  en  y=6(K-1)  (x=0,1,2, ... ,57; y=0,1,2, ... ,92; R=1,2, ... ,8; K=1,2, ... ,16)
waarbij R en x de rijnummers, K en y de kolomnummers zijn.

Met Output( kun je in 8 rijen en 4 kolommen in totaal 32 getallen van drie cijfers op het tekstscherm krijgen. Doe het eerstvolgende programmaatje. De instructie For(K,1,16,4) betekent dat K oploopt met stapgrootte 4, namelijk K=1,5,9,13.
Eerst is R=1 (eerste rij) met de kolomnummers K achtereenvolgens 1,5,9,13; dan R=2 en K weer 1,5,9,13; dan R=3 en zo door t/m de achtste rij (R=8).

Met Text( krijg je 60 getallen van drie cijfers op het grafiekenscherm (met [2nd] [DRAW] 1: ClrDraw schoonvegen) in 10 rijen en 6 kolommen. Kijk naar het tweede programmaatje.

ClrHome: 100® N
For(R,1,8)
     For(K,1,16,4)
     N+1
® N
     Output(R,K,N)
     End
End
Pause: ClrHome
------------------------
ClrHome
ClrDraw

AxesOff
100
®N
For(R,0,58,6)
     For(K,0,92,16)
     N+1
® N
     Text(R,K,N)
     End
End
AxesOn
Pause: ClrHome
N.B.1: AxesOff schakelt het assenstelsel uit (om te voorkomen dat er een oude grafiek op de achtergrond verschijnt).
N.B.2: De spaties aan het begin van de regels zijn hier voor de lay-out. Typ ze NIET in de programmaregels, want dan krijg je een foutmelding.

4. Archivering.

Het werkgeheugen (27K RAM) van de TI-83 bevat voldoende ruimte voor een stuk of 10 à 15 flinke programma's. Wie alle 75 programma's van deze huispagina (en wellicht nog meer: ik heb er bijvoorbeeld ook nog een lijst met alle priemgetallen kleiner dan 3100 in opgeborgen, in totaal ongeveer 50K) wil opslaan, moet een TI-83 PLUS of liever nog een TI-84 PLUS aanschaffen met een veel groter geheugenARCHIEF. Deze uitbreidingen van de TI-83 zijn overigens vrijwel gelijk aan (verenigbaar met, om gewoon Hollands te gebruiken) de gewone machine.

5. Het openingsscherm

Je startpagina is een soort visitekaartje. Hieronder drie voorbeelden voor een mogelijk sjabloon van zo'n startpagina.
Maak de eerste regel van een bestaand programma vrij en doe [RCL] [PRGM] EXEC gevolgd door de naam van het openingsscherm
AANVANG1.83P, AANVANG2.83P, AANVANG3.83P of AANVANG4.83P
De programmanaam en toelichtende tekstjes zijn in het sjabloon weggelaten, die moet je zelf later invullen.
Als de standaardinstellingen van je TI veranderd zijn, kun je alles herstellen met
[MEM] 5:Reset ... 2:Defaults ... 2:Reset (en [CLEAR]), kortweg MEM 5 2 2

AANVANG1.83P:
ClrHome:Output(1,4,"----------
Output(3,1,"----------------
Output(2,5,"PROGRAMM
Output(4,1,"1.
Output(5,1,"2.
Output(6,1,"3.
Output(7,1,"----------------")
Output(8,1,"[ON]1: [ENTER]")
Pause :ClrHome

AANVANG3.83P:

ClrDraw:ClrHome:AxesOff:FnOff
Xmin
®A:Xmax®B:Ymin®C:Ymax®D
0
®Xmin:92®Xmax:0®Ymax:-62®Ymin
Line(1,-14,92,-14):Line(26,-2,66,-2)
Line(26,-2,26,-14):Line(66,-2,66,-14)
Text(6,32,"PROGRAMM")
Line(1,-14,1,-46):Line(92,-14,92,-46)
Text(17,5,"XXXXXXXXX0XXXXXXXXX0XX
Text(24,5,"XXXXXXXXX0XXXXXXXXX0XX
Text(31,5,"XXXXXXXXX0XXXXXXXXX0XX
Text(38,5,"XXXXXXXXX0XXXXXXXXX0XX
Line(1,-46,92,-46)
Text(48,0,"BREEK")
Text(56,0,"[ON] 1:QUIT")
Text(48,60,"GA DOOR")
Text(56,60,"[ENTER]")
Line(89,-49,89,-62)
Line(89,-62,86,-59)
Line(89,-62,92,-59)
Pause
A
®Xmin:B®Xmax:C®Ymin:D®Ymax
AxesOn:ClrHome:FnOn
AANVANG4:


Als je de programmanaam flikkerend in beeld wilt, gebruik dan de rood gemarkeerde programmaregels in
AANVANG2.83P:

ClrHome
Output(1,4,"----------
Output(3,1,"----------------
While 1
getKey
®K
While K=0
getKey
®K
Output(2,5,"PROFLITS
For(X,1,50):End
Output(2,5," "
For(X,1,15):End
Output(4,1,"1.
Output(5,1,"2.
Output(6,1,"3.
Output(7,1,"----------------")
Output(8,1,"[ON]1: [ENTER]")
End
"-------------
ClrHome

Naar boven...