TI Coderen: TI-84 Plus Technologie
Korte activiteiten om de basis van programmeren te leren met de eigen TI-84 Plus grafische rekenmachine.
Module 1: De basis van programmeren en weergeven op het scherm
Oefenblad 1: de programme-editor en syntax gebruiken
Teacher's NotesDit is de eerste van drie oefenbladen in module 1. Aan het eind van deze module gebruik je de vaardigheden die je in deze oefenbladen hebt geleerd om een complexer programma te schrijven. Dit is jouw eerste les in het leren programmeren met TI Basic.
TI Basic is een programmeertaal die kan worden gebruikt om programma’s te schrijven voor de grafische rekenmachines van TI. Terwijl de structuur en de syntax (grammatica) van TI Basic eenvoudiger zijn dan van andere moderne talen, biedt het een goed startpunt voor het leren van de basisbeginselen van programmeren. Aan de slag!
Doelen:
- Het programma TI Basic gebruiken om een eenvoudig programma te schrijve en uit te voeren.
- De programmeermenu’s gebruiken om opdrachten (commando’s) te selecteren en in een programma te plakken.
- Een programma uitvoeren.
Stap 1
Zet je TI-84 Plus CE grafische rekenmachine aan en druk op de toets [PRGM].
Kies NEW met behulp van de pijltjestoetsen.
Kies Create New door te drukken op [ENTER].
Stap 2
Geef je programma een naam.
Onze programmanaam is HELLOXY. Het kan elke ‘toegestane’ naam zijn*. Druk op [ENTER] nadat je de naam hebt getypt. Je bevindt je nu in de programma-editor. Elke regel begint met een dubbele punt( : ).
*Een toegestane naam moet uit maximaal 8 tekens bestaan, beginnen met een letter, bestaan uit alleen hoofdletters en cijfers zonder spaties; en de naam moet uniek zijn.
Dit programma laat een eenvoudig bericht zien op het beginscherm van jouw rekenmachine.
Stap 3
Selecteer een programmeeropdracht uit het menu Programmeren
De [PRGM] toets bevat nu nieuwe menu’s met de opdrachten die gebruikt worden in TI Basic. Als je een van deze opdrachten wilt gebruiken, moet je deze selecteren uit dit menu in plaats van de opdracht in te typen op het scherm
- Druk op de [PRGM]-toets
- Kies het menu I/O menu met behulp van de pijltjestoetsen. Dit menu bevat alle opdrachten die de invoer en uitvoer beïnvloeden. Kies Disp. Het woord zal in je programma worden gepakt op de huidige positie van de cursor. De opdracht Disp zal iets laten zien op het beginscherm (home).
Stap 4
Typ een begroeting tussen dubbele aanhalingstekens.
Deze begroeting wordt een string genoemd, dat is een groep tekens die aaneengeregen zijn.
- Jouw string moet beginnen en eindigen met aanhalingstekens. Zonder de aanhalingstekens denkt jet programma dat je iets heel anders bedoelt.
- Maak het jezelf makkelijk; druk op [ALPHA] om de hoofdlettervergrendeling in te schakelen als je een string typt.
Je programma is klaar!
Laten we het meteen uitvoeren! Het is in TI basic niet nodig om het programma op te slaan; het programma wordt bewaard terwijl je het intypt. Om die reden geven we het programma als eerste een naam.
Stap 5
Om het programma uit te voeren:
Druk op [quit] ([2nd][MODE]) om terug te keren naar het beginscherm
- Druk op [PRGM].
- Kies je programma in het menu EXEC (‘execute’).
- Druk op [ENTER] om het programma op het beginscherm te plakken.
- Druk nogmaals op [ENTER] om het programma te starten.
Jouw tekstbericht wordt getoond op het beginscherm.
Stap 6
Je kun het programma ook bewerken:
- Druk op [PRGM].
- Kies het menu EDIT met behulp van de pijltjestoetsen.
- Selecteer je programma en druk op [ENTER].
Oefenblad 2: Programma’s bewerken en het scherm leegmaken
Teacher's NotesIn het tweede van de drie oefenbladen in module 1 oefen je het bewerken van een eenvoudig programma en leer je hoe je het beginscherm van jouwTI-84 Plus CE leeg kunt maken. We zullen het programma gebruiken waar je in oefenblad 1 mee begonnen bent en er regels aan toevoegen.
Doelen:
- De programma-editor van TI Basic gebruiken om een eenvoudig programma toe te voegen en te bewerken.
- De programmeermenu’s gebruiken om opdrachten (commando’s) te selecteren en in een programma te plakken.
- Eenvoudige bewerkingsmogelijkheden gebruiken om dingen in te voegen en te verwijderen
- Leren hoe het Beginscherm leeggemaakt (gewist) kan worden.
Stap 1
Zet je TI-84 Plus CE grafische rekenmachine aan en druk op de toets [PRGM].
Kies EDIT met behulp van de pijltjestoetsen.
Kies het programma waaraan je eerder al begonnen was. Wij gebruikten HELLOXY in die les, daarom zie je op ons scherm die programmanaam.
Stap 2
In de programma-editor knippert de cursor aan het begin van de eerste opdracht in het programma. Gebruik de pijltjestoetsen om de cursor te verplaatsen
Stap 3
We gaan dit programma bewerken (editen) en er extra Disp-opdrachten aan toevoegen.
Verplaats de cursor naar het einde van de eerst regel van het programma en druk op [ENTER]. Er verschijnt een tweede dubbele punt. Dit is de tweede regel van het programma.
- Druk op de toets [PRGM].
- Kies het menu I/O met behulp van de pijltjestoetsen. Dit menu bevat alle opdrachten die de invoer en uitvoer beïnvloeden.
- Kies opnieuw Disp. Het woord zal opnieuw in je programma worden gepakt op de huidige positie van de cursor zoals te zien is in het plaatje rechts.
Stap 4
Typ nog een ander bericht tussen aanhalingstekens
Denk eraan om op [2nd][ALPHA] te drukken om de alfabetvergrendeling in te schakelen wanneer je in de string (tekst) typt. Let op de verandering in het uiterlijk van de cursor wanneer de alfabetvergrendeling ingeschakeld is.
Druk opnieuw op [ENTER] aan het eind van de tweede regel en voer meer Disp opdrachten toe.
Je kunt zoveel opdrachten toevoegen als je wilt, maar het kan zijn dat je er zoveel toevoegt dat de tekst die dit oplevert niet allemaal tegelijk op het scherm past.
Stap 5
Je programma is klaar. Laten we het meteen uitvoeren door op [quit] te drukken en het te selecteren uit het menu EXEC van de toets [PRGM].
Stap 6
Jouw programma bewerken
Om de “U” in de tweede opdracht te veranderen in “YOU”, gebruik je de pijltjestoetsen om de cursor op de U te zetten. Daarna druk je op [INS] ([2nd] [DEL]) zodat je een knipperend laag streepje (underscore) ziet. Typ de letters Y en O en druk vervolgens op een van de pijltjestoetsen.
Om een letter te verwijderen, druk je op de toets [DEL] terwijl de cursor op de letter staat.
Om een hele opdracht te verwijderen druk je op de toets [CLEAR] terwijl de cursor ergens in de opdracht staat. Hierdoor wordt de hele regel met programmacode gewist en blijft er een lege regel achter (een dubbele punt met niets erachter). Lege regels hebben hebben geen effect op de uitvoering van het programma; ze worden genegeerd. Als u een lege regel wilt verwijderen, kunt up op [DEL] drukken terwijl de cursor op de lege regel staat.
Wanneer je klaar bent (of als je even wilt testen wat je nu hebt), druk je op [quit] en voer je het programma uit.
Stap 7
Het beginscherm leegmaken (wissen)
De opdracht ClrHome maakt het beginscherm leeg, maar we willen deze opdracht aan het begin van het programma hebben
- Plaats de cursor, terwijl je bezig bent met het bewerken van jouw programma, boven in het programma (op de letter “D” van de eerst Disp-opdracht).
- Druk op [INS] en vervolgens op [ENTER] om een nieuwe lege regel te maken boven de opdracht Disp.
Stap 8
- Druk op het pijltje naar boven om de cursor op die lege regel te zetten.
- Druk op [PRGM] en gebruik het pijltje naar rechts om het menu I/O te zien en selecteer de opdracht ClrHome.
- Sluit de editor af en voer het programma uit. U zult zien dat al uw tekst getoond wordt op een leeg beginscherm.
Oefenblad 3: Output op het beginscherm
Teacher's NotesIn deze derde van de drie oefenbladen in module 1 oefen je het bewerken van een eenvoudig programma en leer je hoe je tekst overal op het beginscherm kunt plaatsten met behulp van de opdracht Output
Doelen:
- De TI Basic opdracht Output gebruiken om te regelen op welke plaats op het beginscherm tekst wordt getoond.
- De opdracht Pause gebruiken om te voorkomen dat een programma te snel eindigt.
Stap 1
Zet je TI-84 Plus CE grafische rekenmachine aan en druk op de toets [PRGM].
Kies Nieuw met behulp van de pijltjestoetsen.
Druk op [ENTER] om een nieuw programma te maken en voer een naam in voor het programma. Wij gebruiken hier de naam OUTDEMO1. Merk op dat om het cijfer “1” te typen we op [ALPHA] moeten drukken om de alfabetmodus uit te schakelen
Stap 2
Output( -opdrachten gebruiken
Begin je programma met de opdracht WisHome uit het menu I/O van de toets [PRGM]. Denk eraan om op [ENTER] te drukken aan het einde van de regel.
Kies vervolgens de opdracht Output( uit hetzelfde menu.
Het beginscherm (HOME) is verdeeld in een onzichtbaar rooster van tekens. De opdracht Output zal je tekst plaatsen, beginnend bij een van deze roosterposities, gebruikmakend van het regelnummer en het kolomnummer van die positie. De linkerbovenhoek heeft regelnummer 1 en kolomnummer 1.
Stap 3
Dus, na het openingshaakje in de opdracht, typ je 3,5,“HELLO”)
Denk eraan om de haakjes te sluiten.
Stap 4
Laten we het programma uitvoeren. Het resultaat zou moeten lijken op het plaatje van het scherm rechts, als je dezelfde waarden hebt gebruikt.
Merk op dat ‘Done’ verschijnt op de bovenste regel ook al wordt “HELLO” weergegeven op de derde regel. De opdracht Output( heeft geen effect op de actuele positie van de cursor. De opdracht WisHome plaatst de cursor in de linkerbovenhoek van het scherm, zodat ‘Done’ op de bovenste regel wordt getoond.
Stap 5
De opdracht Pause toevoegen
Bewerk je programma en voeg de opdracht Pause toe onder de opdracht Output(.
Je vindt Pause in het CTL menu van de toets [PRGM]. CTL staat voor ‘Control’ en dit menu bevat opdrachten die het gedrag van het programma regelen.
Stap 6
Voer het programma opnieuw uit en kijk wat er gebeurt. Zie je dat ‘Done’ nu is verdwenen?
Kijk goed naar de rechterbovenhoek van het scherm en je zult daar de aanduiding voor ‘busy’ (bezig) zien. Dat is de Pause-opdracht aan het werk. Het programma is gepauzeerd op dit punt en de gebruiker moet op [ENTER] drukken om verder te gaan. Dan verschijnt het bericht ‘Done’ bovenin het scherm.
Stap 7
Meer Output( -opdrachten toevoegen aan je programma
Test om de zien wat er gebeurt als er niet genoeg ruimte is om de mededeling op de regel weer te geven.
Voeg een opdracht toe onderaan het programma zodat je het programma afsluit met een leeg scherm.
Toepassing: een titelscherm maken
Teacher's NotesIn deze toepassing voor module 1 gebruik je de opdrachten die je hebt geleerd in deze module om een een (of meer) titelscherm(en) te maken.
Doelen:
- De opdrachten van TI Basic, geleerd in module 1, gebruiken om een titelscherm te maken voor een groter programma.
Stap 1
Deel 1:
Gebruik Disp-opdrachten om een rand van sterretjes rondom het scherm weer te geven. Gebruik een Output( -opdracht om de onderste regel te tonen omdat Disp het hele scherm laat verschuiven. Denk eraan om het beginscherm eerst leeg te maken en om het programma op dit punt te pauzeren.
Zodra de gebruiker op [ENTER] drukt terwijl de lege rand wordt getoond, verschijnt de tekst van deel 2 hieronder, in het midden van het scherm.
Opmerking: gebruikers van de TI-84 Plus zullen een ander aantal sterren op hu scherm zien vanwege verschillen in de schermafmetingen.
Stap 2
Deel 2:
Gebruik Output( - opdrachten om een titel, datum en informatie over de auteur gecentreerd (in het midden) weer te geven binnen de rand. Het scherm aan de rechterkant is niet erg goed omdat de tekst niet gecentreerd is.
Nadat de tekst is weergegeven zal de gebruiker opnieuw op [ENTER] moeten drukken om door te gaan. Op dit punt moet het programma het scherm leegmaken en dan eindigen.
- Oefenblad 1
- Oefenblad 2
- Oefenblad 3
- Toepassing
Module 2: Variabelen en uitdrukkingen gebruiken
Oefenblad 1: vragen om een variabele
Teacher's NotesIn de eerste les van module 2 leer je over de opdracht Prompt waarmee je jouw programma’s interactief kunt maken door variabelen te gebruiken om getallen in op te slaan, resultaten van wiskundige uitdrukkingen uit te werken en op te slaan en de opdrachten Disp en Output te gebruiken om de resultaten van opgeslagen berekeningen te laten zien.
Doelen:
- De TI Basic opdracht Prompt gebruiken om een waarde toe te kennen aan een variabele.
- Het verschil kennen tussen wiskundige variabelen en computervariabelen.
- Berekeningen uitvoeren binnen Disp-opdrachten.
- Output opdrachten gebruiken om betekenisvolle, leesbare resultaten te produceren.
Stap 1
Reële variabelen
- De TI-84 Plus heeft 27 ingebouwde variabelen die gebruikt worden om getalwaarden in op te slaan.
- De waarden kunnen reële (decimale) getallen of complexe getallen zijn.
- De namen van de variabelen zijn de letters A tot en met Z en de letter θ (‘theta’).
- Alle variabelen bevatten een waarde, als er geen waarde is toegekend dan is de standaardwaarde 0 (nul).
- De waarden blijven bewaard ook als de rekenmachine is uitgeschakeld.
- Als het RAM opnieuw wordt ingesteld (reset) dan worden alle waarden op 0 gezet.
- Het beginscherm (HOME) rechts, toont variabelen (aan de linkerkant) en hun huidige waarden (aan de rechterkant). Jouw scherm kan er anders uitzien.
Stap 2
De opdracht Prompt
- De opdracht Prompt wordt gevolgd door een of meer namen van variabelen die de gebruiker vragen om een waarde in te voeren voor een variabele.
- De opdracht heet ‘Prompt’ omdat, wanneer je het programma uitvoert, de opdracht de naam van de variabele laat zien met een vraagteken.
Stap 3
Programmeren met Prompt
- Start een nieuw programma.
- Gebruik de opdracht Prompt, die je vindt in het menu I/O van [PRGM], als eerste opdracht van het programma.
- Typ na de opdracht Prompt de naam van de variabele die je in dit programma wilt gebruiken. Wij gebruiken de letter A.
- Gebruik de opdracht Disp om het kwadraat van A (A²) weer te geven ; typ A en druk vervolgens op de toets ¡ .
- Sluit de editor en voer het programma uit.
- Typ na de prompt “A=?” een willekeurig getal.
Stap 4
- Het programma toont het kwadraat van dat getal en eindigt dan.
Stap 5
Meerdere waarden invoeren met Prompt
- Bewerk het programma dat hierboven staat.
- Voeg B toe aan de opdracht Prompt.
- Verander de opdracht Disp zodat deze de som A+B weergeeft.
- Voer het programma opnieuw uit.
Stap 6
Merk op dat er twee prompts? zijn. De opdracht Prompt vraagt een waarde voor elke variabele afzonderlijk.
Dit is een erg eenvoudig, efficiënt programma waarvoor maar twee opdrachten nodig zijn, maar die twee opdrachten doen een heleboel werk!
Stap 7
Output( gebruiken in plaats van Disp
Herinner je dat je de uitvoer van een programma kunt verbeteren met behulp van Output( in plaats van Disp om de oorspronkelijk ingevoerde waarden en de resultaten met de juiste labels weer te geven. Zet hiervoor alleen de berekening op de juiste manier in de output-opdracht. Probeer het maa
Voorbeeld: Output(5,7,A+B) toont de waarde van A+B op regel 5 beginnend in kolom 7.
Stap 8
- Rechts ziet u twee schermen van een programma in het Engels dat wordt uitgevoerd, het ene toont het Prompt gedeelte en het andere toont het andere het gedeelte met Output. Kun jij dit beter?
- Denk eraan om de opdrachten Pause en ClrHome op het juiste moment te gebruiken in het programma om het scherm netjes te houden.
Je kunt niet twee dingen als uitvoer krijgen met één Output-opdracht. De melding “SUM=” en de som A+B moeten uitvoer zijn van verschillende opdrachten. De positie op het scherm is belangrijk!
Opmerking: Je vindt de “=” (‘het is-gelijk teken) in het menu Test ([2nd] [MATH]).
Oefenblad 2: Een waarde invoeren voor een variabele
Teacher's NotesIn deze tweede les van module 2 leer je werken met de verschillende vormen van de opdracht Input.
Doelen:
- De opdracht Input van TI basic gebruiken om een waarde toe te kennen aan een variabele
- Berekeningen uitvoeren binnen Disp opdrachten.
- Het scherm GRAPH gebruiken om invoer te geven aan twee variabelen tegelijk.
Stap 1
De eenvoudige opdracht Input
De opdracht Input wordt gevolgd door slechts één variabelennaam om de gebruiker te vragen een waarde voor die variabele in te voeren. Anders dan bij Prompt, zet Input alleen een vraagteken op het scherm, zoals je ziet in het programma-voorbeeld rechts.
Stap 2
De verbeterde opdracht Input
Dit type Input-opdracht kan een aangepast bericht laten zien dat getoond wordt voordat het programma wacht op een waarde voor de variabele. De structuur van een Input-opdracht met een bericht is als volgt:
Input “JOUW TEKST”,V
Opmerking: deze opdracht biedt zelf geen vraagteken of ander leesteken, dus als je dat wel wilt hebben, dan moet je dit opnemen in je bericht.
Stap 3
Programmeren met eenvoudige Input
- Start een nieuw programma.
- Gebruik als eerste opdracht in het programma de Input die je kunt vinden in het menu I/O van [PRGM].
- Typ na het commando Input de naam van de variabele die je in het programma wilt gebruiken. Hier gebruiken wij de variabele A.
- Gebruik de opdracht Disp om de derde macht van A (A3) te laten zien; typ de A en gebruik dan het menu [MATH] om de kleine exponent ‘3’ te krijgen.
- Verlaat de editor en voer het programma uit.
- Typ achter het “?” een willekeurige waarde en druk op [ENTER].
- Het programma toont de derdemacht van de ingevoerde waarde en eindigt.
Stap 4
Programmeren met verbeterde Input
- Bewerk het programma waaraan je eerder begon.
- Plaats de cursor op de variabele achter het woord Input.
- Druk op 6.
- Type een bericht in dat getoond moet worden. Vergeet niet om 7 en aanhalingstekens te gebruiken.
- Voeg ook een leesteken toe aan het eind van het bericht (binnen de aanhalingstekens).
- Zet een komma na het afsluitende aanhalingsteken en vóó de variabele.
- Laat de opdracht Disp, die A3 laat zien, staan.
Stap 5
- Sluit de editor af en voer het programma uit.
- Typ na het bericht een willekeurige waarde in en druk op [ENTER].
- Het programma toont de derdemacht van deze waarde en eindigt.
Stap 6
Input gebruiken zonder variabele
Als je de opdracht Input zonder variabele gebruikt dan zal het programma het grafiekenscherm (GRAPH) tonen met een vrij bewegende cursor.
Wanneer je op [ENTER] drukt gaat het programma verder en bevatten de variabelen X en Y de waarden die je hebt aangewezen in het grafiekenscherm!
Je kunt deze twee variabelen gebruiken in de rest van je programma.
De bedoeling van deze mogelijkheid is om je de waarden van X en Y ‘grafisch’ te laten invoeren. Cool, toch?
Uitvoeren van dit programma …
veroorzaakt dit.
Verplaats de cursor en druk op [ENTER] om dit te zien
Oefenblad 3: Uitdrukkingen en opslaan
Teacher's NotesIn deze derde les van module 2 leer je over het gebruik van uitdrukkingen en het opslaan van waarden in variabelen binnen programma’s.
Doelen:
- Leren over het programmeren van wiskundige uitdrukkingen Understand order of operations.
- Begrijpen wat het verschil is tussen wiskundige variabelen en variabelen in computerprogramma’s.
- Uitdrukkingen uitwerken.
- De resultaten van uitdrukkingen opslaan in variabelen.
Stap 1
Uitdrukkingen
A2 en A+B en vergelijkbare notaties worden uitdrukkingen genoemd. Uitdrukkingen vind je in wiskundige formules. Zo is bijvoorbeeld A = 1/2 x B x H de formule voor de oppervlakte van een driehoek. De uitdrukking is 1/2 x B x H.
Een programma werkt een uitdrukking uit gebruikmakend van de actuele waarden van alle variabelen en geeft het resultaat weer als een getal (numerieke waarde). Uitdrukkingen worden uitgewerkt volgens de algebraïsche volgorde van bewerkingen.
Probeer het programma rechts maar eens uit. Dit programma berekent de oppervlakte van een trapezium met twee evenwijdige zijden (kleine en grote basis) A en B en hoogte H.
Stap 2
Je kunt niet variabelen zoals B1 en B2 gebruiken. De rekenmachine berekent deze als de uitdrukkingen B x 1 en B x 2 en dit kan een fout veroorzaken als wanneer ze niet correct zijn gebruikt. Je kunt ook niet variabelen gebruiken met meer dan één letter zoals AB. Dit betekent, zoals eerder gezegd, A x B. Dit heet ook wel impliciete vermenigvuldiging omdat het vermenigvuldigteken tussen de variabelen impliciet is (het wordt verondersteld).
Stap 3
Wiskundige uitdrukkingen en uitdrukkingen op de computer
Hoewel er veel overeenkomsten zijn in het uiterlijk van uitdrukkingen in de wiskunde en uitdrukkingen in computerprogramma’s zijn er ook belangrijke verschillen. Het belangrijkste verschil is dat in wiskundige uitdrukkingen de variabelen staan voor ‘onbekende’ waarden en vervangen worden door getallen wanneer dat nodig is. In een uitdrukking in een computerprogramma zijn de variabelen namen voor getallen.
In de wiskunde gebruiken we formules om verbanden tussen grootheden zoals oppervlakte en lengte te beschrijven. In programma’s gebruiken we uitdrukkingen om berekeningen uit te voeren en worden de waarden van de variabelen gebruikt om een uitkomst te berekenen. Wanneer we het programma schrijven typen we de uitdrukkingen in maar wanneer we het programma uitvoeren wordt de uitdrukking ‘berekend’ en wordt er een resultaat geproduceerd dat later gebruikt kan worden.
Stap 4
Waarden opslaan in variabelen: toewijzingsopdracht
De operator ¿ wordt gebruikt om het resultaat van een uitdrukking op te slaan in (toe te wijzen aan) een variabele. Drukken op de toets¿ geeft als resultaat altijd het symbool!
Nadat je op [ENTER] hebt gedrukt toont het beginscherm het resultaat van de uitdrukking en bevat de variabele G nu de 5. Voor het pijltje moet een waarde staan of een uitdrukking die een waarde produceert. Dit heet de toewijzingsopdracht omdat deze een waarde toewijst aan een variabele. Het symbool achter het pijltje moet een variabele zijn.
Stap 5
Programmeren met toewijzingsopdrachten
Laten we een programma schrijven dat je vraagt om twee getallen in te voeren, de som, het verschil, het product en het quotiënt ervan opslaat in vier variabelen en vervolgens het resultaat laat zien op het scherm.
- Begin een nieuw programma. De naam van ons programma is SDPQ.
- Vraag invoer voor twee variabelen A en B.
- Sla de vier uitdrukkingen op in vier andere variabelen S, D, P, en Q.
- Laat S, D, P en Q zien.
- Voer het programma uit.
Voer een waarde in voor A en een andere waarde voor B.
Stap 6
Zorg dat je getallen gebruikt waarvoor je met zekerheid kunt vaststellen dat de berekeningen correct zijn uitgevoerd! Dit staat bekend als het ‘testen’ van het programma.
Opmerking: De toewijzingsopdracht van TI Basic is uniek omdat de uitdrukking eerst komt, dan de ‘opslag’-operator en dan de variabele. Dit maakt dat de opdracht makkelijk van links naar rechts te lezen is. In de meeste andere programmeertalen is de volgorde omgekeerd, zoals S=A+B. Dit is ‘achterstevoren’ omdat de computer de uitdrukking aan de rechterkant eerst uitwerkt en deze vervolgens opslaat in de variabele aan de linkerkant.
Stap 7
Verbeteringen aanbrengen
Je kunt het programma verbeteren door Output( te gebruiken in plaats van Disp om de oorspronkelijk ingevoerde waarden én de vier resultaten met passende labels weer te geven. Probeer het maar!
Rechts zie je een stukje van de programmacode en een scherm in het Engels van het gedeeltelijk voltooide programma dat wordt uitgevoerd. Er is hier nog wat werk te doen dus we laten het aan jou over om het programma af te maken.Vergeet niet om een Pause opdracht toe te voegen aan het eind van de opdracht Output om te voorkomen dat het bericht ‘Klaar’ het schermbeeld verpest.
Stap 8
Bedenk dat TI-84 Plus en de TI-84 Plus C/CE beginschermen hebben met verschillende afmetingen (en ook grafiekenschermen met verschillende afmetingen) dus bereid dit goed voor.
Het beginscherm van de TI-84 Plus heeft 16 tekens per regel en 8 regels, terwijl het beginscherm van de TI-8 Plus C/CE 26 tekens per regel en 10 regels heeft.
Toepassing: Een formule berekenen
Teacher's NotesIn deze toepassing voor module 2 ga je programma’s schrijven om enkele wiskundige formules uit te werken.
Doelen:
- De TI Basic opdrachten die geleerd zijn in module 2 gebruiken om een programma te schrijven dat een formule uitwerkt.
Stap 1
De stelling van Pythagoras
In een rechthoekige driehoek met rechthoekszijden A en B (in het Engels de legs) en schuine zijde (hypotenusa) C geldt:
A2 + B2 = C2
Schrijf een programma dat de gebruiker vraagt om de lengtes van de rechthoekszijden in te voeren en dan de lengte van de schuine zijde berekent en alle drie de waarden netjes weergeeft op het scherm.
Gebruik het Engelse scherm als voorbeeld.
Opmerking: je moet eerst de formule hierboven herschrijven in de vorm C = …
Stap 2
De formule van Heron
De formule van Heron bepaalt de oppervlakte van elke willekeurige driehoek uitsluitend op basis van de lengtes van de drie zijden A, B en C van de driehoek. De formule wordt meestal in twee delen beschreven.
S = (A + B + C)/2 is de halve omtrek van de driehoek
A = &sqrt;S*(S-A)(S-B)(S-C) is de oppervlakte van de driehoek
Stap 3
Schrijf een programma dat de gebruiker vraagt om de lengtes van de drie zijden van een driehoek in te voeren en vervolgens de oppervlakte berekent en de zijden en de oppervlakte weergeeft op een mooi scherm.
Gebruik het Engelse scherm als voorbeeld.
Opmerking: de gebruiker kan drie waarden invoeren die niet de lengten van de zijden van een driehoek kunnen zijn. Wat gebeurt er als de gebruiker ongeldige waarden invoert?
Stap 4
De abc-formule (quadratic formula)
Als een kwadratische vergelijking de vorm Ax2 + Bx + C = 0 heeft, dan kunnen de oplossingen van de vergelijking bepaald worden door …..
Eerst de discriminant te bepalen:
D = B2 - 4AC
En dan zijn de twee oplossingen:
R1 = (-B + &sqrt;D)/(2A)
R2 = (-B - &sqrt;D)/(2A)
Stap 5
Schrijf een programma dat de gebruiker vraagt om de drie coëfficiënten A, B en C van de kwadratische vergelijking in te voeren en dat de coëfficiënten en de twee oplossingen van de vergelijking netjes weergeeft.
Gebruik het Engelse scherm als voorbeeld.
Opmerking: Je kunt R1 en R2 niet gebruiken als variabelen! Gebruik iets anders. Wat kan er fout gaan bij dit programma?
- Oefenblad 1
- Oefenblad 2
- Oefenblad 3
- Toepassing
Module 3: Voorwaardelijke opdrachten
Oefenblad 1: Voorwaarden en de opdracht If…
Teacher's NotesIn deze eerste les van Module 3 leer je over voorwaarden en maak je kennis met de verschillende If….-opdrachten die beschikbaar zijn in TI Basic
Doelen:
- Leren over voorwaarden.
- De ‘eenvoudige’ If… opdracht gebruiken om onder een voorwaarde een andere opdracht uit te voeren.
Stap 1
If…Then opdrachten worden gebruikt om een groep opdrachten alleen uit te voeren wanneer er wel of niet aan een bepaalde voorwaarde wordt voldaan. Laten we eerst eens kijken wat een voorwaarde inhoudt, voordat we verder gaan naar de verzameling If…Then opdrachten
Stap 2
Voorwaarden en het [MATH][ENTER][TEST]
Voorwaarden zijn uitdrukkingen die worden uitgewerkt tot ‘waar’ (true) of ‘onwaar’ (false). Deze uitdrukkingen zijn waar óf onwaar; ze kunnen dit niet niet beide of geen van beide zijn. De relationele operatoren en de logische operatoren bevinden zich allebei in het menu [TEST] ([MATH]). Het menu TEST bevat de relationele operatoren. Het menu LOGIC bevat de logische operatoren. Het =-teken wordt gebruikt om een voorwaarde te creëren, niet een toekenning.
Stap 3
Voorbeelden van enkele voorwaarden:
3>5 | XY>0 | X=5 of Y=5 |
X+4>X | B2-4AC=0 | X/2=int(X/2) |
XøY | X>0 en Y>0 | not(X>0) |
Stap 4
Voorwaarden op het beginscherm
Je kan voorwaarden direct in het beginscherm invoeren om te zien hoe ze worden verwerkt.
Merk op dat 1 voor waar staat en 0 voor onwaar.
Opmerking: als je een variabele gebruikt in een voorwaarde dan werkt de rekenmachine dit uit voor de huidige waarde die is opgeslagen in de variabele
Stap 5
Programmeren met de ‘Eenvoudige’ If… opdracht
Probeer dit programma:
:Prompt A
:If A>0 [If staat in het [PRGM] CTL menu. ‘> in het [TEST] menu]
:Disp “A IS POSITIEF”
:Disp “A IS NIET POSITIEF”
Voer het programma meerdere malen uit met positieve en negatieve getallen en bekijk het resultaat. Wat kun je hieruit concluderen?
Stap 6
Als de voorwaarde A>0 ‘waar’ is, wordt de opdracht die volgt op If uitgevoerd, anders wordt hij simpelweg overgeslagen. Maar de opdracht die “A IS NIET POSITIEF” weergeeft, wordt altijd uitgevoerd, dat is niet de bedoeling! Zie het scherm rechts. Dit gaan we snel leren oplossen.
Deze ‘eenvoudige’ If… is een beknopte manier om één statement over te slaan gebaseerd op een voorwaarde (wanneer deze onwaar is).
Stap 7
De If… opdracht bewerken
Laten we het voorgaande programma verbeteren door nog een If… toe te voegen
- Plaats de cursor op het tweede Disp.
- Kies [INS] en druk op [ENTER] om een witregel in te voegen.
- Voer If A<0 in op deze witregel.
Sluit het programma af en voer het meerdere malen uit met an positieve en negatieve getallen, gebruik ook 0!
Werkt jouw programma correct in alle gevallen? Zo niet probeer dan het probleem op te lossen.
Oefenblad 2: If…Then…End en samengestelde voorwaarden
Teacher's NotesIn deze tweede les van Module 3 leer je een betere manier om structuren met voorwaarden te gebruiken en je leert je over samengestelde voorwaarden.
Doelen:
- De If…Then…End-structuur onderzoeken.
- Samengestelde voorwaarden maken met behulp van de logische operatoren.
- Een programma schrijven met de If…Then…End structuur dat de gebieden van het assenstelsel onderzoekt.
Stap 1
De If…Then…End structuur
TI Basic bevat een unieke If…Then structuur die gebruik maakt van het belangrijke woord End om de opdrachten die het blok programmeercode vormen aan te sturen, de code wordt alleen uitgevoerd als de voorwaarde ‘waar’ (true) is.
Het ziet er als volgt uit:
If <voorwaarde>
Then
<blok ‘waar’: voer deze opdrachten uit wanneer <voorwaarde> ‘waar’ is
End
Opmerking:
Na If komt er een <voorwaarde>.
Then staat direct onder If, op een verder lege regel.
Er staan één of meerdere ‘opdrachten’ in het <blok ‘waar’>.
End geeft het einde van het Then-blok aan en de statements onder End worden wel uitgevoerd.
End is niet het einde van het programma! Het is alleen het einde van de If…Then…End structuur.
Stap 2
Samengestelde voorwaarden
Samengestelde voorwaarden bestaan uit meer dan één relationele uitdrukking. De logische operatoren and (en), or (of), xor (xof) en not( (niet) zijn te vinden in het [TEST] menu LOGIC. Met deze operatoren kan je Samengestelde voorwaarden in elkaar zetten.
Voorbeelden:
- X>0 en Y>0 is ‘waar’ wanneer X en Y beide positief zijn
- X>0 of Y>0 is ‘waar’ wanneer X of Y positief is (of allebei)
- niet(X>0 en Y>0) is ‘waar’ wanneer X of Y niet positief is
Dit betekent hetzelfde als X≤0 of Y≤0 - X>0 xof Y>0 is ‘waar’ wanneer of X, of Y positief is maar niet beide
Dit betekent hetzelfde als… X>0 of Y>0 en niet(X>0 en Y>0)
xof staat voor ‘exclusief of’ en is alleen ‘waar’ wanneer één van de twee delen ‘waar’ is, maar niet wanneer ze beide ‘waar’ zijn.
Je kan de relationele operatoren niet ‘aan elkaar rijgen’, bijvoorbeeld: Met 2<A<3 wordt bedoeld dat A tussen 2 en 3 ligt, maar dit moet gecodeerd worden als 2<A en A<3. De logische operatoren hebben een volgorde waarin ze worden uitgevoerd, net als de rekenbewerkingen +, - , * en /.
A<0 of A<5 en A>2 betekent dat A negatief kan zijn of tussen 2 en 5 ligt en wordt eerder uitgevoerd dan of (net zo als ‘vermenigvuldigen’ voor ‘optellen’ gaat).
Stap 3
Programmeren met If…Then…End opdrachten
Probeer het IFTHEN programma hier rechts uit.
Opmerking: Input heeft geen variabele. Dit is een speciale functie van TI-Basic. Net als in Module 2 zal het scherm GRAPH verschijnen zodat je de cursor overal heen kunt verplaatsen en [ENTER] kunt indrukken om de waardns van X en Y in te stellen.
‘and’ staat in het menu [TEST] LOGIC.
Then staat op zichzelf op een regel recht onder If
End is het einde van het blok ‘waar’ (alle opdrachten die worden uitgevoerd als aan de voorwaarde wordt voldaan). Maar het is niet het einde van het programma.
Stap 4
Maak het programma compleet
Een grafiek heeft meerdere gebieden, elk gebied heeft een naam zo heb je: kwadranten I, II, III, en IV en de positieve en negatieve x en y assen. We gaan nu een programma schrijven waarmee de gebruiker een punt kan selecteren op het scherm GRAPH en waar vervolgens het programma vertelt waar dit punt ligt in termen van deze gebieden.
We helpen je een eindje op weg met enkele If-opdrachten (in een Engels voorbeeld) en dan kan jij de rest doen:
Input let op, geen variabele!
Disp X,Y
If X>0 and Y>0
Then
Disp "FIRST QUADRANT"
End
If X=0 and Y>0
Then
Disp "POSITIVE Y-AXIS"
End
If X<0 and Y>0
Then
Disp "SECOND QUADRANT"
End
.
.
.
Als het goed is zou je nu acht If structuren moeten hebben (voor de vier kwadranten en de vier halve assen).
Stap 5
Als het programma wordt uitgevoerd verschtijn dit
…en als je Enter indrukt op de postie
Oefenblad 3: If…Then…Else…End; Deelbaarheid
Teacher's NotesIn deze derde les van module 3 leer je over een andere vorm van de If-opdracht in TI Basic en ontdek je het belang van het goed begrijpen van rekenprocedures en algoritmes.
Doelen:
- De structuur van de opdracht If…Then…Else…End begrijpen.
- De test voor ‘geheel-zijn’ (Is een waarde een geheel getal) leren
- Begrijpen wat een Algoritme is?
Stap 1
Over If…Then…Else…End
In de vorige activiteit leerde je over de opdracht If…Then…End. Er zijn situaties waarin het nodig is om twee verschillende ‘routes’ te kunnen nemen afhankelijk van een voorwaarde. De structuur van deze nieuwe opdracht If…Then…Else…End is hetzelfde:
If <voorwaarde>
Then
<’waar’ blok>
Else
<’onwaar’ blok>
End
Opmerking:
Then, Else, en End staan apart op een eigen regel.
Het <’waar’ blok> bestaat uit de reeks opdrachten die uitgevoerd zullen worden als de <voorwaarde> waar is.
Het <Onwaar blok> bestaat uit de reeks opdrachten die uitgevoerd zullen worden als de <voorwaarde> onwaar is.
Daarom zal altijd een van deze twee blokken uitgevoerd worden.
Stap 2
Programmeren met If…Then…Else…End
We gaan een programma schrijven dat vertelt of een ingevoerd getal een ‘perfect’ kwadraat is. Een ‘perfect kwadraat is het kwadraat van een geheel getal, zoals 25 (52). De methode die we hier gebruiken is het trekken van de wortel uit het getal en testen of dit een geheel getal is. Het volledige programma staat rechts.
Stap 3
Opmerking:
Gebruik de toets [&sqrt;] op het toetsenbord voor het wortel-symbool.
If, Then, Else, en End zijn allemaal te vinden in het CTL menu onder [PRGM].
De int( ) –functie staat in het menu NUM onder [MATH]. Deze functie geeft als resultaat een geheel getal. Dus bijvoorbeeld:
int(6.56) → 6 int(9.999) → 9 int(-2.01) → -3
Stap 4
Probeer je eigen int( )- voorbeelden uit op het beginscherm. Vergeet niet om de haakjes van de functie int( ) en van de wortelfunctie te sluiten. Op de rekenmachine gebruik je alleen HOOFDLETTERS in je Disp –opdrachten. Je kunt kleine letters invoeren met behulp van TI-Connect CE.
Stap 5
Algoritmes
Technieken zoals gebruikt in deze taak staan bekend als ‘algoritmes’. Een algoritme is een of formule voor het oplossen van een probleem.
Een recept voor het bakken van een cake is een algoritme. Als je het recept volgt dan zal je als resultaat een cake hebben. Alle wiskundige formules, zoals de formule voor de oppervlakte van een driehoek (A=B*H/2) zijn algoritmes: zij bieden jou een methode voor het bepalen van een nieuwe waarde gebaseerd op bestaande waardes. Algoritmes zoals de ‘perfecte kwadraat’-techniek hierboven, zijn belangrijke tools voor probleem oplossen. Door het leren van veelgebruikte computeralgoritmes zoals deze, zal je meer uit je programmeerervaring halen.
Hier is een recept voor het bakken van cake uit een pak ...
Stap 6
- Bereid het cakebeslag volgens de aanwijzingen op het pak.
- Bak de cake zoals aangegeven op het pak – in twee lagen.
- Laat de cakes 10 minuten afkoelen in de vorm.
- Haal de cakes uit de oven en zet ze op een bakrooster.
- Laat ze helemaal afkoelen.
- Klop de puddingmix met melk 2 minuten met een klopper.
- Smeer dit onmiddellijk uit op de bovenkanten van de cakes.
- Leg de twee lagen cake op elkaar.
- Bestrijk het geheel met slagroom.
- Eet smakelijk!
Net zoals in een computerprogramma, volgt de bakker de stappen van het begin naar het eind. Aan het eind is er een heerlijke cake om van te smullen. Als een computer de stappen in een programma (het algoritme) volgt, dan wordt het gewenste resultaat bereikt. Er bestaat zelfs een gebied binnen de computerwetenschappen dat zich bezighoudt met BEWIJZEN dat een algoritme het gewenste resultaat zal geven. Dat is vergelijkbaar met het bewijzen van wiskundige stellingen.
Toepassing: De dierenriem (sterrenbeelden)
Teacher's NotesIn deze toepassing voor module 3 ga je een programma ontwerpen dat de gebruiker vertelt onder welk teken van de dierenriem (welk sterrenbeeld) een ingevoerde datum valt
Doelen:
- Werken met het converteren van datums.
- If-opdrachten gebruiken om te bepalen onder welk teken van de dierenriem (welk sterrenbeeld) bij een bepaalde datum hoort.
- Werken met String-variabelen.
Stap 1
De sterrenbeelden van de dierenriem
In de sterrenkunde en astrologie is de dierenriem een verdeling van de hemel in 12 gelijke gebieden. Die gebieden zijn genoemd naar de sterrenbeelden die ongeveer binnen deze gebieden vallen. De Babyloniërs bedachten deze verdeling rond 1000–500 voor Christus. Zij begonnen hun kalenderjaar met de zogenaamde lente-equinox (de eerste dag van de lente), daarom is de ram (Aries) het eerste teken van de dierenriem en hoort dit bij de periode van 21 maart tot 20 april.
Stap 2
Het programma
In deze les zullen we een programma schrijven dat de gebruiker een maand en een dag laat invoeren en vervolgens het teken van de dierenriem (sterrenbeeld. In het Engels Zodiac) laat zien voor deze datum. Dit programma maakt veelvuldig gebruik van If…Then opdrachten.
De gebruiker zal het nummer van de maand (month) en het nummer van de dag (day) invullen volgens onze kalender en het programma zet dat om in een datum volgens het Babylonische systeem (maart = 1, april = 2, … , januari = 11, februari = 12). De test voor elk sterrenbeeld kan ingewikkeld zijn. Bijvoorbeeld:
If (M=1 en D>20) of (M=2 en D<21)
Om het programmeren te vereenvoudigen maken we één enkele numerieke waarde (een code) die de datums voorstelt. Met deze code is het makkelijker om de If-opdrachten te schrijven, omdat er dan geen complexe uitdrukkingen met ens en ofs nodig zijn.
Stap 3
Pseudocode
Bij het opstellen van een groot programma is het vaak handig om te beginnen met een opzet van het programma in gewoon Nederlands. Dit heet de ‘pseudocode’ omdat het niet geschreven is in een specifieke programmeertaal. De opzet wordt zó geschreven dat deze later eenvoudig omgezet kan worden in een programmeertaal.
Hier zie je de opzet (pseudocode) van het dierenriemprogramma:
PROGRAMMA: DIERENRIEM (ZODIAC)
Voer de maand in | gebruiker voert een getal tussen 1 en 12 in |
Voer de dag in | gebruiker voert een getal tussen 1 en 31 in |
(De dierenriem begint met het sterrenbeeld Ram (Aries in het Engels), dus maken we van maart de eerste maand en zijn januari en februari de maanden 11 en 12
Trek 2 af van de maand.
Als de maand kleiner is dan 1 tel dan 12 op bij de maand.
Maak een code van één getal voor de datum (combineer maand en dag tot één getal, de code, waarvan het eerste of de eerste twee cijfers de maand voorstellen en de laatste twee de dag). We krijgen dit voor elkaar door de maand te vermenigvuldigen met 100 en daar de dag bij op te tellen. Bijvoorbeeld: 4 juli is dag 4 van de Babylonische maand 5, dus de code is 100*5+4 = 504.
Vermenigvuldig de maand met 100 en tel de dag erbij op en sla het resultaat dan op in de code variabele.
Stap 4
Sla “Invalid” (of “ongeldig”) op in een String* variabele. Deze variabele zal later worden gebruikt om het sterrenbeeld of het woord Invalid (ongeldig) te tonen. Zie *Strings hieronder.
Controleer nu uit in welk sterrenbeeld de code past:
If Code ≥121 en Code≤220 dit stelt de dagen voor van 21 maart tot 20april
then
sla “Ram” op in de string variabele Let op de aanhalingstekens!
end
Schrijf voor elk van de twaalf sterrenbeelden een zo’n structuur.
Na de 12 If-structuren zal de string variabele ofwel “INVALID” ofwel een van de sterrenbeelden bevatten, dus…
Geef de the string variabele weer.
Stap 5
Hier staan de datums voor elk sterrenbeeld:
Ram: | 21 maart – 20 april |
Stier: | 21 april – 21 mei |
Tweelingen: | 22 april – 21 juni |
Kreeft: | 22 juni – 22 juli |
Leeuw: | 23 juli - 22 augustus |
Maagd: | 23 augustus – 23 september |
Weegschaal: | 24 september - 23 oktober |
Schorpioen: | 24 oktober – 22 november |
Boogschutter: | 23 november – 21 december |
Steenbok: | 22 december – 20 januari |
Waterman: | 21 januari – 19 februari |
Vissen: | 20 februari – 20 maart |
Stap 6
*Strings (tekenreeksen)
Dit programma slaat een reeks van tekens (string) zoals “INVALID” op in een String variabele. De TI-84 heeft 10 string-variabelen die je kunt gebruiken. Druk om toegang te krijgen tot de namen van deze variabelen op de toets v en selecteer het menu String…. Zorg ervoor dat je maar één string-gebruikt voor alle sterrenbeelden
Stap 7
Jouw opdracht
Schrijf het programma ZODIAC dat voldoet aan de specificaties hierboven. Het programma zou zoiets moeten produceren als je ziet in de afbeelding hiernaast (of in het Nederlands als je de Nederlandse namens hebt gebruikt).
Let op: Voor Vissen is een speciale voorwaarde nodig!
Stap 8
Uitbreiding:
Het programma controleert niet of de ingevoerde maand en dag wel echt bestaande datums zijn. Voeg If-opdrachten in na het invoergedeelte om er zeker van te zijn dat de ingevoerde waarden echt bestaan.
Tip: Denk eraan dat sommige maanden 30 dagen hebben, sommige 31 en een er slechts 29 heeft. Ook is het zo dat er geen maand 13 of 14 is. Kijk wat er gebeurt als je 14 invoert voor de maand.
- Oefenblad 1
- Oefenblad 2
- Oefenblad 3
- Toepassing
Module 4: Lussen (loops)
Oefenblad 1: Lussen (loops) en de For(…) lus
Teacher's NotesIn deze eerste les van module 4 leer je over het concept lus (‘loop’ in het Engels) en over de structuur en het gebruik van de For(…) lus.
Doelen:
- Lussen begrijpen.
- De For(…)-lus gebruiken om een lijst met waarden te genereren.
Stap 1
Lussen (loops)
Een lus is een methode om een serie opdrachten te herhalen. Alle programmeertalen hebben minstens één lus-structuur. De lusstructuur heeft een manier om terug te gaan naar een eerdere plek in het programma. TI-Basic heeft drie verschillende soorten lussen. Een oneindige lus stopt nooit.
Om een lopend programma te onderbreken (stoppen) druk je op É. Je ziet dan de opties ‘Áfsluiten’ en ‘’Ga Naar. Met ‘’’Afsluiten’ ga je terug naar het beginscherm ‘Ga Naar brengt je in de programma-editor naar de plek waar het programma is gestopt.
Stap 2
De drie lussen in TI-Basic zijn:
For( ) … End
While <voorwaarde is waar> … End
Repeat <totdat voorwaarde waar is> … End
De rest van deze les gaat alleen over de For( ) lus.
Stap 3
De For( … ) lus
Sructuur: For(variabele, startwaarde, stopwaarde)
Lus kern
End
Voorbeeld: For(A,1,10)
Disp A ← luskern
End
Stap 4
Opmerking:
De opdracht For( ) vereist een variabele (de variabele die de lus aanstuurt), een startwaarde en een stopwaarde gescheiden door komma’s. De start- en stopwaarden kunnen variabelen zijn. De kern van de lus kan zoveel opdrachten bevatten als nodig, maar deze moeten de variabele die de lus aanstuurt niet veranderen. De lus wordt uitgevoerd van jouw startwaarde tot jouw stopwaarde met een standaard stapgrootte van 1.
Stap 5
For-lus met stapgroottes anders dan 1
Er is een optioneel vierde argument voor de opdracht For( ): de stapgrootte. De stapgrootte is de waarde waarmee de variabele die de lus aanstuurt toeneemt na elke iteratie (herhaling) van de lus. De standaardwaarde is 1.
Stap 6
For(A,1,10,3) begint met A=1, telt dan 3 op bij A elke keer dat de lus zich herhaalt. De lus stopt wanneer A groter is dan 10. De stapgrootte kan een negatief getal zijn.
For(B,10,0,-1) stelt af van 10 naar 0.
Stap 7
Programmeren met For(…)
Laten we een programma schrijven dat een tabel laat zien met getallen en hun kwadraten.
De gebruiker kan de onder- en bovengrens van de serie getallen invoeren. Het lastige deel is om de paren getallen op dezelfde regel af te beelden! We kunnen dit doen door lijsten te gebruiken..
Opmerking:
L en U worden gebruikt om Onder (Lower) en Boven (Upper) aan te geven. De opdracht For( ) gebruikt de waarden van L en U. De lijsthaakjes (accoladen) staan onder de haakjestoets. Druk op [2nd] £ en [2nd] ¤ voor de haakjes.
Stap 8
Voer het programma uit en voer een onder- en bovengrens in voor de tabel.
Als de lijsten te snel langskomen voeg dan eventueel een Pause-opdracht ins na de opdracht Disp en voor de opdracht End.
Uitdaging:
Gebruik een If … Then… End-structuur om na elke 5 paren getallen te pauzeren. Kijk even terug naar de deelbaarheidstechniek uit de vorige module.
Oefenblad 2: De While…End lus
Teacher's NotesIn deze tweede les van module 4 leer je over de While…End-lus. We vergelijken deze met de For… -lus en laten je ook zien waarom deze krachtiger en flexibeler is dan de For… -lus.
Doelen:
- De structuur van de While…End-lus leren.
- Deze vergelijken met de For…End-lus.
- Zien hoe deze gebruikt wordt om te zorgen dat de invoer geldig is.
Stap 1
De While… End-lus
De While…End-lus loopt door zolang deWhile <voorwaarde>
<lus kern>
End
Stap 2
Opmerking
De <voorwaarde> is een logische uitdrukking zoals X>0.
De <lus kern> is een willekeurige verzameling opdrachten, die ook lussen en If-structuren kan bevatten. De kern wordt uitgevoerd wanneer en zolang <voorwaarde> waar is.
Het sleutelwoord End wordt gebruikt om het einde (‘de bodem’) van de <lus kern> aan te geven. Bij de opdracht End ‘lust’ het programma terug naar de opdracht While en test de <voorwaarde> opnieuw.
Stap 3
‘Initialiseer’ de voorwaarde voor While:
Stel een waarde in zodat de voorwaarde op de goede manier is ingesteld als waar of onwaar. Als de beginvoorwaarde onwaar is dan wordt de lus helemaal overgeslagen. Als de voorwaarde waar is dan wordt de kern van de lus verwerkt. De 0→K bovenaan in dit programma stelt de beginvoorwaarde in op onwaar. Zonder deze opdracht kun je niet weten wat er zal gebeuren omdat elke willekeurige waarde kan zijn opgeslagen in de variabele K voordat het programma wordt uitgevoerd.
Ergens in de <lus kern> zou er een opdracht moeten zijn die een effect heeft op de <voorwaarde> zodat de lust uiteindelijk zal stoppen en de opdrachten na de lus zullen worden uitgevoerd. Gewoonlijk staat deze opdracht onderaan dichtbij de <lus kern>. K+1→ K zorgt ervoor dat K uiteindelijk groter zal zijn dan 10.
Stap 4
Nagaan of Input geldig is met While…End
We zullen een gedeelte (code-segment) van een programma schrijven dat er voor zorgt dat de gebruiker een positief getal invoert, haar vertelt wanneer de invoer ongeldig is en dan verzoekt om een andere waarde in de plaats ervan in te voeren.
De uitvoer van dit programmagedeelte staat hier rechts (in het Engels) waarbij enkele niet-positieve getallen zijn ingevoerd om het effect te zien. Kijk eens of je dit programmagedeelte kunt schrijven zonder te spieken op de volgende pagina!
Opmerking: Gebruikers van de TI-84 Plus moeten misschien een korter bericht gebruiken omdat het scherm minder breed is.
Stap 5
We beginnen met een Input-opdracht met een bericht om een waarde te krijgen van de gebruiker …
Stap 6
Begin dan de While-lus, om te controleren of de ingevoerde waarde negatief is. SAls dat zo is dan geven we met Disp een foutmelding weer.
De kern van de lus zal alleen binnengegaan worden als N negatief is, anders zal de hele kern overgeslagen worden.
Stap 7
Gebruik tenslotte de opdracht Input opnieuw aan het eind van de om een nieuwe waarde te vragen aan de gebruiker en dan de
Dit programmagedeelte vraagt een waarde van de gebruiker en zorgt ervoor dat de invoer een positief getal is. Onder dit programmagedeelte zullen meer opdrachten volgen om het ingevoerde getal te verwerken.
Oefenblad 3: De Repeat…End-lus
Teacher's NotesIn deze derde les van module 4 leer je over de Repeat…End-lus. We zullen deze vergelijken met de For… lus en ook laten zien waarom deze lus krachtiger is..
Doelen:
- De structuur leren van de Repeat…End-lus.
- Deze vergelijken met de While…End-lus.
- Zien hoe Repeat…End wordt gebruikt bij het programmeren van de rij van Fibonacci.
Stap 1
De Repeat… End-lus
De Repeat…End-lus zal doorlopen zolang de <voorwaarde> ervan onwaar is. Dit is precies het tegenovergestelde van wat de While-lus doet, en dat is niet het enige verschil! De lus ziet er zo uit, wat erg lijkt op While structuur:
Repeat <voorwaarde>
<lus kern>
End
De programma’s rechts hebben dezelfde uitvoer. Wat zijn de verschillen?
Stap 2
De <voorwaarde> is een logische uitdrukking zoals X>0.
De <lus kern> is een willekeurige verzameling opdrachten, die ook lussen en If-structuren kan bevatten.
Deze wordt een keer uitgevoerd en gaat dan door totdat de <voorwaarde> waar is, dus de lus gedraagt zich min of meer als:
Repeat
<lus kern>
totdat <voorwaarde> waar is End
Stap 3
Maar er is geen sleutelwoord ‘totdat’ in TI Basic. Dit is ‘impliciet’, het wordt verondersteld er te zijn. Zelfs als de <voorwaarde> waar is vanaf het begin, dan wordt de kern van de lus toch één keer uitgevoerd omdat de voorwaarde oas getest wordt aan het eind van de lus.
In een While-lus is het een uitstekend idee om de variabele(n) waarvan de lus afhangt, vooraf te initialiseren. In een Repeat-lus zal dit gebeuren binnen de kern van de lus en is initialiseren dus niet nodig.
Net zoals bij While, zal er ergens in de <lus kern> een opdracht moeten zijn die effect heeft op de <voorwaarde> zo dat de lus uiteindelijk stopt en de opdrachten na de lus kunnen worden uitgevoerd. Gewoonlijk staat deze opdracht onderaan dicht bij het einde van de <lus kern>.
Stap 4
De rij van Fibonacci programmeren
Laten we een programma schrijven dat de rij van Fibonacci tot een bepaalde waarde, afbeeldt op het scherm. Je kunt de rij Fibonacci eerst onderzoeken als je er nog nooit van hebt gehoord.
De uitvoer van het programma zie je rechts. Kun je dit programma schrijven zonder hieronder af te kijken?
Stap 5
We beginnen met een Prompt-opdracht om een waarde voor de bovengrens te krijgen van de gebruiker. De eerste twee Fibonacci-getallen zijn 1 en 1 en dus zullen we deze waarde opslaan in de variabelen A en B. Deze variabelen gaan we gebruiken om de rest van de Fibonacci-getallen te berekenen (tot N).
Stap 6
Dan beginnen we de Repeat-lus met de voorwaarden A>N, wat betekent ‘tot A groter is dan N’. In de lus geven we eerst de twee huidige getallen weer.
Stap 7
Tenslotte berekenen we de volgende twee Fibonacci-getallen en bereiken het eind (End) van de lus.
Deze twee laatste opdrachten van de lus laten zien dat A+B wordt opgeslagen in zowel A als B en het lijkt erop dat A en B dezelfde waarde gaan krijgen. Dit is niet het geval! Probeer het maar met 1 en 1. De eerste opdracht slaat 1+1 op in A, en geeft A dus de waarde 2. De tweede opdracht slaat 2+1 op in B en daarmee krijgt B de waarde 3. Probeer het zelf maar eens – doe alsof je de computer bent!
Stap 8
Voer het programma uit met een aantal verschillende invoerwaarden. Werkt het zoals je had bedoeld?
Probeer nu de voorwaarde voor Repeat te veranderen in B>N. Wat is het effect? Hoe kunnen we het programma aanpassen zodat het de juiste reeks getallen laat zien en stopt wanneer exact het grootste Fibonacci-getal kleiner dan N is weergegeven?
Toepassing: Waarschuwingen
Teacher's NotesDeze toepassing (WAARSCHUWINGEN) maakt gebruik van lussen om zo veel variabelen als nodig in te voeren en controleert, als uitbreiding, of de ingevoerde waarden geldig zijn en gebruikt If-opdrachten om een passend bericht te tonen.
Doelen:
- Leren over de opdrachten teller (counter) en (accumulator).
- Een lus gebruiken in een programma om een onbepaalde hoeveelheid gegevens te verkrijgen.
- Een ‘vlag’-waarde gebruiken om een lus te beëindigen.
Stap 1
Geneste structuren
Nesten is de programmeertechniek waarbij een besturingsopdracht binnen een andere wordt geplaatst. De term is afgeleid van het idee van het plaatsen van de ene kartonnen doos in de andere om zo ruimte te besparen.
Het is belangrijk om een een complete structuur volledig binnen een blok van een andere te plaatsen om fouten te voorkomen.
De programmaregels rechts laten een If-structuur binnen een Else-blok van een andere If-structuur zien. Let op het meerdere keren gebruiken van de End-opdracht; de computer weer welke End bij welke If hoort.
Het inspringen van de regels is alleen gedaan voor de uitleg. Je kunt in TI-Basic regels niet laten inspringen.
Het programma test eerst of A<0. Als dat zo is, dan toont het programma het bericht “A is negative!” (A is negatief) en niets anders. Maar als A niet negatief is dan worden de onderstreepte berekening van de wortel, nog een If-opdracht en de opdracht Disp allemaal uitgevoerd.
De programmeur plaatst Ifs binnen lussen en lussen binnen Ifs om de meer complexe taken die nodig zijn voor het programma te realiseren..
Stap 2
Samenvatting van de drie lussen:
For(var, begin, eind) | While voorwaarde is waar | Repeat totdat voorwaarde is waar |
End | End | End |
For( wordt gebruikt bij ‘tellen’ of bij het verwerken van een rekenkundige rij van waarden (iteratie).
While wordt gebruikt wanneer je mogelijk de volledige kern van een lus kunt overslaan
Repeat wordt gebruikt wanneer je zeker weet dat je de kern van een lus minstens een keer wilt uitvoeren.
Stap 3
Over End
Het sleutelwoord End wordt gebruikt voor alle meerregelige besturingsstructuren:
If … Then |
If … Then Else |
For( … ) | While … | Repeat … |
End | End | End | End | End |
Stap 4
En dit is de reden dat het ¼ CTL menu georganiseerd is op deze manier:
7: End komt na de eerste zes opties van het menu CTL menu omdat het elk van deze besturingsstructuren van het programmeren afsluit (‘ends’).
End-opdrachten kunnen heel vaak voorkomen in een programma en de computer weet hoe deze Ends verbonden zijn met hun besturingsstructuren
Stap 5
Module 4 toepassing: Programma “Waarschuwingen”
De meeste scholen versturen regelmatig rapporten gebaseerd op de actuele gemiddelde cijfers van de leerlingen. Een gemiddelde van 5,5 (of 55%) of hoger wordt gezien als voldoende, maar als het gemiddelde onder de 6 (of 60%) ligt dan wordt een leerling soms gezien als ‘in de gevarenzone’ of als bespreekgeval.
Laten we een programma schrijven dat de gebruiker enkele proefwerkcijfers laat invoeren, het gemiddelde berekent en dan het aantal ingevoerde cijfers, het gemiddelde ervan en een passende ‘waarschuwing’ laat zien. Dit waarschuwingsbericht kan zijn: “Hiermee ga je over”, “Je zit in de gevarenzone” en “Hiermee blijf je zitten”.
We kunnen twee manieren gebruiken om een onbekend aantal cijfers in te voeren:
- Manier 1: vraag eerst om het totaalaantal cijfers en gebruik een For-lus om de cijfers in te voeren.
- Manier 2: vraag de cijfers, maar gebruik een ‘vlag’-waarde zoals -999 om aan te geven dat er niet meet cijfers zijn. Bij deze manier zal je een While-lus of een Repeat-lus gebruiken.
In beide gevallen zullen we een lopend totaal van de cijfers bij moeten houden. Bij manier 2 moeten we ook het aantal cijfers tellen zodat we het totaal kunnen delen door dat aantal.
Jouw programma zou het aantal ingevoerde cijfers, het gemiddelde van deze cijfers en de passende waarschuwing moeten weergeven:
Als het gemiddelde minder dan 5,5 (55%) zit: “Hiermee blijf je zitten”
… 5,5 tot 6: “Je zit in de gevarenzone”
… meer dan 6: “Hiermee ga je over”
Stap 6
Tellers en accumulatoren
Een opdracht zoals C+1→C wordt een teller genoemd omdat deze zorgt dat er elke keer dat de opdracht wordt uitgevoerd 1 wordt opgeteld bij de variabele C.
Een opdracht zoals T+N→T wordt een accumulator genoemd omdat de opdracht een lopend totaal van de waarden van de variabele N bijhoudt. De waarde van N wordt opgeteld bij de variabele T en vervolgens wordt die som weer ‘terug’ opgeslagen in variabele T. Aan het eind van een lus zal T het totaal van de N waarden bevatten.
Hier zie je een voorbeeld waarin een teller C en een accumulator A worden gebruikt en ook een ‘vlag’-waarde om de G’s (cijfers) in een programma bij te houden:
Stap 7
0→C 0→G 0→T Prompt G While G≠-999 C+1→C T+G→T Prompt G End Disp "Total =",T Disp "Teller =",C |
Opmerkingen Initialiseren van de variabelen; G staat voor het cijfer C staat voor de telling (het aantal) T staat voor het totaal vraag om het eerste cijfer (G) zolang het niet gelijk is aan -999 tel 1 op bij de telling C tel het cijfer (G) op bij het totaal (T) vraag om nog een cijfer (G) |
Stap 8
De While-lus hierboven blijft tellen en de G’s bij elkaar tellen (accumuleren) zoals als -999 niet wordt ingevoerd. Wanneer -999 wordt ingevoerd stopt de lus en worden de resultaten weergegeven.
Uitbreiding
Als onderdeel van je input-routine kun je een controle uitvoeren om er zeker van te zijn dat de waarde die is ingevoerd een geldig cijfer is (tussen 0 en 10) en om een passende actie uit te voeren wanneer dat niet zo is.
- Oefenblad 1
- Oefenblad 2
- Oefenblad 3
- Toepassing
Module 5: Plaatjes
Oefenblad 1: Tekenen
Teacher's NotesIn deze eerste les van module 5 leer je over een aantal tekeninstructies (‘drawing’) waarmee je vormen kunt tekenen op het beginscherm.
Doelen:
- Het menu tekenen [draw] gebruiken om tekeninstructies te vinden
- De syntax kennen van een aantal van de tekeninstructies.
- Het verschil kennen tussen instructies die coördinaten van punten en instructies die coördinaten van pixels gebruiken.
Stap 1
Het menu [TEKENEN]
- Druk op het beginscherm op [DRAW] ([2nd] [PRGM])
- Kies Lijn(
- Vul de instructie aan met 0,0,3,4) zodat de volledige instructie luidt:
Lijn(0,0,3,4) - Druk op [ENTER] om een lijn getekend te zien worden van de oorsprong tot het punt (3, 4) op het Grafiekenscherm.
De meeste tekeninstructies zoals Lijn, Cirkel, en Pnt-Aan gebruiken de venstercoördinaten als referentie.
Stap 2
Tekenen in Programma’s
Er zijn veel TI-Basic programmeer-tools die het uiterlijk van het grafiekenscherm beïnvloeden. Hier onderzoeken we een aantal van die tools:
- WisTekenen om een getekend object te wissen [DRAW]
- FnUit om functies uit te schakelen [VARS] YVARS Aan/Uit
- PlotsUit om statistische plots (diagrammen) uit te schakelen
Gebruik het [DRAW] menu om een object om te tekenen te selecteren. Zie het voorbeeld rechts.
Stap 3
Kleuropties (alleen voor TI-84 C en TI-84 CE)
De Line( -instructie heeft een optioneel vijfde argument dat bepaalt welke kleur er moet worden gebruikt. Om een kleur te selecteren druk je op [PRGM] KLEUR of [VARS] KLEUR en kies je een kleur select. De naam van de kleur wordt ingevoegd in je programma maar stelt gewoon een getal voor (BLAUW=10, ROOD=11, ZWART=12, etc.). Zie het voorbeeld rechts. Veel tekeninstructies hebben een kleuroptie. Op de TI-84 Plus kan het vierde argument een 1 of een 0 zijn: 1 om met zwart te tekenen en 0 om te tekenen met wit.
Step 4
Help!
Help is bij elke instructie op de rekenmachine beschikbaar door te drukken op de toets [+] terwijl je de instructie markeert in een menu. Rechts zie het scherm help voor de instructie Cirkel(. Het toont het aantal en de volgorde van de invoer. X,Y zijn de coördinaten van het middelpunt van de cirkel, vervolgens de straal> de optionele invoer bestaat uit de kleurnaam of het kleurnummer en de lijnstijl (1 t/m 4). Je kunt de instructie direct op dit scherm afmaken en dan op de toets [TRACE] drukken om de instructie in jouw programma te ‘plakken’.
Step 5
Kan jij dit tekenen?
Kun jij de tekening rechts exact zo maken met een programma?
Hint 1: er zijn maar twee instructies nodig, maar het venster en de getallen zijn heel belangrijk!
Hint 2: (X, Y) is het middelpunt van de cirkel en de straal is de afstand van het middelpunt tot de cirkel. (kleur en lijnstijl zijn optioneel)
Tip: Je kunt het grafiekenscherm instellen in een programma. Druk terwijl je een programma aan het bewerken op [ZOOM] en kies een instelling of ken waarden toe aan elke vensterrand door waarden toe te kennen aan de variabelen die je kunt vinden onder [VARS] Venster… zoals:
-20→Xmin
Step 6
Cirkelkunst
Maak de cirkelopdracht in het programma hieronder af om het plaatje rechts te krijgen.
Opmerking: ZStandaard en ZVierkant kun je vinden in het menu [ZOOM].
Step 7
Het ene programma naar het andere kopiëren doe je zo:
- Start een nieuw programma.
- Druk in de Editor op [RCL] ([2nd] [STO→]).
- Drup op [PRGM] en op pijltje om uit te voeren (UITVOEREN).
- Kies het programma dat je wilt kopiëren. Zie het scherm rechts waar we bezig zijn met het kopiëren van het prgmCIRKELS in het prgmKOPIEER.
- Druk op [ENTER] om de programmacode in het nieuwe programma te plakken.
Oefenblad 2: Punten en Pixels
Teacher's NotesIn deze tweede les van Module 5 leer je over het plotten van punten en het verschil tussen de instructies Pnt-Aan en Pxl-Aan
Doelen:
- De plotopdrachten punt en pixel gebruiken.
- Formules opstellen om plaatjes in programma’s te gebruiken.
Stap 1
De instructie Punt
Het het menu [DRAW] PNTN (POINTS).
Pnt-Aan(x,y) plot een punt, bepaald door de instellingen van het grafiekenvenster Het betekent ‘zet het punt aan’. Pnt-Aan(2,1) plot het punt in het eerste kwadrant van het scherm rechts. Pt-Aan(x,y,stijl,kleur) heeft optionele argumenten:
Stijl (1 t/m 4) en kleur. Bekijk de syntax-help door te drukken op [+] terwijl je staat op de instructie in het menu [DRAW].
Pt-On(100,100) zal het punt plotten ook al valt het buiten het huidige kijkvenster.
Stap 2
De instructie Pixel
Pxl-Aan( gebruikt de schermpixels en negeert de vensterinstellingen. Pxl-Aan(2,3) plot het piepkleine pixeltje in de linkerbovenhoek van hetzelfde scherm op rij 2, kolom 3. Het is bijna niet te zien! De coördinaten staan niet in de gebruikelijke (x,y) volgorde: Ze staan ‘achterstevoren’ omdat ze verwijzen naar (rij#, kolom#). Pxl-Aan(x,y,color) heeft slechts een optioneel argument voor kleur.
Er zijn ook corresponderende intsructies –Uit(, –Change(, en -Test die we hier niet zullen behandelen.
Stap 3
Pixels
Afhankelijk van jouw type TI 84 Plus serie rekenmachine, heeft je scherm een vast aantal pixelkolommen en –rijen: TI-84 Plus: 96 kolommen x 64 rijen en TI-84 Plus C/CE: 265 kolommen x 165 rijen. Rijen zijn horizontaal (van links naar rechts) en kolommen zijn verticaal (van boven naar onder). De instellingen voor een gesplitst scherm, hebben invloed op het aantal rijden en/of kolommen afhankelijk van de instelling. Het grafiekenscherm van de TI-84 Plus gebruikt de meest rechtse kolom en de onderste rij niet voor het tekenen van grafieken, zodat er een oneven aantal punten is in het grafiekengebied. Dit zorgt ervoor dat er een centraal punt (oorsprong) is. Het pixel helemaal linksboven is (0,0). Pxl-Aan(0,0) zet het pixel in kolom 0 en rij 0 aan. De nummering van de rijen en kolommen start met 0 en niet met 1.
Het grafiekenscherm van de TI-84 Plus heeft grotere pixels zodat ze makkelijker te zien zijn. Het scherm hierboven toont het resultaat van Pxl-Aan(15,30). Dat is rij 15, kolom 30 van het scherm. Het pixel rechtsonderaan is (63,95).
Stap 4
Programmeren met punten
Laten we een programma schrijven dat het grafiekenscherm willekeurig vult met punten. Dit programma zal een oneindige lus hebben dus druk op É om uit het programma te onderbreken.
Stap 5
We hebben een algoritme (formule) nodig om een willekeurig punt op het actuele grafiekenscherm te krijgen binnen de schermgrenzen:willekeurig is te vinden in het menu KANS van m en genereert een toevalsgetal tussen 0 en 1.
willekeurig*(Xmax-Xmin) genereert een toevalsgetal tussen 0 en Xmax-Xmin dus we zullen er Xmin bij optellen.
willekeurig*(Xmax-Xmin)+Xmin genereert een toevalsgetal tussen Xmin en Xmax. …en we schrijven een vergelijkbare formule voor de Y-coördinaat.
En dit is precies waarom wiskunde zo belangrijk is voor programmeren!.
Dit programma werkt op alle TI-84s.
Stap 6
Opmerking:
AssenUit is te vinden op het scherm [FORMAT].
FnUit is te vinden in het On/Off… menu van [VARS] Y-VARS.
PlotsUit is te vinden in het menu.[STAT PLOT]
WisTekenen is te vinden in het menu [DRAW].
While 1 creëert een oneindige lus omdat waar wordt voorgesteld als 1 op de rekenmachine.
De toevalsgetallen worden opgeslagen in A en B om te worden geplot.
Vergeet niet om op [ON] te drukken om het programma te onderbreken. Dit programma werkt op dezelfde manier op elke rekenmachine uit TI-84 Plus serie!
Stap 7
PrgmVULPNTN verrijken met Kleur
Op de TI-84 C/CE kun je een willekeurige kleur toevoegen aan de opdracht Pnt-Aan(. Het laagste getal voor een kleur is 10 en het hoogste is 24 Schrijf een opdracht die een willekeurig geheel getal genereert tussen 10 en 24 met behulp van randInt( ) en voeg dat als derde argument toe aan de opdracht Pnt-Aan(.
Voeg de volgende opdracht toe voor Pnt-Aan(A,B).
Veranderen Pnt-Aan(A,B) in Pnt-Aan(A,B,C).
<uw kleur generator > → C
Opmerking: Er zijn twee optionele argumenten voor Pnt-Aan: stijl en kleur. Stijl kan lopen van 1 tot en met 4 en kleur van 10 tot en met 24. Dus als het derde argument een waarde is van 1 tot en met 9 dan is het een stijl. Als het tussen 10 en 24 ligt is het een kleur. Andere waarden veroorzaken een fout.
Oefenblad 3: Lijnen, Tekst en Kleuren
Teacher's NotesIn deze derde les van module 5 leer je over het tekenen van lijnen, tekst en het verrijken met kleur.
Doelen:
- De lijn, functie en tekst tekenopdrachten gebruiken.
- Kleur gebruiken in grafische opdrachten.
- Formules maken om gebruik te maken van plaatjes in programma’s.
Stap 1
Lijnen en krommen tekenen
Lijn(X,Y,W,Z) tekent een lijnstuk tussen de punten (X,Y) en (W,Z). Zie Help van de catalogus voor de optionele kenmerken.
Verticaal A tekent de verticale lijn X=A.
Horizontaal B tekent de horizontale lijn Y=B.2
TekenF X²+X tekent de functie. Dit is anders dan het tekenen van de grafiek van de functie.
Zie de voorbeelden rechts. Merk op dat de optionele kleueren te vinden zijn in het menu kleur van [PRGM]. Kleur is niet beschikbaar op de TI-84 Plus.
Stap 2
Tip: om een deel van de functie te tekenen deel je deze in stukken met behulp van het gewenste interval:
TekenF sin(X)/(X>≥0 en X≤π)
Tekent de blauwe kromme die je hier ziet (waarom?)
Stap 3
Tekst tekenen
De tekenopdracht Tekst( is uniek omdat het de pixelwaarden gebruikt en niet de vensterwaarden (punten) voor het positioneren van de tekst. Er bestaat ook een aparte opdracht TekstKleur( die de kleur instelt voor de volgende tekst die wordt getekend.
Stap 4
Tekst(50,100,”HALLO”) geeft HALLO weer op dezelfde plek op het scherm ongeacht de vensterinstellingen. Rij 50, kolom 100 van de pixels stellen de linkerbovenhoek voor van de tekst die getekend wordt.
Opmerking: Denk aan de pixel-afmetingen van jouw scherm: TI-84 Plus: 96 kolommen x 64 rijen en TI-84 Plus C/CE: 265 kolommen x 165 rijen.
Stap 5
Programmeren met Lijn( en algebra
Deze programmeeractiviteit versterkt de opdracht Lijn(.
De opdracht Lijn( tekent slechts een lijnstuk tussen twee punten. Wij zouden gaar een lijn zien door de twee punten die helemaal doorloopt over het scherm ongeacht welke twee punten zijn geselecteerd. In deze activiteit wordt gebruik gemaakt van begrippen uit e algebra, dus wees voorbereid!
Stap 6
- Start een programma. We zullen het LIJN noemen.
- Voeg de gebruikelijke opdrachten om de grafiek in te stellen toe aan het begin van het programma.
- Gebruik twee Input-opdrachten zonder variabelen om de coördinaten van twee punten op het scherm te krijgen. Input bepaalt de waarden van X en Y dus we moeten de eerste twee waarden opslaan in andere variabelen A en B zodat we het tweede paar coördinaten kunnen krijgen in X en Y.
- Bereken de helling M (rico) van deze lijn en sla die op.
- Nu hebben we de twee punten nodig aan de linker- en rechterkant van het scherm voor de lijn-opdracht. De x-coördinaten van deze punten zijn Xmin en Xmax.
- We moeten nu de y-coördinaten berekenen.
- De vergelijking van de lijn is y = M*(x - A) + B.
Stap 7
Jouw opdracht ……
- Vul Xmin en Xmax (de namen niet de waarden!) in de vergelijking in voor x en sla het resultaat op in de variabelen Q en R die de y-coördinaten voorstellen.
- Gebruik de opdracht Lijn( om een lijn te tekenen tussen de linker- en rechterkant van het scherm.
Stap 8
Uitbreidingen
- Voeg een lus toe in het programma om het mogelijk te maken veel lijnen te tekenen zonder het programma opnieuw te hoeven uitvoeren, wat het scherm leeg maakt.
- Dit programma werkt niet wanneer de lijn verticaal loopt. Waarom? Neem een If-structuur op om dit speciale geval af te handelen.
Stap 9
Punten naar pixels programmeren
Stel je voor: je gebruikt de opdracht Pnt-Aan( om een punt (A,B) te tekenen op het grafiekscherm. Je wilt dit punt nu een label geven met tekst. Waar moet het deze tekst tekenen?
Schrijf twee formules (een voor C en een voor D) die venstercoördinaten omzetten in pixelcoördinaten voor de opdracht Tekst(. Deze tabel (TI-84 C/CE waarden) kan misschien helpen:
VENSTER Xmin Xmax A |
pixel 0 264 ? |
Ymax Ymin B |
0 164 ? |
Toepassing: Een punt laten stuiteren
Teacher's NotesIn deze toepassing van module 5 bouwen we een programma gebaseerd op grafische elementen.
Doelen:
- Weten hoe je kunt bepalen op wat voor rekenmachine een programma wordt uitgevoerd.
- Een punt laten stuiteren over het scherm.
Stap 1
Programma “Pong”
In het originele videospel ‘Pong’ stuiterde er een pixel over het scherm. De spelers bestuurden de ‘batjes’ zoals bij pingpong om de bal in het spel te houden. Dit programma zal een stuiterende bal opleveren. Een punt beweegt in een schuine lijn over het scherm en wanneer het een rand raakt zal het van richting veranderen zodat het van de rand terug lijkt te stuiteren.
Stap 2
Het eerste probleem om over na te denken is de schermgrootte, omdat de TI-84 Plus een andere schermgrootte heeft dan de TI-84 C/CE. Het volgende stuk programmeercode zal de schermgrootte bepalen:
0→Xmin
1→ΔX Ook in het menu [VARS] Venster
If Xmax>95 then
<het is een C of CE>
Else
<het is een 84 Plus>
End
Op dit punt weten we nu met welke rekenmachine we werken en stellen we de variabelen in in de Then en de Else blokken om deze te gebruiken in de rest van het programma:
M voor de breedte en N voor de hoogte.
Voor de C of CE: 264→M en 165→N
Voor de 84 Plus: 94→M en 63→N
Stap 3
Variabelen initialiseren
We stellen ook het bereik voor y in op mooie waarden:
0→Ymin
1→ ΔY
We beginnen met het punt (A,B) op een willekeurige plek, maar niet te dicht bij de rand van het scherm:
randInt(10,M-10)→A
randInt(10,N-10)→B
We stellen ook twee variabelen in die de beweging voorstellen. Deze zullen worden opgeteld bij de coördinaten van het punt om het punt naar een nieuwe positie te verplaatsen:
randInt(2,5)→D verandering in A
randInt(2,5)→E verandering in B
Stap 4
Aan de slag
We zijn klaar om in actie te komen. We gebruiken een oneindige lus …
While 1Pnt-Aan(A,B,2) Stijl 2 een grote vierkante stip
<de rest van het programma>
End
Tip: Het is een goed idee om de opdracht End meteen toe te voegen om ze bij te kunnen houden.
Stap 5
Het laten bewegen
Tel in de lus en na Pnt-Aan ( de ‘veranderingsvariabelen’ op bij de coördinaten van het punt:
A+D→A
B+E→B
Dit verandert de coördinaten van het punt.
Als je het programma nu uitvoert zal je zien dat het punt vertrekt in een bepaalde richting en snel van het scherm afloopt zoals je ziet in het plaatje rechts.
Stap 6
Stuiteren
Om te zorgen dat het punt de randen van het scherm opmerkt voegen we If-opdrachten toe…..
If A>M of A<0Then
<dit gebeurt wanneer het punt aan de rechter- of linkerkant van het scherm af loopt>
End
- Oefenblad 1
- Oefenblad 2
- Oefenblad 3
- Toepassing