Programmeren in TI-Basic/Andere CTL-commando's

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

Dit gedeelte gaat over de CTL-commando's die nog niet eerder zijn behandeld. Je vind het CTL-menu terug als je een programma aan het bewerken bent en drukt op: prgm>CTL

Het CTL-menu ziet er als volgt uit:

[CTL]   I/O   EXEC
1:If
2:Then
3:Else
4:For(
5:While
6:Repeat
7:End
8:Pause
9:Lbl
0:Goto
A:IS>(
B:DS<(
C:Menu(
D:prgm
E:Return
F:Stop
G:Delvar
H:Graphstyle(
I:OpenLib(
J:ExecLib

In dit artikel ga ik met u de verschillende functies van boven naar beneden af. If, then, else, end, lbl, menu, goto (en stop) zijn al eerder behandeld. Voor informatie over deze functies moet je naar een eerder artikel in dit boek gaan.

For([bewerken]

We beginnen bij For(. Met deze functie kun je een variabele met een bepaalde stapgrote laten toenemen, totdat een waarde wordt bereikt. Dit gebeurd altijd volgens de volgende formule:

:For(Variabele,beginwaarde,eindwaarde,stapgrootte
:Opdrachten
:End

De variabele die je geeft, moet altijd een reële variabele zijn. Dit wil zeggen dat dit een letter van A t/m Z of Ø moet zijn. Vervolgens komt de beginwaarde. De TI begint hier met tellen totdat de eindwaarde wordt bereikt. De stapgrootte is niet verplicht. De TI telt steeds de stapgrootte op bij het de variabele. Als er geen stapgrootte is ingesteld, wordt er standaard '1' bij opgeteld. Na het optellen worden de opdrachten uitgevoerd die tussen For( en de bijbehorende End staan. Het volgende programmaatje laat zien wat je er bijvoorbeeld mee kan doen.

PROGRAM:TEST
:For(A,1,10
:Disp A (getallen 1 t/m 10)
:End
:For(B,1,20,2
:Disp B (oneven getallen van 1 t/m 20)
:End

While en Repeat[bewerken]

De while-functie (While ) is een functie volgens de volgende formule opgebouwd. Ook de repeat-functie (Repeat ) zal ik hier behandelen. Qua formule verschilt alleen het woordje While/Repeat.

:While waar(1) (een booleaanse vergelijking, bijv. A=0, kan worden gebruikt. Als de gelijkheid waar is, worden
:opdracht 1     de opdrachten 1&2 uitgevoerd, anders niet.)
:opdracht 2
:End

While en Repeat zijn lussen. Dit wil zeggen dat de opdrachten tussen While/Repeat en End herhaalt blijven worden, totdat de waarde achter While/Repeat "0" of "niet waar" is. Het verschil tussen While en Repeat zit in een klein detail. Als een programmaatje bij While komt en de waarde is niet waar, slaat het programmaatje de volledige While-loop over. Bij repeat wordt alles uitgevoerd, totdat het programmaatje bij End komt. Dan wordt er pas gekeken of de waarde waar is. Wanneer deze waarde waar is, wordt de loop herhaald, en anders gaat het programmaatje verder.

Pause[bewerken]

Pause is met Menu( en ? de enige die een programma stil kan zetten, zonder dat het programmaatje stopt. De gebruiker kan hierdoor bijvoorbeeld een tekst makkelijker lezen. Net zoals met de rest van dit artikel even een formule.

:opdracht 1
:Pause
:opdracht 2
:Pause "TEXT

Achter pause kan ook een tekst worden geplaatst (voorafgegaan door een "). De tekst wordt dan weergegeven op het basisscherm. Dit is vooral handig bij grote matrices of lijsten, omdat (in tegenstelling tot het commando "Disp" of "Output") de gebruiker met pijltjes door de matrix/lijst kan bladeren. Ook is Pause handig om, als het programmaatje te snel is, een gebruiker ervan iets te laten lezen.

IS>( en DS<([bewerken]

Wil iemand met tijd dit even controleren? De informatie kan wel eens iets anders zijn dan moet.

IS>( en DS<( zijn functies die of één bij een variabele optellen, of er van aftrekken. Daarna kijken ze of de opgegeven waarde niet is overschreden. Formula...

:IS>(variabele,CheckGetal
:opdracht 1
:opdracht 2
:DS<(variabele,CheckGetal
:opdracht 3
:opdracht 4

Bij IS>( geldt: Als de variabele groter dan het CheckGetal is, wordt de regel er na niet uitgevoerd. Bij DS<( geldt: Als de variabele kleiner dan het CheckGetal is, wordt de regel er na niet uitgevoerd. In het programma hierboven worden opdracht 2 en 4 sowieso uitgevoerd!

Een variabele is (mocht je dit nog steeds niet weten) een letter of string. Met IS en DS kunnen alleen real variabelen worden ingevuld (A t/m Z en Ø). Het programma voert de opdracht na IS of DS alleen uit als het CheckGetal niet overschreden is . Zie eenvoudig wat er gebeurd met het volgende programmaatje.

PROGRAM:TEST
:Input "1 meer dan ?",A
:IS>(A,10
:Disp A (wordt alleen weergegeven als het getal minder is dan 10
:Input "1 minder dan ?",A
:DS<(A,10
:Disp A (wordt alleen weergegeven als het getal meer is dan 10

prgm en Return[bewerken]

Deze functie is om een programma te starten. Hierdoor is het mogelijk om programma's te starten vanuit een ander programmaatje. Programmaatjes kunnen zo dus andere programmaatjes laten starten en grote programmaatjes kunnen zo makkelijker worden verdeeld in kleinere delen. Dit is vooral handig omdat het flash geheugen (archive in de plus uitvoeringen) in kleinere delen is opgesplitst. Communicatie tussen programmaatjes kan bijvoorbeeld zo worden bereikt.

PROGRAM:TEST
:1→A
:Menu("Maak uw keuze","keuze1",A,"keuze2",B,"keuze3",C,"STOP",D
:Lbl A
:Disp K
:1:prgmTEST1          Wordt 1 of prgmTEST1 in Ans gestopt???
:Lbl B
:Disp L
:2:prgmTEST1
:Lbl C
:Disp M
:3:prgmTEST1
:Lbl D:Stop

PROGRAM:TEST1
:If Ans=1:Then
:Disp "Keuze 1
:1+K→K
:End
:If Ans=2:Then
:Disp "Keuze 2
:1+L→L
:End
:If Ans=3:Then         Voer deze programmaatjes in, om er mee te oefenen.
:Disp "Keuze 3         De mogelijkheden worden vanzelf duidelijk.
:1+M→M
:End
:prgmTEST

Return kan gebruikt worden om terug te keren naar het hoofdprogramma. Wanneer dit commando wordt uitgevoerd in het hoofdprogramma wordt het programma gestopt. Vaak terugkerende loops in verschillende programma's kunnen zo worden uitgevoerd in één programma.

Delvar[bewerken]

Zoals de naam al zegt, Del(ete) hij een var(iabele). Met behulp van deze functie kunnen in een programma variabelen worden gewist. Dit kan handig zijn om ruimte vrij te maken, of om gegevens te verwijderen die niet bedoeld zijn om te bewaren. Een extraatje die er bij gevoegd is, is dat Delvar + variabele achter elkaar kan worden gebruikt, zonder een scheidingsteken (:).

Delvar ADelvar BDelvar CDelvar D       De variabelen A t/m D worden verwijderd

na Delvar kun je ook een andere commando gebruiken, zoals clrhome

Delvar ADelvar BClrHome       De variabelen A en B worden verwijderd en het homescreen wordt leeggemaakt

Graphstyle[bewerken]

De functie Graphstyle is om de grafieken in het schermpje Y= van een andere manier van tekenen te voorzien. De formule...

Graphstyle(Functie#,tekenmanier

Met functie wordt Y1 t/m Y0 bedoeld. In graphscreen wordt uitgelegd hoe je deze functies kan opstellen.
De tekenmanieren zijn: stippellijn, gewone lijn, dikke lijn, schaduw boven, schaduw onder en de twee aangeefsymbolen.

Openlib( en Execlib[bewerken]

Op de GR kunnen ook externe dingen als een muis en een toetsenbord aangesloten worden, door middel van een usb/IO-poort. Met Openlib (en Execlib wordt het mogelijk gemaakt om aangesloten apparaten ook echt te gebruiken.

Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.