Programmeren in TI-Basic/Veelgebruikte codes

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

Hieronder staan een paar codes die vaak worden gebruikt:

Scherm instellen[bewerken]

Deze code zorgt ervoor dat een pixel precies een x op een y is.

0→Xmin
94→Xmax
0→Ymin
62→Ymax

Modulus[bewerken]

Omdat de rekenmachine deze belangrijke functie mist moet je hem zelf maken. X is het begingetal en Y is de deler.

YfPart(X/Y

Afronden[bewerken]

Er zijn niet echt duidelijke functies voor afronden. Hieronder staan ze.

Floor[bewerken]

int(X
of
iPart(X

Ceil[bewerken]

int(x)+not(fPart(x
of
iPart(x)+not(fPart(x
iets korter, maar minder nauwkeurig:
int(x+0.99..
of
iPart(x+0.99..

Round[bewerken]

int(x)+(fPart(x)>0.5
of
iPart(x)+(fPart(x)>0.5
of
round(var,aantal decimalen)
voorbeeld:
 round(x,4)
 x = 5.1234567
 round(x,4) = 5.1235

Toetsaanslag[bewerken]

Om te wachten tot een toets is ingedrukt:

0→K
While K=0
getKey→K
End

Het nummer van de toets staat nu in variabele K.

Even Wachten[bewerken]

Als je de GR even wilt laten wachten, kun je deze code gebruiken:

For(A, 0, 500)
End

Waar nu '500' staat, kun je natuurlijk een andere waarde invullen. Hoe groter de waarde, hoe langer de GR wacht. Meestal komt de waarde 700 overeen met 1 seconde, maar dit hangt van de hoeveelheid vrij RAM-geheugen af. Hoe meer vrij geheugen, des te sneller de rekenmachine klaar is met het wachten.

Tekst, letter voor letter op het scherm zetten[bewerken]

Met deze code zet je een bepaalde tekst, letter voor letter op het scherm. Alleen omdat de code nogal lang is, kun je beter het volgende doen: Maak een nieuw programma aan onder de naam 'MTXT'.

Daarin schrijf je de volgende code:

For(A,1,length(Str1)
 If L1(1) = 0 : Then
  Output(L1(3), L1(2), sub(Str1,1,A))
 Else
  Text(L1(3), L1(2), sub(Str1, 1, A))
 End
 For(C,0,L1(4))
 End
End

Opmerking: Met 'L1' bedoel ik, List1; die kun je intypen met de toetsen '2nd' en '1'.

Nu maak je weer een nieuw programma'tje aan met een door jouw gekozen naam. Hierin zet je de volgende code:

"Deze manier van tekst plaatsen, staat best prof. -> Str1
{0,1,3,50 -> L1

ClrHome
pgrmMTXT

Je kunt nu het programma testen. Je moet dan niet pgrmMTXT testen, maar het programma dat je als laatste hebt gemaakt.

Je kunt natuurlijk de tekst veranderen, maar je hebt nog meer variaties.

De volgende code geldt in het algemeen:

"[jouw tekst] -> Str1
{[Bollean(0 of 1)], [x_coördinaat_van_begin_tekst], [y_coördinaat_van_begin_tekst], [snelheid_van_tekst neerzetten]} -> L1

1. [jouw tekst] Hier kun je je eigen tekst neerzetten.

2. [Bollean (0 of 1)] Hier moet je de waarde 0 of 1 invullen. Deze maakt uit of de tekst in kleine letters verschijnt, of in grote. Zet er 0 neer voor grote letters en 1 voor kleine letters.

3. [x_coördinaat_van_begin_tekst] Hier moet je invullen waar je de tekst wilt hebben. Let op dat het maximum van die waarde bij grote letters 16 is, en bij kleine letters 91. Anders wordt er een foutmelding getoond. Het minumum is bij kleine letters 0 en bij grote letters 1.

4. [y_coördinaat_van_begin_tekst] Hier moet je ook invullen waar je de tekst wilt hebben, maar nu bij de y, dus op welke hoogte. Let op dat ook hier verschillende maxima gelden: bij kleine letters 56 en bij grote 8. Het minumum is bij kleine letters 0 en bij grote letter 1.

5. [snelheid_van_tekst_neerzetten] Hier geef je aan hoe snel de tekst moet verschijnen. Bij de waarde 0 verschijnt de tekst zo snel mogelijk. Hoe hoger je de waarde maakt, hoe langzamer de tekst op het scherm verschijnt.


Je kunt de code elke keer weer opnieuw gebruiken. Je hoeft natuurlijk niet telkens weer de lange code, die je aan het begin van dit kopje hebt ingetypt, in te typen; maar door alleen maar de volgende code te gebruiken:

"[jouw_tekst] -> Str1
{[Bollean(0 of 1)], [x_coördinaat_van_begin_tekst], [y_coördinaat_van_begin_tekst], [snelheid_van_tekst neerzetten]} -> L1

ClrHome
pgrmMTXT

Tenslotte, het is beter om het op deze manier te doen, omdat je dan ten eerste veel bytes en ten tweede ook veel moeite bespaart: je hoeft maar een klein deel van de code opnieuw in te typen en de rest wordt vanzelf uitgevoerd!

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