© h.hofstede (h.hofstede@hogeland.nl)

Invoer en Uitvoer.
       
Mooi dat je van plan bent eindelijk eens te leren hoe je zelf met je TI-83 programma's kunt maken.
       
Tijdens deze lessen moet je het programmeerdeel van je rekenmachine eigenlijk steeds zien als een mannetje dat voor een enorme ladenwand staat. Hij kan voor jou in een lade een briefje met een getal of een tekst erop stoppen en dat er ook weer uit halen.
Verder kan hij ook nog erg goed met getallen rekenen en ze met elkaar vergelijken. Dat is eigenlijk alles.......

Oh ja: hij werkt supersnel en ook foutloos! Doet precies wat jij hem opdraagt. Dus als er tijdens jouw programmeren iets fout gaat geeft dan nooit je rekenmachine de schuld:  HIJ deed alleen maar precies wat jij hem opdroeg, JIJ hebt jouw opdrachten dan gewoon fout gemaakt.

Dat mannetje is de processor van jouw rekenmachine en die laden zijn de geheugens.

Jij staat aan het loket en daar kun je het mannetje een opdrachtenlijst geven die hij moet gaan uitvoeren. Zo'n "opdrachtenlijst" is een programma

       
Simpel programmaatje

Laten we een allereerste programma gaan maken.
Stel dat je een lijst met temperaturen hebt gekregen van een Amerikaan. Nou hebben Amerikanen de nare gewoonte om temperaturen uit te drukken in  graden Fahrenheit. Jij wilt die temperaturen gaan omrekenen naar graden Celsius.

Nou geldt daarvoor de volgende formule:   C = 5/9 • (F - 32) en we gaan een programmatje maken dat die formule voor ons kan toepassen.

Als je intoetst  PRGM  dan krijg je een lijst van de programma's die zich op jouw rekenmachine bevinden in beeld en dan kun je kiezen uit drie opties:
1.
2.
3.
EXEC
EDIT
NEW
om een bestaand programma uit te voeren
om een bestaand programma te wijzigen
om een nieuw programma te maken
 
Je wilt een nieuw programma gaan maken, dus  toets in   PRGM   en kies boven in beeld NEW en dan  1: Create New
Nu kun je eerst je programma een naam geven met NAME=

Toets bijvoorbeeld in  C   E   L   S   I    U   S  (gebruik  2nd    A-LOCK  om letters te krijgen, en om deze "intype-stand" weer uit te zetten druk je op  ALPHA ).  Je kunt maximaal 8 letters voor de naam gebruiken.
Na  ENTER   staat de cursor te knipperen op de eerste regel van jouw programma. Elke nieuwe regel begint met een dubbele punt.

Vaak is het mooi om bij de uitvoer van een programma eerst het scherm van je rekenmachine schoon te maken voor het geval er nog allemaal andere berekeningen in staan. Dat gaat via:  PRGM    I/O   8: ClrHome

Met   2nd    QUIT  verlaat je het programma.

Nu kun je met  PRGM  EXEC  je programma laten draaien.  Dat ziet er dan zó uit  (links staat je programma, rechts staat wat je op je scherm te zien krijgt.
       

       
Nog niet echt spectaculair:  het programma maakt je scherm schoon!!!!

We gaan verder werken aan ons programma. Dat gaat met   PRGM    EDIT

Nu willen we dat het programma ons als gebruiker vraagt om een temperatuur in Fahrenheit in te voeren.
Daarvoor zijn er twee mogelijke opdrachten in het menu  PRGM   I/O  namelijk :    Prompt  A   en   Input A .  Daarbij mag A elke letter zijn.
Het programma zet  A = ?   op het scherm en wacht totdat jij een getal voor A invoert. Dat getal wordt vervolgens in het geheugen A gezet.
Vaak is het handig om er tekst bij te laten verschijnen zodat je als gebruiker weer weet welk getal je moet invoeren.
Dat gaat met   Input "........", A   De komma is die dikke    ,    en de accolades krijg je bij   ALPHA   "
Wat daar op die stippeltjes staat wordt ook op het scherm afgedrukt.
Zet er bijvoorbeeld neer  "FAHRENHEIT?"  (de spatie is dat groene ding boven de 0) en het ziet er zó uit:
       

       
(Dan weet je ook later tenminste nog wat je op dit moment moet invoeren).
Als je nu een getal invoert en op  ENTER  drukt zegt je rekenmachine direct Done,  want er gebeurt immers verder nog niets met die graden Fahrenheit die je hebt ingevoerd. Het staat alleen nu te wachten in geheugen A.

OK. Tijd om te gaan rekenen.

We laten ons programma nu met bovenstaande formule het bijbehorende aantal graden Celsius uitrekenen, en dat aantal graden stoppen we in geheugen B.
Dat gaat zó op de volgende programmaregel:
:  (5/9)*(A - 32)   STO    B  

Daarmee zit het aantal graden Celsius nu in geheugen B.
Tot slot willen we dit aantal ook nog weer op ons scherm te zien krijgen, en dat doe we via   PRGM   I/O  en dan  3:Disp
Ook dat kan weer met begeleidende tekst:    Disp "CELSIUS IS:" , B
Het programma is  nu klaar, en ziet er zó uit:
       

       
In dit voorbeeld heeft ons programma berekend dat 68 °F gelijk is aan 20°C.
       
opmerkingen
       
1. Als je zuinig wilt zijn op de geheugens die je gebruikt zou je de waarde van Celsius ook weer terug kunnen stoppen in geheugen A zélf.   Dat wordt dan     :  (5/9)*(A - 32)   STO   A   maar bedenk dat je dan ook geheugen A moet laten afdrukken in regel 4, en niet B.  Dus dat wordt   Disp "CELSIUS IS:" , A
       
2. Je kunt de waarde van Celsius ook helemaal nergens bewaren, maar in één keer op het scherm afdrukken. De regels 3 en 4 van je programma worden dan in één keer samen vervangen door  Disp "CELSIUS IS:" ,  (5/9)*(A - 32)
       

3.

Als je op één plaats van je programma meerdere getallen wilt opvragen dan kan dat in één keer met:
 Input "........", A, B   
Het programma vraagt dan eerst A=?  en vervolgens B=? en stopt de getallen in de geheugens A en B
       
4.
Als je een fout hebt gemaakt:
  Een programmaregel verwijderen
Ga op het begin van de regel staan en druk net zo vaak op DEL totdat de hele regel weg is.

Een programmaregel invoegen
Ga op het eind van de vorige regel staan en druk op 2nd - Ins - ENTER
       
   
   

menu

       
   OPGAVEN
       
1. Schrijf een programma dat de schuine zijde van een rechthoekige driehoek berekent als de twee rechthoekszijden worden ingevoerd.
       
2. Schrijf een programma dat twee breuken bij elkaar optelt (als je de teller en de noemer van beiden invoert).
       
3. Schrijf een programma dat voor twee opgegeven punten een formule maakt van de rechte lijn waar ze op liggen.
       
4. Schrijf een programma dat voor twee gegeven lijnen (a en b van elk gegeven) het snijpunt berekent.
       
     
       

© h.hofstede (h.hofstede@hogeland.nl)