TI Coding mit TI-84 Plus CE-T
Anhang dieser kurzen Übungen fördern Sie das Verständnis für mathematische Konzepte und vermitteln erste Programmiererfahrung.
Lektion 1: Erste Schritte / Bildschirmausgaben
Übung 1: Verwendung des Programmeditors
LehrerinformationDies ist die erste von drei “Trainingseinheiten” der Lektion 1. Nach dieser Übung wird es möglich sein, komplexere Programme zu schreiben. Aber zunächst einmal ist es die erste Stunde, in der der Umgang mit TI Basic gelernt werden soll.
TI Basic ist eine Programmiersprache, die genutzt wird, um Programme auf einem TI-Taschenrechner zu schreiben. Weil Aufbau und Syntax von TI Basic einfacher sind als bei anderen modernen Programmiersprachen eignet sich diese Sprache besonders gut, um die Grundlagen der Programmierung zu lernen.
Lernziele:
- Verwendung des TI Basic Programm Editors, um ein einfaches Programm zu entwerfen und laufen zu lassen.
- Verwendung der Menüs, um Befehle auszuwählen und in das Programm zu übertragen.
- Starten eines Programmes.
Schritt 1
Als erstes muss der TI-84 Plus CE-T eingeschaltet werden. Dann drückt man die Taste [PRGM].
Jetzt wählt man mit den Pfeiltasten das Menü NEU.
Durch Drücken der Taste [ENTER] wird Neue erstellen ausgewählt.
Schritt 3
Auswahl eines Programmierbefehls
Die Taste [PRGM] öffnet nun neue Menüs, in denen die Befehle enthalten sind, die in TI Basic verwendet werden. Will man einen dieser Befehle nutzen, so muss man ihn aus einem der Menüs wählen anstatt ihn zu schreiben:
- Taste [PRGM] drücken.
- Mit den Pfeiltasten das Menü E/A auswählen. Dieses Menü enthält alle Befehle, die für Eingaben und Ausgaben zur Verfügung stehen.
- Mit den Pfeiltasten Disp auswählen. Mit [ENTER] wird dieses Wort an der aktuellen Cursorposition im Programm eingefügt. Der Befehl Disp dient dazu, um irgendetwas auf dem Display anzuzeigen.
Schritt 4
Was soll nun angezeigt werden?
Der Text der Botschaft wird als String bezeichnet. Das ist eine Gruppe von Zeichen, die aneinandergehängt sind.
- Der String wird grundsätzlich in Anführungszeichen gesetzt. Ohne Anführungszeichen ergibt sich eine völlig andere Bedeutung.
- Man kann sich die Eingabe erleichtern, indem man [2nd] drückt, die Feststelltaste für die Eingabe von Buchstaben und Zeichen. Mit erneutem Drücken von [ALPHA] wird sie wieder gelöst.
Schritt 5
Es kann gestartet werden. Das Programm muss bei TI Basic nicht abgespeichert werden, denn das ist bereits beim Schreiben geschehen. Deshalb muss auch der Programmname immer als erstes eingegeben werden.
Schritt 6
Starten eines Programmes:
Zunächst muss man durch Drücken von [quit] ([2nd][MODE]) auf den HOME-Bildschirm zurückkehren. Dann:
- Taste [PRGM] drücken.
- Im Menü AUSFÜHRG das Programm wählen.
- Mit [ENTER] den Programmnamen auf den HOME-Bildschirm kopieren.
- Nochmals [ENTER] startet den Programmlauf.
Übung 2: Programme editieren / Bildschirm löschen
LehrerinformationIn der zweiten von drei Übungen der Lektion 1 soll das Editieren eines einfachen Programmes sowie das Löschen des Displays des TI-84 Plus CE-T geübt werden. Dazu wird das Programm verwendet, das schon in Übung 1 erstellt wurde.
Lernziele:
- Verwendung des TI Basic Programmeditors um ein einfaches Programm zu verändern.
- Verwendung der Programmmenüs um Befehle auszuwählen und in ein Programm zu übertragen.
- Verwendung einfacher Editierwerkzeuge um Elemente einzufügen und zu löschen.
- Löschen des Home-Bildschirmes.
Schritt 1
Mit den Pfeiltasten wird BEARBEITEN ausgewählt.
Das Programm der letzten Übung, also HALLOXY, wird ausgewählt – im Beispiel existiert auch kein weiteres Programm.
Schritt 2
Im Editor blinkt der Cursor am Anfang des ersten Programmbefehls. Mit den Pfeiltasten kann man den Cursor bewegen.
Dieses Programm soll nun editiert (bearbeitet) und um mehrere Disp-Befehle ergänzt werden.
Schritt 3
Bewegt man den Cursor an das Ende der ersten Zeile und drückt [ENTER], so erscheint ein weiterer Doppelpunkt, eine neue Zeile, die zweite Zeile des Programmes.
- Taste [PRGM] drücken.
- Mit den Pfeiltasten das E/A-Menü auswählen. Es enthält alle Befehle, die eine Ein- oder Ausgabe ermöglichen.
- Disp wieder auswählen. Der Befehl wird in das Programm eingefügt, und der Cursor steht wieder dahinter, da jetzt mitgeteilt werden muss, was angezeigt werden soll.
Schritt 4
Nun kann eine eine weitere Textzeile, wieder in Anführungszeichen, geschrieben werden.
Dabei sollte wieder mit [2nd][ALPHA] die Feststellfunktion für die alpha-Taste verwendet werden (A-lock), um den Textstring einzugeben. Der Cursor hat jetzt sein Aussehen geändert!
Drückt man wieder [ENTER] am Ende der Zeile (nach den Anführungszeichen!), so kann man weitere Textzeilen mit Disp eingeben.
Man kann so viele Zeilen wie man will erscheinen lassen, aber das kann dazu führen, dass nicht alle zugleich auf dem Display dargestellt werden können!
Schritt 5
Das Programm ist fertig. Mit [quit] verlässt man den Editor und kann das Programm starten, indem man es aus dem AUSFÜHRG-Menü der Taste [PRGM] auswählt.
Schritt 6
Bearbeiten eines Programmes
Um ein einzelnes Zeichen zu ändern (wie das Q oder das O in der zweiten Zeile), bewegt man den Cursor mit den Pfeiltasten an die Stelle und überschreibt einfach mit dem richtigen Zeichen. Will man jedoch Zeichen einfügen, z.B. aus der 2 das Wort zwei machen, so muss man [INS] ([2nd][DEL]) drücken, so dass der Cursor sich in einen blinkenden Unterstrich verwandelt. Jetzt ist man im Einfüge-Modus und kann die fehlenden Zeichen einfügen.
Mit [DEL] löscht man ein einzelnes Zeichen.
Schritt 7
Um den Inhalt einer ganzen Zeile zu löschen, platziert man den Cursor an eine beliebige Stelle in der Zeile und drückt [CLEAR]. Man erhält eine Leerzeile (ein Doppelpunkt mit nichts dahinter). Leerzeilen beeinflussen das Programm nicht, da sie bei der Programmausführung ignoriert werden. Man kann sie löschen, wenn man den Cursor in die Zeile bewegt und [DEL] drückt.
Nach den ganzen Veränderungen kann das Programm nun wieder gestartet werden.
Schritt 8
Löschen des HOME-Bildschirmes
Dazu dient der Befehl ClrHome aus dem E/A-Menü, aber im Beispielprogramm soll dieser Befehl am Anfang des Programmes stehen. Dazu sollte der Cursor im Editiermodus auf das D des ersten Disp - Befehles bewegt werden.
- Mit [INS] und dann [ENTER] erzeugt man eine Leerzeile über dem ersten Disp – Befehl.
- Mit der Taste Pfeil nach oben bringt man den Cursor in diese Zeile.
Übung 3: Ausgabe auf dem HOME-Bildschirm
LehrerinformationIn dieser dritten Übung von Lektion 1 soll ein einfaches Programm geschrieben werden, mit dem ein Text irgendwo auf dem HOME-Bildschirm ausgegeben werden kann, indem der Output – Befehl benutzt wird.
Lernziele:
- Verwendung des Befehls Output, um die Stelle zu bestimmen, an dem Text auf dem HOME-Bildschirm erscheinen soll.
- Verwendung des Befehls Pause um zu verhindern, dass ein Programm zu früh endet.
Schritt 1
Nach dem Einschalten de TI-84 Plus CE-T wird die Taste [PRGM] gedrückt.
Mit den Pfeiltasten wird NEW ausgewählt.
Mit [ENTER] wird ein neues Programm angelegt und mit einem Namen versehen, in diesem Fall AUSGABE1. Dabei ist zu beachten, dass für die „1“ die Taste [ALPHA] gedrückt werden muss, um den Alpha-Modus wieder auszuschalten.
Schritt 2
Verwendung des Output( - Befehls
Der Befehl ClrHome (Taste [PRGM] aus dem E/A-Menü) kommt in die erste Zeile, abgeschlossen mit [ENTER] am Zeilenende.
In die nächste Zeile wird aus demselben Menü der Befehl Output( kopiert.
Der HOME-Bildschirm ist mit einem unsichtbaren Gitternetz überzogen, durch das er in Felder unterteilt wird, die jeweils ein Zeichen aufnehmen können. Mit dem Befehl Output wird der anzuzeigende Text so platziert, dass er an dem Feld beginnt, zu dem die angegebene Zeilen- und Spaltennummer gehören. Beim Zeichen
Schritt 3
Soll der Text also in der Zeile 3 in der Spalte 5 beginnen, so muss der Befehl Output abgeschlossen werden durch 3,5,“HALLO”). Die abschließende Klammer darf nicht vergessen werden!
Schritt 4
Lässt man das Programm nun laufen, so sollte es so aussehen wie auf dem Bild. Auffällig ist die „Fertig“-Meldung am oberen Bildrand, obwohl die Ausgabe „HALLO“ in der dritten Zeile angezeigt wird.
Der Befehl Output( beeinflusst die aktuelle Cursor-Position nicht, anders als ClrHome. Dieser Befehl setzt den Cursor in die obere linke Ecke, so dass „Fertig“ in der ersten Zeile angezeigt wird.
Schritt 5
Hinzufügen des Befehls Pause
Man findet den Befehl Pause über [prgm] im Menü STRG (Abkürzung für Steuerung). In diesem Menü findet man Befehle, mit denen man das Verhalten des Programmes steuern kann.
Der Pause – Befehl wird nun unter den Output( - Befehl dem Programm hinzugefügt.
Schritt 6
Lässt man nun das Programm laufen, so fehlt “Fertig”.
Schaut man genau in die obere rechte Ecke des Displays, so sieht man die Anzeige für “busy”. Das Programm läuft nämlich noch, ist lediglich in seiner Ausführung durch Pause angehalten. Um es fortzuführen, muss die Taste [ENTER] gedrückt werden. Nun erscheint auch wieder die „Fertig“ – Meldung in der oberen Zeile.
Anwendung: Entwurf einer Titelseite
LehrerinformationIn dieser Anwendung der Lektion 1 geht es um die Verwendung der bisherigen Befehle, um einen Titelbildschirm zu programmieren.
Lernziele:
- Verwendung des bisher Gelernten, um den Titelbildschirm für ein größeres Programm zu entwerfen.
Schritt 1
Teil 1:
Mit dem Befehl Disp soll ein Rahmen aus Sternen um den Bildschirm gezeichnet werden. Für die untere Zeile muss dabei der Befehl Output( verwendet werden, gefolgt von Pause, denn Disp würde den Bildschirm nach oben verschieben. Der Bildschirm sollte auch vorher gelöscht werden.
Wird nun die Taste [ENTER] gedrückt, so soll der Text von Teil 2 in der Mitte des Displays erscheinen.
Hinweis: TI-84 Plus Nutzer sehen eine andere Anzahl von Sternen wegen der unterschiedlichen Auflösung des Displays.
Schritt 2
Teil 2:
Unter Verwendung des Befehls Output( sollen nun der Titel, das Datum und der Name des Verfassers in der Mitte erscheinen. Beim Beispiel ist das nicht ganz gelungen!
Danach soll durch Drücken von [ENTER] das Programm fortgesetzt werden. Der Bildschirm wird gelöscht und das Programm endet.
Schritt 3
ClrHome
Disp "**************************"
Disp "* *"
Disp "* *"
Disp "* *"
Disp "* *"
Disp "* *"
Disp "* *"
Disp "* *"
Disp "* *"
Output(10,1,"**************************")
Pause
Output(3,10,"MY PROGRAM")
Output(4,11,"04/14/48")
Output(6,10,"MISTER ED")
Pause
ClrHome
- Übung 1
- Übung 2
- Übung 3
- Anwendung
Lektion 2: Variablen und Terme
Übung 1: Variablenwerte eingeben
LehrerinformationIn dieser ersten Einheit der Lektion 2 geht es um den Befehl Prompt, mit dem man Daten eingeben und sie einer Variablen zuweisen kann. Diese Daten können dann weiter mathematisch ausgewertet und wiederum in Variablen gespeichert werden. Mit den Befehlen Disp und Output werden dann die Inhalte dieser Variablen ausgegeben.
Lernziele:
- Verwendung des TI Basic - Befehls Prompt, um einer Variablen einen Wert zuzuweisen.
- Der Unterschied zwischen mathematischen und Computer-Variablen.
- Berechnungen innerhalb des Befehls Disp durchführen.
- Verwendung des Befehls Output, um aussagekräftige und gut lesbare Ergebnisse zu erzielen.
Schritt 1
Reelle Variablen
- Der TI-84 Plus hat 27 eingebaute Variablen, um numerische Werte zu speichern.
- Die Werte können reelle Zahlen (Dezimalzahlen) oder komplexe Zahlen sein.
- Sie werden mit den Buchstaben von A bis Z sowie dem Buchstaben θ (Theta) bezeichnet.
- Alle Variablen haben stets einen Wert; dieser Wert ist zunächst für alle 0.
- Die Werte bleiben aber erhalten, selbst wenn der Taschenrechner ausgeschaltet wird!
- Wird der Speicher (RAM) zurückgesetzt, werden auch alle Variablen wieder auf 0 gesetzt.
- Der abgebildete HOME-Bildschirm zeigt einige Variablen auf der linken Seite und ihren momentanen Wert, der natürlich auf jedem Taschenrechner anders ist.
Schritt 2
Der Befehl Prompt
- Der Befehl Prompt wird gefolgt von einem oder mehreren Variablennamen, die durch Komma getrennt sind.
- Er heißt ‘Prompt’, weil er den Namen der Variablen, gefolgt von einem Fragezeichen, anzeigt und solange das Programm anhält, bis eine Eingabe gemacht wurde.
Schritt 3
Verwendung von Prompt
- Zunächst muss ein neues Programm angelegt werden.
- Als erstes soll ein Prompt - Befehl eingegeben werden. Er befindet sich im [PRGM] E/A-Menü.
- An Prompt schließt sich der Name der Variablen an, die im Programm verwendet werden soll. Im Beispiel heißt sie A.
- Mit dem Befehl Disp soll nun A2 dargestellt werden. Dazu ergänzt man das A mit der Taste [x2].
Schritt 4
- Nun kann man den Editor verlassen und das Programm starten.
- Gibt man nach der Anzeige “A=?” irgendeine Zahl ein, so zeigt das Display das Quadrat dieser Zahl und endet dann.
Schritt 5
Mehrere Werte mit Prompt eingeben
- Es wird das vorhandene Programm verwendet.
- Der Befehl Prompt wird um ,B ergänzt.
- Der Befehl Disp wird so verändert, dass er die Summe A+B anzeigt.
Schritt 6
Startet man nun das Programm, erhält man zwei Prompts. Der Befehl Prompt fragt getrennt nach der Eingabe für die zwei Variablen und zeigt dann die Summe an.
Schritt 8
- Die beiden Bilder zeigen einmal einen Programmlauf im ersten Teil, bei dem die Daten mit Prompt eingegeben werden, dann den zweiten Teil mit der Ausgabe über Output. Dabei darf man natürlich Pause und ClrHome an den richtigen Stellen im Programm nicht vergessen, um das Display frei von störenden Zeichen zu halten.
- Man kann keine zwei Texte zugleich mit einem Output – Befehl darstellen. Für den Text „SUMME=” und die Summe A+B müssen zwei Output-Befehle verwendet werden, wobei es natürlich auf die richtige Position auf dem Display ankommt!
- Hinweis: Das Gleichheitszeichen “=” findet man im Menü Test ( [2nd][MATH] ).
Übung 2 : Eingabe eines Variablenwertes
LehrerinformationIn dieser Übung geht es um die verschiedenen Formen des Befehls Input.
Lernziele:
- Verwendung des TI Basic – Befehles Input, um einer Variablen einen Wert zuzuweisen.
- Berechnungen mit dem Befehl Disp durchführen.
- Verwendung des GRAPH - Bildschimes, um zwei Variablen zugleich einzugeben.
Schritt 1
Die einfachste Form des Befehls Input
Im Programm steht hinter dem Befehl Input lediglich der Variablenname. Der Benutzer wird durch ein einfaches Fragezeichen ähnlich wie beim Befehl Prompt aufgefordert, einen Wert für die auf dem Display namentlich nicht angezeigte Variable einzugeben.
Beispiel: Input A
Schritt 2
Die komfortablere Form des Befehls Input
Bevor das Programm auf die Eingabe wartet, wird noch eine selbst gewählte Nachricht angezeigt. Der Befehl lautet dann
Input “<Nachricht>”,V
Hinweis: Die Nachricht ersetzt das Fragezeichen – will man es dennoch haben, muss es in die Nachricht mit aufgenommen werden.
Schritt 3
Programmbeispiel unter Verwendung des einfachen Input
- Ein neues Programm wird angelegt.
- Nach dem obligatorischen ClrHome wird der Befehl Input aus dem Menü [PRGM] E/A eingefügt.
- Hinter dem Wort Input muss noch der Variablenname eingefügt werden; hier ist es A.
- Mit dem Befehl Disp wird dann A3 ausgegeben. Den kubischen Exponenten am A findet man im Menü [MATH] .
Schritt 4
- Nun kann man den Editor verlassen und das Programm starten.
- Nach dem “?” kann man irgendeine Zahl eingeben und auf [ENTER] drücken.
- Die Kubikzahl wird ausgerechnet und angezeigt und das Programm endet.
Schritt 5
Programmbeispiel unter Verwendung des komfortableren Input
- Das einfache Programm von oben wird als Grundlage genommen.
- Der Cursor wird auf die Variable hinter dem Wort Input platziert.
- Um Zeichen einzufügen, muss [INS] gedrückt werden.
- In Anführungszeichen kann nun die Nachricht geschrieben werden, die angezeigt werden soll. [A-LOCK] verwenden!
- Nachricht und Variable werden durch ein Komma getrennt.
- Der Befehl Disp aus dem vorherigen Programm wird beibehalten.
Schritt 6
- Nun kann man den Editor verlassen und das Programm starten.
- Hinter der Nachricht kann nun irgendeine Zahl eingegeben werden.
- Drückt man noch [ENTER], so zeigt das Programm die Kubikzahl der eingegebenen Zahl an und endet.
Schritt 7
Verwendung von Input ohne Variable
Schreibt man keinen Variablennamen hinter den Befehl Input, so wird der GRAPH-Bildschirm mit einem frei beweglichen Cursor angezeigt.
Drückt man nun [ENTER], so werden die angezeigten Werte für die Variablen X und Y übernommen und das Programm wird fortgeführt. Man kann diese beiden Variablen dann weiter im Programm verwenden.
Schritt 8
Die dahinterstehende Idee ist, dass man damit die Werte aus einer Graphik „abliest“ und zur weiteren Verwendung bei Berechnungen im Programm verwendet.
Die Bilder zeigen das Programm, den Graphikbildschirm und die Ausgabe.
Übung 3 : Ausdrücke erstellen, berechnen und in Variablen abspeichern
LehrerinformationIn der dritten Übung von Lektion 2 geht es um die Verwendung von Ausdrücken (Termen) und das Abspeichern von Werten in Variablen innerhalb eines Programmes.
Lernziele:
- Programmierung mathematischer Ausdrücke.
- Rangfolge der mathematischen Operatoren.
- Unterscheidung zwischen mathematischen und Cumputervariablen.
- Berechnung von Ausdrücken (Termen).
- Abspeichern (Store) der Ergebnisse von Termen in Variablen.
Schritt 1
Ausdrücke (Terme)
Zeichenkombinationen wie A2 und A+B werden Terme (Ausdrücke) genannt. Terme findet man in mathematischen Formeln; z.B. lautet die Formel für die Dreiecksfläche A: A = ½·A·B . Darin ist ½·A·B der Term.
Das Programm berechnet den Term unter Verwendung der aktuellen Werte der Variablen, so dass man als Ergebnis einen numerischen Wert erhält. Dabei werden die Rechenregeln der Algebra verwendet. (Punkt- vor Strichrechnung, Klammerregeln).
Beispiel: Das abgebildete kleine Programm berechnet die Fläche eines Trapezes mit den Seiten A und B und der Höhe H.
Schritt 2
Bei den Taschenrechnern der TI 84-Familie sind nur Variablennamen erlaubt, die aus einem Buchstaben bestehen. Die Variablen B1 und B2 würde der Taschenrechner als B·1 und B·2 interpretieren und bei falscher Verwendung eine Fehlermeldung erzeugen. Ebenso würde es der Variablen AB ergehen, die als A·B interpretiert würde. Dabei handelt es sich um sogenannte implizierte Multiplikationen, da das Multiplikationszeichen zwischen den einzelnen Zeichen intern als vorhanden angenommen wird.
Schritt 3
Mathematische Ausdrücke und Ausdrücke in Programmen
Obwohl es zwischen beiden viele Gemeinsamkeiten gibt, so existieren doch wichtige Unterschiede. Der Wichtigste ist wohl, dass man in der Mathematik mit den Symbolen rechnet, die ja ganz allgemein Stellvertreter für Zahlen sind, und erst bei Bedarf Zahlen einsetzt. Beim Computer hingegen wird stets mit Zahlen gerechnet; die Variablennamen sind also lediglich Bezeichnungen für Zahlen.
In der Mathematik werden Formeln eingesetzt, um zwischen verschiedenen Dingen wie z.B. Längen und Fläche eine Beziehung herzustellen. In Programmen hingegen werden nur Terme eingesetzt, die dann eine Zahl als Ergebnis liefern. Schreibt man das Programm, so schreibt man den Term, aber läuft das Programm, wird der Term berechnet und erzeugt ein Ergebnis, das dann weiterverwendet werden kann.
Schritt 4
Werte in Variablen abspeichern mit dem Zuweisungs-Operator
Der Operator [STO →] wird verwendet, um das Ergebnis eines Terms in einer Variablen abzuspeichern (der Variablen zuzuweisen).
Drückt man die Taste [STO →], so wird stets das Zeichen ! dargestellt.
Drückt man [ENTER], so sieht man auf dem HOME-Bildschirm das Ergebnis des Terms und die Variable (im Beispiel G) hat nun den Wert 5. Vor dem Pfeil muss stets eine Zahl oder ein Term stehen, der einen Wert erzeugt. Dieser Wert wird dann der Variablen zugewiesen. Das Zeichen hinter dem Pfeil muss deshalb stets der Name einer Variablen sein.
Schritt 5
Programmieren mit Wertezuweisungen
Es soll ein Programm geschrieben werden, bei dem zwei Zahlen eingegeben werden sollen, aus denen dann die Summe, die Differenz, das Produkt und der Quotient berechnet und abgespeichert werden. Die Ergebnisse sollen dann ausgegeben werden.
- Ein neues Programm wird gestartet.
- Mit Prompt werden die zwei Variablen A und B eingelesen.
- Die Terme sollen in vier anderen Variablen S, D, P und Q gespeichert werden.
- S, D, P und Q werden dann mit Disp ausgegeben.
Schritt 6
Das Programm kann nun gestartet werden. Gibt man für A und B Zahlen ein, so sollte man sie so wählen, dass man die Resultate leicht überprüfen kann. So etwas nennt man dann einen Testdurchlauf.
Schritt 7
Hinweis: Der Zuweisungsbefehl in TI Basic ist in seiner Form einzigartig, da zuerst der Term kommt, dann der “store”-Operator und dann die Variable. Dadurch ist die Zeile leicht lesbar. In den meisten anderen Programmiersprachen ist die Reihenfolge genau umgekehrt wie z.B. in S = A + B. Hier muss man rückwärts lesen, denn der Computer berechnet erst den Ausdruck auf der rechten Seite und weist dann den Wert der Variablen auf der linken Seite zu.
Schritt 8
Übung: Verbesserungen
Mit Output( anstelle von Disp kann die Darstellung der Ergebnisse verbessert werden, denn man kann sowohl die Eingaben als auch die Ergebnisse besser und übersichtlicher darstellen.
Rechts ist ein Teil des Programmes abgebildet sowie eine mögliche Darstellung auf dem Display. Das Programm selbst ist deutlich länger …
Der Pause-Befehl sollte nicht vergessen werden, um die Meldung Fertig zu unterdrücken. Und man sollte an die unterschiedlichen Bildschirmauflösungen der Taschenrechnermodelle denken (TI-84 Plus CE-T: 24 Spalten / 10 Zeilen; TI-84 Plus: 16 Spalten / 8 Zeilen).
Anwendung : Formelberechnungen
LehrerinformationIn dieser Anwendung von Lektion 2 soll ein Programm zur Auswertung mathematischer Formeln geschrieben werden.
Lernziele:
- Verwendung der TI Basic – Befehle aus Lektion 2 zum Schreiben eines Programmes, das Formeln berechnet.
Schritt 2
Der Satz des Heron
Mit der Heronschen Formel kann man die Fläche eines beliebigen Dreiecks berechnen, wenn die Längen der drei Seiten A, B und C bekannt sind. Die Berechnung erfolgt üblicherweise in zwei Schritten:
S = (A + B + C) / 2 ist der halbe Umfang des Dreiecks.
A = √ S · (S − A)(S − B)(S − C) ist dann der Flächeninhalt des Dreiecks.
Es soll ein Programm geschrieben werden, das den Benutzer nach den drei Seitenlängen fragt und dann den Flächeninhalt berechnet. Die Ausgabe der Werte soll wieder auf „schöne“ Weise erfolgen.
Hinweis: Es ist möglich, dass drei Zahlen eingegeben werden, die nicht die Seiten eines Dreiecks sein können. Was passiert dann?
Schritt 3
Die Lösungen einer quadratischen Gleichung
Die quadratische Gleichung muss die Form Ax2 + Bx + C = 0 haben.
Mit der Diskriminanten
D = B2 − 4AC
erhält man die Lösungen
R1 = (−B + √D)/(2A)
R2 = (−B − √D)/(2A)
Es soll ein Programm geschrieben werden, das die Eingabe der drei Koeffizienten A, B und C verlangt und sie und die beiden Lösungen der Gleichung wieder „schön“ darstellt.
Hinweis: R1 und R2 sind keine gültigen Variablennamen; man muss sich also andere ausdenken.
Was könnte darüber hinaus bei diesem Programm falsch laufen?
Schritt 4
Satz des Pythagoras |
Satz des Heron |
Quadratische Gleichung |
prgmPYTHAG ClrHome Disp "DIESES PROGRAMM“ Disp “BERECHNET" Disp "DIE HYPOTENUSE" Disp "EINES RECHTWINKLIGEN" Disp “DREIECKS“ Disp "KATHETEN:“ Prompt A,B √(A²+B²)→C ClrHome Output(3,5,"A= “) Output(3,8,”A) Output(4,5,"B= ") Output(4,8,B) Output(6,5," HYPOTENUSE = ") Output(6,16,C) Pause ClrHome |
prgmHERON ClrHome Disp "DIESES PROGRAMM" Disp "BERECHNET NACH“ Disp "DEM SATZ DES HERON" Disp "DIE DREIECKSFLAECHE" Disp "SEITENLAENGEN:“ Prompt A,B,C (A+B+C)/2→S √(S(S-A)(S-B)(S-C))→D ClrHome Output(3,5,"A= ") Output(3,8,A) Output(4,5,"B= ") Output(4,8,B) Output(5,5,"C= ") Output(5,8,C) Output(7,5,"FLAECHE= ") Output(7,14,D) Pause ClrHome |
prgmQUAD ClrHome Disp "LOESUNGEN DER" Disp "QUADRATISCHEN GLEICHUNG" Disp "KOEFFIZIENTEN:" Prompt A,B,C B²-4AC→D (-B+√(D))/(2A)→R (-B-√(D))/(2A)→S ClrHome Output(3,5,"A= ") Output(3,8,A) Output(4,5,"B= ") Output(4,8,B) Output(5,5,"C= ") Output(5,8,C) Output(7,5,"X1= ") Output(7,10,R) Output(8,5,"X2= ") Output(8,10,S) Pause ClrHome |
- Übung 1
- Übung 2
- Übung 3
- Anwendung
Lektion 3: Programmieren mit Bedingungen
Übung 1: Bedingungen und der Befehl If …
LehrerinformationIn der ersten Übung der Lektion 3 geht es um Bedingungen und eine Einführung in den If – Befehl des TI Basic.
Lernziele:
- Verwendung von Bedingungen.
- Verwendung der einfachsten Form des If … -Befehls, um abhängig von einer Bedingung einen weiteren Befehl auszuführen.
Schritt 1
Schritt 2
Bedingungen und das Menü [TEST]
Bedingungen sind Ausdrücke, die entweder wahr oder falsch sind; andere Möglichkeiten gibt es nicht. Werden sie ausgewertet, so ergibt wahr den Wert 1, falsch den Wert 0. Die relationalen und die logischen Operatoren findet man im Menü [TEST] ([2nd] [MATH]). Das Menü TEST enthält die relationalen Operatoren, das Menü LOGIC die logischen. Das Gleichheitszeichen = wird hier im Sinne einer Bedingung eingesetzt und nicht als Zuweisung wie sonst üblich.
Schritt 3
Beispiele für Bedingungen
3>5 XY>0 X=5 oder Y=5
X+4>X B2-4AC=0 X/2=int(X/2)
X oder Y X>0 und Y>0 nicht(X>0)
Schritt 4
Bedingungen auf dem HOME-Bildschirm
Man kann Bedingungen auch auf dem HOME-Bildschirm verwenden, um ihre Wirkungsweise zu untersuchen.
Dabei steht die 1 für wahr und die 0 für falsch.
Hinweis: Verwendet man eine Variable in einer Bedingung, so rechnet der Taschenrechner mit dem aktuellen Wert der Variablen.
Schritt 5
Ein erstes Programm mit dem einfachen If… - Befehl
If findet man im Menü [PRGM] STRG, ‘>’ wie oben beschrieben.
Das Programm lautet
:Prompt A
:If A>0
:Disp “A IST POSITIV”
:Disp “A IST NICHT POSITIV”
Schritt 6
Stimmt die Bedingung A>0, so wird der auf If folgende Befehl ausgeführt, andernfalls einfach übersprungen. Aber der Befehl, der die Anzeige „A IST NICHT POSITIV“ erzeugt, wird stets ausgeführt, was nicht richtig ist. Der Fehler wird in einem weiteren Schritt korrigiert.
Der einfache If – Befehl ist eine sehr kurze Möglichkeit, um einen Befehl zu überspringen, wenn die dazugehörende Bedingung falsch ist.
Schritt 7
Verbesserung des Programmes
Der Fehler kann korrigiert werden, indem man ein weiteres If… einfügt:
- Der Cursor wird auf das zweite Disp bewegt.
- Mit [INS] und [ENTER] wird eine Leerzeile eingefügt.
- In diese Zeile kommt der Befehl If A<0.
Übung 2: If…Then…End und verbundene Bedingungen
LehrerinformationIn der zweiten Übung von Lektion 3 geht es um den verbesserten If – Befehl und zusammengesetzte Bedingungen.
Lernziele:
- Untersuchung der If…Then…End Struktur.
- Zusammengesetzte Bedingungen mit den logischen Operatoren herstellen.
- Schreiben eines Programmes mit der If…Then…End Struktur, dass Koordinaten einem Quadranten zuordnet.
Schritt 1
Die If…Then…End Struktur
TI Basic verwendet in der Struktur If…Then das Schlüsselwort End, um damit das Ende einer Reihe von Anweisungen zu kennzeichnen, die ausgeführt werden, wenn die Bedingung wahr ist. Aufbau:
If <Bedingung>
Then
<Anweisungen die ausgeführt werden, wenn die Bedingung wahr ist>
End
Schritt 2
If wird immer gefolgt von einer Bedingung.
Then steht in einer eigenen Zeile unmittelbar unter If.
Es folgen die Befehle, die ausgeführt werden, wenn die Bedingung wahr ist.
End gehört zu Then und grenzt damit die auszuführenden Befehle ab.
End steht wieder in einer eigenen Zeile.
End ist nicht das Ende des Programmes, sondern nur das Ende der If…Then…End Struktur.
Schritt 3
Zusammengesetzte Bedingungen
Zusammengesetzte Bedingungen enthalten mehr als einen relationalen Ausdruck, der mit den logischen Operatoren und, oder, xoder und nicht( aus dem Menü ô LOGIC gebildet wird.
Beispiele:
X>0 und Y>0 | wahr, wenn X und Y beide positiv sind |
X>0 oder Y>0 | wahr, wenn X oder Y oder beide positiv sind |
nicht(X>0 und Y>0) | wahr, wenn X oder Y nicht positiv sind gleichbedeutend mit X<=0 oder Y<=0 |
X>0 xoder Y>0 | wahr, wenn X oder Y positiv sind, aber nicht, wenn beide es sind, gleichbedeutend mit X>0 oder Y>0 und nicht(X>0 und Y>0) |
Schritt 4
xoder ist das Exklusiv-Oder, das wahr ist, wenn einer der beiden Teile wahr ist, aber nicht beide zusammen. Man kann relationale Operatoren nicht verketten wie in der Mathematik. 2<A<3 bedeutet „A liegt zwischen 2 und 3“ und muss im Programm geschrieben werden als 2<A und A<3.
Logische Operatoren haben auch eine Rangfolge wie die Rechenarten:
A<0 oder A<5 und A>2 bedeutet, dass A negativ sein kann oder zwischen 2 und 5 liegt.
und wird vor oder ausgeführt, ähnlich wie die Multiplikation vor der Addition.
Schritt 5
Programmieren mit der Befehlsgruppe If…Then…End
Das Programm IF2 ist ein erstes Beispiel.
Hinweis: Input ist ohne Variable, eine spezielle Möglichkeit des TI-Basic. In Lektion 2 wurde gezeigt, dass dann der GRAFIK-Bildschirm erscheint, auf dem man den Cursor frei bewegen kann. Drückt man e so werden die angezeigten Werte für X und Y in das Programm übernommen.
und findet man im Menü [TEST] LOGIC.
Then hat eine eigene Zeile direkt unter If.
End schließt die Gruppe der bei wahr auszuführenden Befehle ab. Es ist nicht das Ende des Programmes! If, Then und End findet man im Menü [prgm] STRG.
Schritt 7
Hier ist der Programmanfang:
Input (Achtung, keine Variable !)
ClrHome
Disp X,Y
If X>0 und Y>0
Then
Disp "ERSTER QUADRANT"
End
If X=0 und Y>0
Then
Disp "POSITIVE Y-ACHSE"
End
If X<0 und Y>0
Then
Disp "ZWEITER QUADRANT"
End
.
Das Programm enthält 8 If-Befehle, je 4 für die Quadranten und die Halbachsen.
Schritt 8
Beispielprogramm:
Input
ClrHome
Disp X,Y
If X>0 und Y>0
Then
Disp "ERSTER QUADRANT"
End
If X=0 und Y>0
Then
Disp "POSITIVE Y-ACHSE"
End
If X<0 und Y>0
Then
Disp "ZWEITER QUADRANT"
End
If X<0 und Y=0
Then
Disp "NEGATIVE X-ACHSE"
End
If X<0 und Y<0
Then
Disp "DRITTER QUADRANT"
End
If X=0 und Y<0
Then
Disp "NEGATIVE Y-ACHSE"
End
If X>0 und Y<0
Then
Disp "VIERTER QUADRANT"
End
If X>0 und Y=0
Then
Disp "POSITIVE X-ACHSE"
End
Übung 3: If…Then…Else…End und Teilbarkeit
LehrerinformationIn der dritten Übung der Lektion 3 geht es um eine weitere Form des Befehls If im TI Basic und um das Verstehen numerischer Algorithmen.
Lernziele:
- Anwendung des Befehls If…Then…Else…End.
- Testen einer Zahl auf Ganzzahligkeit.
- Konzept Algorithmus verstehen.
Schritt 1
Über If…Then…Else…End
Bislang ging es um den Befehl If…Then…End. Allerdings gibt es Gelegenheiten, bei denen man zwei verschiedene Aktionen ausführen möchte, die von der Bedingung abhängen. Der Aufbau des neuen If…Then…Else…End - Befehls ist ähnlich dem bisherigen:
If <Bedingung>
Then
<Befehle wenn Bedingung wahr>
Else
<Befehle wenn Bedingung falsch>
End
Hinweis:
Then, Else und End stehen in einer eigenen Zeile.
Es werden entweder die Befehle der ersten Befehlsgruppe (wahr) oder die der zweiten (falsch) ausgeführt.
Schritt 2
Programmieren mit If…Then…Else…End
Es soll ein Programm geschrieben werden, mit dem man ermittelt, ob eine eingegebene natürliche Zahl eine „perfekte“ Zahl ist, d.h. ob ihre Wurzel wieder eine natürliche Zahl ist. Der Programmcode ist rechts abgebildet.
Hinweis:
Für die Wurzel [√] wird das Symbol auf der Tastatur verwendet..
If, Then, Else und End befinden sich alle im Menü [PRGM] STRG.
Die Funktion ganzTeil( ) befindet sich im Menü [MATH] NUM. Die Funktion hat den ganzzahligen Teil einer Zahl als Ergebnis:
ganzTeil(6.56) → 6 ganzTeil(9.999) → 9 ganzTeil(-2.3) → -2
Die Funktion ganzTeil( sollte auf dem HOME-Bildschirm ausprobiert werden. Wie bei der Wurzelfunktion darf die schließende Klammer nicht vergessen werden.
Schritt 3
Algorithmen
Das Programm ist ein gutes Beispiel für das, was man einen Algorithmus nennt. Ein Algorithmus ist eine Formel oder eine Folge von Anweisungen, mit denen man ein Problem lösen kann.
Ein Kuchenrezept ist auch ein solcher Algorithmus. Folgt man ihm, so erhält man einen Kuchen. Alle mathematischen Formeln wie z.B. die Dreiecksfläche A = ½a·h sind Algorithmen, denn sie zeigen den Weg auf, mit dem man aus gegebenen Werten einen neuen Wert bestimmt. Algorithmen sind wichtige Methoden der Problemlösung, gerade auch im Bereich der Programmierung. Deshalb ist es sehr lohnenswert, sich mit ihnen zu beschäftigen, da sie die Erfahrung im Programmieren bereichern.
Schritt 4
Hier ist ein einfaches Kuchenrezept für einen Fertigteig:
- Den Teig wie auf der Packung vermerkt zubereiten.
- Auf zwei Formen verteilen und wie auf der Packung vermerkt backen.
- 10 Minuten im Ofen abkühlen lassen.
- Auf hitzebeständige Unterlagen stellen.
- Vollständig auskühlen lassen.
- Puddingpulver (Fertigpudding ohne Kochen) und Milch mit dem Mixer aufschlagen.
- Über die zwei Kuchenböden verteilen.
- Die Böden übereinander schichten.
- Mit Schlagsahne überziehen.
- Genießen!
Wie in einem Programm folgt der Bäcker den einzelnen Schritten von Anfang bis Ende. Zum Schluss hat er einen köstlichen Kuchen erzeugt. Folgt ein Computer den Programmschritten (Algorithmus), so erreicht er auch – hoffentlich – das gewünschte Ziel. Tatsächlich ist ein ganzer Wissenschaftszweig damit beschäftigt zu überprüfen, ob ein bestimmter Algorithmus das gewünschte Ergebnis erzielt. Dieser Vorgang ist ähnlich dem des Beweisens von mathematischen Sätzen anzusehen.
Anwendung: Die Tierkreiszeichen
LehrerinformationIn dieser Anwendung für Lektion 3 soll ein Programm entwickelt werden, das aus einem eingegebenen Datum das Sternzeichen ermittelt.
Lernziele:
- Arbeiten mit Datumscodierungen.
- Verwendung des If – Befehls, um zu einem gegebenen Datum das Sternzeichen zu bestimmen.
- Verwendung von String - Variablen.
Schritt 1
Die Tierkreiszeichen
In Astronomie und Astrologie wird mit dem Tierkreis die Teilung der Ekliptik, also der scheinbaren Sonnenbahn, in 12 gleichbreite Abschnitte, die Tierkreiszeichen, bezeichnet. Die Abschnitte sind nach den früher darin liegenden Tierkreis-Sternbildern benannt, deren Lage sich aber wegen der Präzession der Erdachse verschoben hat. Die Babylonier führten diese Teilung als erste ca. 1000 – 500 v. Chr. ein. Ihr Jahr fing mit dem Tag der Tag- und Nachtgleiche im Frühling an (Frühlingspunkt) und deshalb ist das erste Tierkreiszeichen der Widder (21.3. – 20.4.).
Schritt 2
Das Programm
Der Benutzer gibt einen Tag und einen Monat ein und das Programm bestimmt daraus das Tierkreiszeichen. Dazu verwendet es sehr viele If…Then – Befehle.
Das eingegebene Datum wird zunächst einmal in das babylonische Monatsformat umgewandelt (März = 1, April = 2, … , Januar = 11, Februar = 12). Die Bedingungen für jedes Tierkreiszeichen können recht umfangreich werden, z.B.:
If (M=1 und D>20) oder (M=2 und D<21)
Zur Vereinfachung werden deshalb die Datumsangaben in einen einfachen Zahlenwert umgewandelt (codiert). Damit lassen sich die If-Befehle wesentlich einfacher schreiben als mit zahllosen unds und oders.
Schritt 3
Pseudocode
Soll ein umfangreiches Programm geschrieben werden, ist es oft sinnvoll, das Programm zunächst einmal unabhängig von irgendeiner Programmiersprache in einer textlichen Form zu notieren, dem Pseudocode. Das vereinfacht die spätere Umwandlung in die jeweilige Programmiersprache.
So könnte der Pseudocode für das Tierkreiszeichen-Programm aussehen:
PROGRAM: ZODIAK
Tag eingeben | Benutzer gibt eine Zahl von 1 bis 31 ein |
Monat eingeben | Benutzer gibt eine Zahl zwischen 1 und 12 ein |
Monatszahl um 2 verringern. | Die Tierkreiszeichen beginnen mit Widder, also wird März zum ersten Monat und Februar zum zwölften. |
Ist die Monatszahl kleiner als 1, dann 12 zur Monatszahl addieren.
Step 4
Datumscodierung
Der Zahlencode für das Datum soll so aussehen, dass die ersten beiden Ziffern für den Monat stehen, die letzten beiden für den Tag. Dazu multipliziert man den Monat mit 100 und addiert den Tag. Beispiel:
Der 4.7. ist babylonisch der 4.5., also ist der Code 100·5+4 = 504
Die Monatsvariable muss also mit 100 multipliziert, zur Tagesvariablen addiert und in der Codevariablen abgespeichert werden.
Step 5
Zeichenketten (Strings)
Strings werden auf dem TI 84 in besonderen String-Variablen gespeichert, die spezielle Namen haben. Davon gibt es 10 Stück, und sie sind über das Menü [VARS] im Menü String… erreichbar. Für das Programm wird lediglich eine einzige Stringvariable benötigt. Zunächst wird in der Stringvariablen Str1 die Zeichenkette „UNGUELTIG“ abgespeichert.
Step 6
Nun zu der Zuordnung der Tierkreiszeichen zum Code:
If Code >=121 und Code<=220 (steht für den Zeitraum 21.3. – 20.4.)
then
store “Widder” in der Stringvariablen Str1 Anführungszeichen!
end
Für jedes der 12 Tierkreiszeichen muss eine solche Gruppe von Befehlen geschrieben werden.
Step 7
Nach den 12 If – Strukturen hat die Stringvariable Str1 den Wert UNGUELTIG oder eines der Tierkreiszeichen. Jetzt muss sie nur noch ausgegeben werden.
Step 8
Liste der Tierkreiszeichen:
Widder: | 21. März – 20. April |
Stier: | 21. April – 21. Mai |
Zwillinge: | 22. Mai – 21. Juni |
Krebs: | 22. Juni – 22. Juli |
Löwe: | 23. Juli – 22. August |
Jungfrau: | 23. August – 23. September |
Waage: | 24. September – 23. Oktober |
Skorpion: | 24. Oktober – 22. November |
Schütze: | 23. November – 21. Dezember |
Steinbock: | 22. Dezember – 20. Januar |
Wassermann: | 21. Januar – 19. Februar |
Fische: | 20. Februar – 20. März |
Step 9
Die Aufgabe
besteht nun darin, das vollständige Programm ZODIAK zu schreiben, das eine Ausgabe wie nebenstehend erzeugen soll .
Achtung: Bei den Fischen gibt es eine Sonderbedingung!
Step 10
Erweiterung:
Das Programm prüft nicht, ob die eingegebenen Werte für Tag und Monat plausibel sind. Durch Hinzufügung von If – Befehlen nach dem jeweiligen Input kann eine solche Überprüfung erreicht werden.
Tipp: Einige Monate haben 30 Tage, andere 31, und einer hat maximal 29. Außerdem gibt es keine Monate 13 oder 14. Wie geht das Programm damit um?
- Übung 1
- Übung 2
- Übung 3
- Anwendung
Lektion 4: Schleifen
Übung 1: Die For(…) - Schleife
LehrerinformationIn der ersten Übung der Lektion 4 geht es um das Schleifenkonzept und speziell um die For(…) – Schleife.
Lernziele:
- Das Schleifenkonzept verstehen.
- Verwendung der For(…) – Schleife, um eine Wertetabelle zu erzeugen.
Schritt 1
Schleifen
Eine Schleife ist eine Methode, um eine Gruppe von Befehlen zu wiederholen. Alle Programmiersprachen haben mindestens eine Schleifenstruktur. Mit einer Schleife geht man im Programm ein paar Schritte zurück zu einer vorhergehenden Stelle und führt das Programm von da erneut aus. TI-Basic hat drei verschiedene Typen von Schleifen.
Es kann passieren, dass eine Schleife nicht endet (unendliche Schleife). Um ein laufendes Programm zu unterbrechen, drückt man [ON]. Dann hat man die Wahlmöglichkeiten „Verlassen“ und „Gehezu“. „Verlassen“ führt zurück auf den HOME-Bildschirm, „Gehezu“ öffnet den Programmeditor an der Stelle, wo das Programm angehalten wurde.
Schritt 2
Die drei Schleifen in TI-Basic sind:
For( ) … End
While <Bedingung ist wahr> … End
Repeat <bis Bedingung ist wahr> … End
Diese erste Übung behandelt die For(… ) – Schleife.
Schritt 3
Die For( … ) - Schleife
Aufbau: | For(Variable, Startwert, Endwert [, Schrittweite]) <Gruppe von Befehlen> End |
Beispiel: | For(A,1,10) Schrittweite kann entfallen Disp A End |
Schritt 4
Hinweis:
Der Befehl For( ) benötigt eine Variable, die Schleifenvariable, einen Startwert und einen Endwert, die durch Komma getrennt sind. Start- und Endwert können Variablen sein und die Befehlsgruppe kann beliebig viele Befehle umfassen, sollte aber keinen darunter haben, der die Schleifenvariable verändert. Die Schleife läuft vom Start- bis zum Endwert mit der Standard-Schrittweite 1.
Schritt 5
For – Schleifen mit anderen Schrittweiten
Das optionale vierte Argument im Befehl For(… ) ist die Schrittweite. Sie bestimmt, um welchen Wert die Schleifenvariable bei jedem Durchgang wächst. Der voreingestellte Wert ist 1.
Schritt 6
Beispiele:
For(A,1,10,3) beginnt mit A=1, dann wird bei jedem Schleifendurchlauf 3 zu A addiert. Die Schleife endet, wenn A größer ist als 10.
For(B,10,0,-1) zählt von 10 bis 0 herunter (negative Schrittweite).
Schritt 7
Programmieren mit For(…)
Es soll ein Programm geschrieben werden, dass die natürlichen Zahlen eines bestimmten Zahlbereiches und ihre Quadratzahlen anzeigt.
Der Benutzer gibt den Anfangs- und den Endwert des Bereiches ein. Bei der Darstellung wird ein kleiner Trick angewendet, denn um mit dem Befehl Disp zwei Zahlen in einer Zeile darzustellen wird eine Liste verwendet. Die Elemente der Liste stehen hinter dem Befehl Disp in geschweiften Klammern, getrennt durch ein Komma. Man erhält sie über [2nd] [ ( ] und [2nd] [ ) ]
Schritt 8
Nun kann das Programm gestartet werden.
Sollte das Programm zu schnell ablaufen, kann man an einer Stelle der Schleife den Befehl Pause einfügen.
Aufgabe:
Mit If … Then… End soll erreicht werden, dass alle 5 Paare von Antworten eine Pause eingelegt wird. Dazu wird die Teilbarkeitsanweisung aus der letzten Einheit verwendet.
Übung 2: Die While…End-Schleife
LehrerinformationIn dieser zweiten Übung von Lektion 4 wird die While…End-Schleife untersucht. Sie wird mit der For… - Schleife verglichen, und es wird sich zeigen, dass sie leistungsstärker und vielseitiger ist.
Lernziele:
- Verstehen der While…End - Schleife.
- Vergleich mit der For…End - Schleife.
- Programmierübung: gültige Eingaben.
Schritt 1
Die While… End - Schleife
Die Befehle innerhalb der While…End – Schleife werden so lange wiederholt wie die Bedingung wahr ist.
Aufbau:
While <Bedingung>
<Befehlsblock>
End
Schritt 2
Hinweise:
Die Bedingung ist ein logischer Ausdruck wie z.B. X>0.
Der Befehlsblock besteht aus einer Gruppe von Anweisungen, die durchaus If – Befehle und andere Schleifen enthalten dürfen. Er wird ausgeführt, solange die Bedingung wahr ist.
Das Schlüsselwort End kennzeichnet das Ende des Befehlsblocks. Das Programm springt zurück zum While und testet erneut, ob die Bedingung wahr ist.
Den in der Bedingung verwendeten Variablen müssen vor der While – Schleife Werte zugewiesen werden, so dass man genau sagen kann, ob die Bedingung wahr oder falsch ist. Ist die Bedingung falsch, wird der Befehlsblock vollständig übersprungen, andernfalls wird er ausgeführt. Die Anweisung 0→K am Anfang des Programmes sorgt dafür, dass die Bedingung zunächst wahr ist. Ohne diesen Wert wüsste man nicht was passiert, denn in K kann irgendein Wert abgespeichert sein.
Schritt 3
Irgendwo im Befehlsblock sollte ein Befehl stehen, der eine Auswirkung auf die Bedingung hat, so dass sie beendet wird, damit die nachfolgenden Befehle ausgeführt werden können. Üblicherweise ordnet man diesen Befehl am Ende des Befehlsblocks ein. K+1→ K stellt sicher, dass irgendwann K größer ist als 10. Fehlt ein solcher Befehl, wird die Schleife fortgeführt, so dass das Programm kein Ende findet. Das ist bei dem zweiten Programm rechts der Fall.
Schritt 4
Verwendung von While…End bei der Überprüfung einer Eingabe
Eingegebene Werte werden vor ihrer weiteren Verwendung oft geprüft, ob sie aus dem richtigen Bereich stammen. Im Beispiel soll ein kleines Programm geschrieben werden, das überprüft, ob eine eingegebene Zahl positiv ist. Es soll angezeigt werden, wenn die Eingabe ungültig ist, und es soll zu einer erneuten Eingabe aufgefordert werden. Das Bild rechts zeigt ein paar Eingaben, um die Wirkungsweise des Programmes vorzuführen.
Schritt 5
Mittels Input wird eine Zahl N eingelesen. Damit erhält man den Initialwert für die Schleifenbedingung.
Schritt 6
Nun schließt sich die While – Schleife an, in der überprüft wird, ob N negativ ist. In diesem Fall wird mit Disp eine Fehlermeldung ausgegeben. Hier also wird N getestet.
Hinweis: Der Befehlsblock wird nur ausgeführt, wenn N negativ ist, andernfalls wird er übersprungen.
Schritt 7
Mit einem weiteren Input wird schließlich ein neuer Wert für N eingefordert und damit endet der Befehlsblock. Hier wird N also verändert.
Als Teil eines größeren Programmes würde diese Befehlsfolge sicherstellen, dass nur bei Eingabe einer positiven Zahl das Programm weiter ausgeführt wird, so dass die eingegebene Zahl weiter verarbeitet werden kann.
Übung 3: Die Repeat…End Schleife
LehrerinformationIn der dritten Übung von Lektion 4 geht es um die Repeat…End - Schleife und den Vergleich mit der While…End – Schleife.
Lernziele:
- Verstehen der Repeat…End - Schleife.
- Unterschiede zur While…End - Schleife.
- Verwendung von Repeat…End bei der Programmierung der Fibonacci - Zahlen.
Schritt 1
Die Repeat… End - Schleife
Der Befehlsblock innerhalb der Repeat…End – Schleife wird solange ausgeführt, wie die Bedingung falsch ist. Damit verhält sich Repeat genau entgegengesetzt zu While, aber das ist nicht der einzige Unterschied. Die Struktur der Repeat – Schleife sieht zunächst einmal genauso aus wie die der While – Schleife:
Repeat <Bedingung>
<Befehlsblock>
End
Die beiden Beispielprogramme erzeugen dieselbe Ausgabe. Worin liegen die Unterschiede?
Schritt 2
Die <Bedingung> ist ein logischer Ausdruck wie z.B. X>0.
Der <Befehlsblock> besteht aus einer beliebigen Gruppe von Anweisungen, die auch weitere Schleifen und If – Befehle enthalten können. Er wird einmal ausgeführt und dann immer wieder, bis die Bedingung wahr ist. Die Struktur sieht also eher so aus:
Repeat
<Befehlsblock>
Bis (until) <Bedingung> wahr
End
Das Schlüsselwort „until“ gibt es in TI-Basic nicht, denn es ist in das Repeat…End implementiert. Selbst wenn die Bedingung beim Starten der Schleife wahr ist, wird der Befehlsblock einmal durchlaufen, da die Bedingung erst am Ende der Schleife überprüft wird.
Bei einer While - Schleife ist es notwendig, dass die Schleifenvariable vor der Schleife einen Wert zugewiesen bekommt. Bei einer Repeat – Schleife kann dies auch innerhalb des Befehlsblockes passieren, da die Bedingung ja erst am Ende überprüft wird. Aber genauso wie bei While sollte innerhalb des Befehlsblockes eine Anweisung stehen, die die Schleifenvariable verändert, so dass die Schleife beendet werden kann, damit die nachfolgenden Befehle ausgeführt werden können. Auch hier steht diese Anweisung üblicherweise am Ende des Befehlsblockes.
Schritt 3
Ein Programm für die Fibonacci - Zahlen
Es soll ein Programm geschrieben werden, dass die Fibonacci – Zahlen bis zu einer gewissen Grenze berechnet und ausgibt. Das Bild zeigt die ersten Zahlen bis N = 5.
Kann man aus der Zahlenfolge das Bildungsgesetz erraten, ohne weiter unten auf der Seite die Lösung zu lesen?
Schritt 4
Mit dem Befehl Prompt wird ein Wert für die Obergrenze N durch den Benutzer eingegeben. Die ersten beiden Fibonacci – Zahlen sind 1 und 1 und werden in den Variablen A und B gespeichert. Diese Variablen werden dann auch für die weitere Berechnung verwendet.
Schritt 5
Nun schließt sich die Repeat – Schleife mit der Bedingung A>N an. Der Befehlsblock soll also durchlaufen werden bis A größer ist als N. Die ersten beiden Zahlen werden ausgegeben.
Schritt 6
Jetzt werden die nächsten beiden Fibonacci – Zahlen berechnet und die Schleife wird mit End abgeschlossen.
Es sieht dabei so aus, als ob in den beiden Variablen A und B mit A+B derselbe Wert abgespeichert würde. Das ist aber nicht der Fall! Man kann sich das ganz leicht für die ersten Zahlen überlegen. Der erste Befehl speichert 1+1 in A, also 2. Der zweite Befehl speichert nun 2+1 in B, also 3. Im nächsten Durchgang wird 2+3 in A abgespeichert, also 5, und 5+3 in B, also 8. Dann erhält man 5+8 für A, also 13, und 13+8 für B, also 21. Aber jetzt wird die Bedingung wahr und die Schleife endet.
Schritt 7
Man sollte nun das Programm mit verschiedenen Werten ausprobieren und sehen, ob es sich so verhält wie geplant.
Was passiert, wenn man die Repeat – Bedingung in B>N ändert?
Wie kann man das Programm verändern, sodass auf jeden Fall immer die größte Fibonacci – Zahl angezeigt wird, die kleiner als N ist?
Anwendung: Notenwarnung
LehrerinformationDie Anwendung NOTENWARNUNG verwendet Schleifen zur Eingabe von Werten, überprüft sie auf Gültigkeit und nutzt If – Befehle, um passende Meldungen anzuzeigen.
Lernziele:
- Verwendung von Zählern und Summationen.
- Verwendung einer Schleife zur unbegrenzten Eingabe von Daten.
- Beenden der Eingabe durch einen speziellen Wert.
Schritt 1
Verschachtelungen
- Das ist eine Programmiertechnik, bei der Kontrollelemente oder Schleifen in andere eingebaut werden. Im Programmbeispiel geht es dabei um If – Befehle.
- Um Fehler zu vermeiden ist es wichtig, dass die eine Struktur vollständig in die andere eingebaut wird.
- Das Beispielprogramm zeigt eine If – Struktur im Else – Befehlsblock einer anderen If – Struktur. Dabei werden mehrere End verwendet, die der Computer dem passenden If zuordnet.
- Zunächst wird ein Wert für A eingegeben und überprüft. Ist A<0, so wird die Meldung „A IST NEGATIV“ angezeigt und das Programm endet. Andernfalls wird die Quadratwurzel bestimmt und in S abgespeichert. Jetzt kommt die zweite If – Bedingung (Zeilen in Fettdruck), in der entschieden wird, ob A eine Quadratzahl ist (S ohne Nachkommastellen) oder nicht. Anschließend wird S angezeigt und das Programm endet.
- Verschachtelungen werden auch benötigt, wenn in Programme Strukturen eingebaut werden, die das eigentliche Programm zwar nicht braucht, die aber den sicheren Ablauf gewährleisten wie z.B. bei der Eingabe von Werten.
- Neben dem If – Befehl werden hier auch gerne Schleifen verwendet.
Schritt 2
Zusammenfassung der drei Schleifenarten:
For(Variable,Startwert,Endwert) | While <Bedingung> ist wahr | Repeat bis <Bedingung> ist wahr |
End | End | End |
For( wird verwendet beim „Zählen“ oder der Durchführung einer bestimmten Anzahl von Rechenvorgängen (Iteration).
While wird verwendet, wenn man die Möglichkeit haben will, den gesamten Befehlsblock zu überspringen.
Repeat wird verwendet, wenn man sicher ist, dass der Befehlsblock mindestens einmal ausgeführt werden soll.
Schritt 3
Über das Schlüsselwort End
End wird bei allen Kontrollstrukturen verwendet, die über mehrere Zeilen gehen:
If … Then End |
If … Then Else End |
For( … )
|
While …
|
Repeat …
|
Schritt 4
Diese Bedeutung hat auch Einfluss auf den Aufbau des Menüs STRG (Steuerung):
7: End kommt hinter den ersten sechs Einträgen in STRG, weil es alle diese Kontrollstrukturen Endet.
End – Befehle können vielfach in einem Programm auftauchen, aber der Computer kann jedes End seiner Kontrollstruktur zuordnen. Fehlt ein End, führt dies zu einer Fehlermeldung.
Schritt 5
Anwendung: Programm WARNEN
Solange man in der Ausbildung ist, werden Noten erteilt, über die man auch regelmäßig unterrichtet wird. Das Beispielprogramm soll nun ermitteln, wie viele Noten eingegeben wurden und ihren Mittelwert und es soll eine Warnung ausgeben, die sich auf den Notendurchschnitt bezieht. Die Warnung soll in 3 Stufen erfolgen, deren Grenzen in Anlehnung an das Abitur festgelegt sind: unter 4 Punkten ist man „SEHR GEFAEHRDET“, unter 6 Punkten „GEFAEHRDET“ und darüber „KEINE GEFAHR“.
Es gibt zwei Methoden, wie man eine unbekannte Anzahl von Werten eingeben kann:
- Methode 1: fragt zunächst nach der Anzahl der Daten und nutzt dann eine For( - Schleife zur Eingabe.
- Methode 2: fragt gleich nach den Werten, verwendet aber einen besonderen Wert, der den Abbruch der Eingabe bewirkt. Bei dieser Methode wird eine Repeat – oder eine While – Schleife verwendet.
Bei der ersten Methode wird die Anzahl der Daten direkt eingegeben (ärgerlich wenn man sich verzählt hat), bei der zweiten benötigt man einen Zähler zur Bestimmung der Anzahl der Daten, denn diese Anzahl wird auf jeden Fall für die Mittelwertbildung benötigt.
Das Programm soll nun die Anzahl der Noten anzeigen, ihren Mittelwert, und es soll eine passende Mitteilung ausgeben:
Ist der Mittelwert unter 4: „SEHR GEFAEHRDET“
… 4 bis 6: „GEFAEHRDET“
… über 6: „KEINE GEFAHR“
Schritt 6
Zähler und Akkumulationen (Aufsummierungen)
Ein Befehl wie z.B. Z+1→Z wird Zähler genannt, da er jedes Mal eine 1 zur Variablen Z addiert wenn er ausgeführt wird.
Ein Befehl wie z.B. A+N→A wird Akkumulator genannt, da er alle Werte der Variablen N aufsummiert in der Variablen A. Bei jeder Ausführung wird zum bisherigen Wert von A der neue Wert von N addiert und das Ergebnis wird wieder in A abgespeichert. Endet die Schleife, so ist in A die Summe aller Werte N gespeichert.
Das Beispielprogramm verwendet einen Zähler und einen Akkumulator sowie ein Abbruchkriterium bei der Eingabe für die Variable N (N darf nicht 20 sein).
Schritt 7
0→Z 0→N 0→A Prompt N While N≠20 Z+1→Z A+N→A Prompt N End Disp "INSGESAMT =",A Disp "ANZAHL =",Z |
Hinweise Anfangswerte der Variablen: N ist die Note Z ist der Zähler A ist die Summe Eingabe von N solange N nicht 20 addiere 1 zum Zähler addiere die Note zur Summe Eingabe einer weiteren Note |
Schritt 8
Die While – Schleife zählt und akkumuliert die Werte für N bis der Wert 20 eingegeben wird. Dann wird sie verlassen und die Werte werden auf dem Display angezeigt.
- Übung 1
- Übung 2
- Übung 3
- Anwendung
Lektion 5: Grafik
Übung 1: Zeichnen
LehrerinformationIn der ersten Übung der Lektion 5 werden einige Zeichenbefehle vorgestellt, mit denen man Formen auf dem Grafik-Bildschirm darstellen kann.
Lernziele:
- Verwendung des Menüs [draw] bei der Verwendung eines Zeichenbefehls.
- Lernen der Syntax einiger Zeichenbefehle.
- Die Unterschiede zwischen Befehlen, die Pixel-Koordinaten verwenden und Befehlen, die Punktkoordinaten verwenden, kennen.
Schritt 1
Das Menü [DRAW]
- Man erhält dieses Menü, indem man vom HOME-Bildschirm aus [2nd] [PRGM] drückt.
- Auswahl des Befehls Linie(.
- Vervollständigung des Befehls mit 0,0,3,4) zu Linie(0,0,3,4).
- Drückt man nun [ENTER] , so sieht man eine Linie, die sich vom Ursprung zum Punkt (3/4) hin zieht. Dabei hat der Taschenrechner automatisch in den Grafikmodus umgeschaltet.
Die meisten Grafikbefehle wie z.B. Linie, Kreis, and Punkt-Ein berücksichtigen dabei die momentanen Einstellungen des Grafik-Fensters.
Schritt 2
Zeichnungen in Programmen
Es gibt viele Programmierbefehle in TI-Basic, die einen Einfluss auf das Aussehen des Grafik-Bildschirmes haben. Die für uns wichtigen sind:
- LöBild löscht den Grafik-Bildschirm (Menü [DRAW]).
- FktAus schaltet das Zeichnen von Funktionsgrafen aus (Menü [VARS] YVARS Ein/Aus).
- PlotsAus schaltet das Zeichnen von Statistikplots aus (Menü [2nd] [y=] stat plot).
Als Übung sollte man sich irgendein Zeichenobjekt auswählen und ein kleines Beispielprogramm wie abgebildet schreiben.
Schritt 4
Hilfe!
Zu jedem Befehl des Taschenrechners gibt es eine Hilfe, die man erhält, wenn man in einem Menü einen Befehl anwählt und dann auf [ + ] drückt. Als Beispiel ist die Hilfe für den Befehl Kreis( dargestellt. Man sieht die möglichen Argumente und ihre Reihenfolge: X und Y sind die Koordinaten des Mittelpunktes, dann kommt der Radius. Optional kann man noch die Farbe und die Linienart (von 1 bis maximal 4) eingeben. Man kann den Befehl im Hilfe-Bildschirm vervollständigen und dann mittels Taste f4 ([TRACE]) in das Programm einfügen.
Schritt 5
Aufgabe
Das nebenstehende Bild soll erzeugt werden. Das geht mit nur zwei Befehlen, aber die darin einzugebenden Zahlen müssen sorgfältig bestimmt werden. Außerdem sind die Fenstereinstellungen wichtig.
Hinweis: Man kann die Fenstereinstellungen im Programm selbst verändern, indem man z.B. einfach [ZOOM] drückt und eine Auswahl trifft, oder man weist den Fenstervariablen Werte zu wie z.B. -20→Xmin. Die Fenstervariablen findet man im Menü [VARS] Fenster.
Schritt 6
Kunst mit Kreisen
Der Befehl Kreis( im Programm unten soll so vervollständigt werden, dass das nebenstehende Bild erscheint.
Hinweis: ZStandard und ZQuadr findet man im Menü [ZOOM].
Schritt 7
Ein Programm in ein anderes kopieren
- Ein neues Programm starten.
- Im Editor die Taste [RCL] ([2nd] [STO→]) drücken.
- Jetzt auf [PRGM] drücken und AUSFüHRG wählen.
- Das zu kopierende Programm auswählen. Im Beispiel ist KREISE ausgewählt, um in COPY kopiert zu werden.
- Mit [ENTER] wird der Programmcode in das neue Programm eingefügt.
- Bei überlegter Anwendung kann man sich damit einiges an Schreibarbeit ersparen.
Übung 2: Punkte und Pixel
LehrerinformationIn der zweiten Übung von Lektion 5 geht es um das Zeichnen von Punkten und den Unterschied zwischen den Befehlen Punkt-Ein( und Pxl-Ein(.
Lernziele:
- Verwendung der Befehle zum Zeichnen von Punkten und Pixeln.
- Entwicklung von Formeln zur Nutzung von Grafik in Programmen.
Schritt 1
Der Punkt - Befehl
Man findet ihn im Menü [DRAW] PKTE. Punkt-Ein(x,y) zeichnet einen Punkt unter Berücksichtigung der FENSTER-Einstellungen. Der Punkt wird „eingeschaltet“. Punkt-Ein(2,1) „schaltet“ also im ersten Quadranten bei P(2/1) einen Bildschirmpunkt ein. Punkt-Ein( hat noch optional die Argumente Zeichen und Farbe (vergl. mit der Hilfe, die man durch Drücken von [ + ] bekommt, während man den Befehl in [DRAW] auswählt): Punk-Ein(x,y,Zeichen,Farbe).
Punkt-Ein(100,100) zeichnet einen Punkt selbst wenn er außerhalb des aktuellen Grafikfensters ist.
Schritt 2
Der Pixel - Befehl
Pxl-Ein( verwendet die Bildschirm-Pixel völlig unabhängig von den Fenstereinstellungen. Pxl-Ein(2,3) zeichnet einen winzigen Punkt in die obere linke Ecke in die Reihe 2 Spalte 3. Die Koordinaten sind nicht in der üblichen Reihenfolge (x/y) angeordnet sondern wirken vertauscht, denn es kommt erst die Zeilennummer, dann die Spaltennummer. Pxl-Ein( hat nur ein optionales Argument: …,Farbe): Pxl-Ein(Zeile,Spalte,Farbe). Es gibt noch die Befehle Pxl-Aus(, Pxl-Ändern( und pxl-Test(, die hier aber nicht weiter behandelt werden sollen.
Schritt 3
Pixel
Abhängig vom Taschenrechnertyp der TI-84 Familie ist die Anzahl von Spalten und Zeilen unterschiedlich. Der TI-84 Plus hat 96 Spalten und 64 Zeilen, der TI-84 Plus CE-T hat 265 Spalten und 165 Zeilen. Zeilen verlaufen in x-Richtung und Spalten in y-Richtung. Bei einem aufgeteilten Display ändert sich die Anzahl der Zeilen und Spalten entsprechend. Beim TI-84 Plus werden die untere Zeile und die rechte Spalte nicht bei der Graphik verwendet, damit durch die dann ungerade Anzahl sichergestellt ist, dass es einen Bildmittelpunkt gibt. Das Bild zeigt den Grafikbildschirm eines TI-84 Plus mit einem Punkt bei Zeile 15 Spalte 30 (Pxl-Ein(15,30)). Wegen der anderen Auflösung sind die Pixel dicker und besser zu sehen. Der Pixel in der linken oberen Ecke hat stets die „Koordinaten“ (0/0). Pxl-Ein(0,0) schaltet also diesen Punkt bei Zeile 0 und Spalte 0 ein. Die Zeilen- und Spaltennummerierung beginnt stets mit 0, nicht 1! Die untere rechte Ecke hat beim TI-84 Plus die Koordinaten (63/95), beim TI-84 Plus CE-T (165/265).
Schritt 4
Programmieren mit Punkten
Nun soll ein Programm geschrieben werden, dass auf dem GRAPH-Bildschirm zufällig Punkte setzt. Das Programm verwendet eine unendliche Schleife, so dass man auf [ON] drücken muss, um das Programm zu beenden.
Dazu wird ein Algorithmus (Formel) benötigt, um einen Punkt innerhalb der Fenstergrenzen zufällig auszuwählen.
Die Funktion Zufallz aus dem Menü [MATH] WAHRS erzeugt eine Zufallszahl zwischen 0 und 1. Zufallz·(Xmax-Xmin) erzeugt eine Zufallszahl zwischen 0 und Xmax - Xmin. Addiert man noch Xmin, so erhält man eine Zufallszahl zwischen Xmin und Xmax: Zufallz·(Xmax-Xmin)+Xmin .
Schritt 5
Auf gleiche Weise lässt sich eine Formel für die y-Koordinate erstellen.
Das Beispiel zeigt, wie wichtig Mathematik für das Programmieren ist!
Schritt 6
Hinweise:
AchsenAus findet man bei [FORMAT].
FnOff findet man bei [VARS] Y-VARS Ein/Aus.
PlotsOff findet man im Menü [STAT PLOT].
ClDraw ist im Menü [DRAW].
While 1 erzeugt eine unendliche Schleife, da der Wert wahr im Taschenrechner durch die Zahl 1 dargestellt wird.
Die Zufallszahlen werden in den Variablen A und B gespeichert.
Mit [ON] wird das Programm abgebrochen.
Das Programm läuft auf allen Taschenrechnern der TI-84-Familie.
Schritt 7
Erweiterung: Farbe
Beim TI-84 Plus CE-T kann man noch eine zufällig ausgewählte Farbe dem Befehl Punkt-Ein( hinzufügen. Die niedrigste Farbzahl ist 10 und die höchste 24.
Dazu muss ein Befehl geschaffen werden, der eine zufällige natürliche Zahl im Bereich von 10 bis 24 erzeugt und als drittes Argument Punkt-Ein( hinzufügt. Diese Zahl kann durch den Befehl zufInt( erzeugt werden. Der Befehl muss vor Punkt-Ein(A,B,C) (Änderung beachten!) eingefügt werden:
<Farbgenerator> → C
Hinweis: Punkt-Ein hat zwei optionale Argumente: Zeichen und Farbe. Zeichen kann die Werte von 1 bis 4 annehmen, Farbe von 10 bis 24. Hat das dritte Argument also einen Wert von 1 bis 4, so wird es als Zeichenattribut interpretiert. Liegt der Wert zwischen 20 und 24, so ist es eine Farbe. Andere Werte erzeugen eine Fehlermeldung.
Übung 3: Geraden, Text und Farben
LehrerinformationIn der dritten Übung von Lektion 5 geht es um das Zeichnen von Linien und Text in verschiedenen Farben.
Lernziele:
- Verwendung der Befehle, mit denen man Geraden, Funktionen und Text zeichnen kann.
- Verwendung der Farbe in Zeichenbefehlen.
- Einsatz von Formeln im Zusammenhang mit Grafiken.
Schritt 1
Zeichnen von Geraden und Kurven
Linie(X,Y,W,Z) zeichnet eine Strecke zwischen den Punkten (X/Y) und (W/Z). Optionale Zusätze finden sich in der Kataloghilfe.
Vertikale A zeichnet die senkrechte Gerade X=A.
Horizontal B zeichnet die waagerechte Gerade Y=B.
ZeichneF X2+X zeichnet direkt den Funktionsgraphen von Y = X2+X.
Rechts sind ein paar Beispiele angegeben, die das Bild darunter erzeugen. Die Farben findet man im Menü [PRGM] FARBE, das es aber nicht auf dem TI-84 Plus gibt.
Schritt 2
Will man einen Funktionsgraphen nur in einem bestimmten Intervall zeichnen, so dividiert man durch das Intervall: ZeichneF X2+X-5/(x≥-2 und x≤3)
Schritt 3
Zeichnen von Text
Der Befehl Text( ist eine Besonderheit, denn er verwendet für die Positionierung Pixel statt der sonst üblichen Punkte. Außerdem gibt es im Editiermodus den separaten Befehl TextFarbe(, mit dem die Farbe für den nächsten Text bestimmt wird.
Schritt 4
Text(50,100,”HALLO”) lässt den Text HALLO immer an derselben Stelle im Display erscheinen unabhängig von den Fenstereinstellungen. Zeile 50 Spalte 100 bezieht sich dabei auf die obere linke Ecke des darzustellenden Textes.
Hinweis: Beim TI-84 Plus gibt es 96 Spalten x 64 Reihen, beim TI-84 Plus CE-T 265 Spalten und 165 Zeilen.
Schritt 5
Programmieren mit Algebra und dem Linie - Befehl.
Mit diesem Programm wird der Befehl Linie( „verlängert“, denn aus den Punktkoordinaten werden neue Koordinaten berechnet, so dass die Gerade bis zu den Fenstergrenzen oder sogar darüber hinaus verlängert wird. Allerdings braucht man dazu Algebrakenntnisse – also Vorsicht!
- Das neue Programm soll LINIE heißen.
- Zunächst kommen die üblichen Graphik-Befehle.
- Mit zwei Input – Befehlen werden auf dem Grafikbildschirm die Koordinaten zweier Punkte eingelesen. Da Input in den Variablen X und Y abspeichert, werden die Werte des ersten Input auf A und B übertragen.
Schritt 6
- Jetzt kann man die Steigung der Geraden berechnen: M = (Y - B) / (X - A)
- Die Punkte am linken und rechten Fensterrand haben die Koordinaten Xmin und Xmax. Die dazugehörigen y-Koordinaten berechnet man mit der Punkt-Steigungs-Form: Y = M·(X – A) + B
Aufgabe:
- Diese y-Werte sollen berechnet und in den Variablen Q und R abgespeichert werden.
- Jetzt kann die neue Strecke gezeichnet werden: Linie(Xmin,Q,Xmax,R)
Schritt 7
Erweiterung:
- Einbau einer Schleife, so dass man mehrere Strecken zeichnen kann, ohne dass das Programm erneut gestartet werden muss, wodurch alle vorhergehenden Strecken gelöscht würden.
- Bei einer senkrechten Linie erfolgt eine Fehlermeldung – warum? Durch den Einbau eines If – Befehles kann dieser Spezialfall aufgefangen werden.
Schritt 8
Punktkoordinaten in Pixelkoordinaten umwandeln
Mit dem Befehl Punkt-Ein( soll der Punkt (A/B) gezeichnet und anschließend mit dem Text „P“ bezeichnet werden. Wie müssen die Koordinaten aussehen?
Schritt 9
Dazu muss man zwei Formeln entwerfen, die A und B in die Pixelkoordinaten C und D umwandeln, damit man mit dem Befehl Text( arbeiten kann. Die Tabelle für den TI-84 Plus CE-T kann hier hilfreich sein:
Fenster Xmin Xmax A |
Pixel 0 264 ? |
Ymax Ymin B |
0 164 ? |
Hinweis: Im Befehl Text( ist das erste Argument die Reihe, gehört also zur y-Koordinate des Punktes!
Anwendung: Der reflektierte Punkt
LehrerinformationDie Anwendung für Lektion 5 ist ein etwas umfangreicheres Grafikprogramm.
Lernziele:
- Den Unterschied zwischen einem TI-84 Plus und einem TI-84 CE-T im Programm ermitteln.
- Einen Punkt an den Displayrändern reflektieren lassen.
Schritt 1
Das Programm “Pong”
„Pong“ war eines der ersten Videospiele. Ein Ping-Pong-„Ball“ bewegt sich auf dem Display und zwei Spieler müssen mit „Schlägern“ versuchen, den Ball wie beim richtigen Tischtennis im Spiel zu halten. Im Pausenmodus gibt es keine Schläger und der Ball bewegt sich und wird von den Rändern des Displays reflektiert. Diese Bewegung soll das Programm nachbilden. Dabei wird der „Ball“ eine Spur hinterlassen.
Schritt 2
Zunächst soll das Programm ermitteln, auf welchem Taschenrechner es läuft, da die Auflösung beim TI-84 Plus ja kleiner ist als beim TI-84 Plus CE-T. Mit den abgebildeten Befehlen wird der Rechnertyp ermittelt:
0→Xmin
1→ΔX
If Xmax>95 then
<es ist ein TI-84 Plus CE-T>
Else
<es ist ein TI-84 Plus>
End
Die ersten beiden Zeilen sorgen automatisch dafür, dass Xmax die maximale Spaltenzahl zugewiesen wird. Dann ergibt sich für die beiden Blöcke:
Then… 264→M und 165→N (CE-T)
Else… 94→M und 63→N (Plus)
Schritt 3
Anfangswerte der Variablen
Auch die Fenstervariablen für y werden eingestellt:
0→Ymin
1→ ΔY
Der Punktabstand beträgt jetzt sowohl in x als auch in y-Richtung 1.
Die Koordinaten des Startpunktes (A/B) werden zufällig ermittelt, aber nicht zu dicht an den Displaygrenzen:
zufInt(10,M-10)→A
zufInt(10,N-10)→B
Auch die Ortsveränderungen in x- und y-Richtung werden zufällig ermittelt:
zufInt(2,5)→D x-Richtung
zufInt(2,5)→E y-Richtung
Schritt 4
Die Schleife
Nun kann der Punkt bewegt werden. Dazu wird eine unendliche Schleife Verwendet. Die Zahl 2 steht für einen großen quadratischen Punkt:
While 1
Punkt-Ein(A,B,2)
<restliches Programm>
End
Hinweis: Man sollte das End zusammen mit dem While in das Programm einbauen, um es nicht zu vergessen.
Schritt 5
Die Bewegung
Nachdem der erste Punkt gezeichnet wurde, werden die Koordinaten für den nächsten Punkt erzeugt::
A+D→A
B+E→B
Lässt man das Programm in diesem Stadium laufen, so erkennt man, dass sich der Punkt nach rechts oben bewegt. Allerdings verschwindet er recht schnell aus dem Display.
Schritt 6
Reflexion
Dazu muss festgestellt werden, ob der Punkt die Displaygrenzen erreicht hat:
If A>M or A<0
Then
<Befehle für den Fall, dass der linke oder rechte Rand erreicht wurde>
End
Zwei Dinge müssen innerhalb des Then… passieren:
+ der Punkt muss zurück aufs Display A-D→A
+ die Richtung muss umgekehrt werden -D→D
Für die y-Koordinate muss eine gleiche Befehlsgruppe erstellt werden.
Schritt 7
Ergänzungen
- Die „Spur“ abschalten
Der Befehl Punkt-Aus verbirgt einen Punkt. Fügt man diesen Befehl an der richtigen Stelle im Programm hinzu, so wird die „Spur“ des Punktes gelöscht und man sieht nur den sich bewegenden Punkt. Aber Achtung: man darf nicht denselben Punkt löschen, den man gerade gezeichnet hat, sondern man muss den davor löschen. Dazu braucht man zwei weitere Variablen. - Die unendliche Schleife ersetzen
getKey ([PRGM] E/A Menü) erzeugt einen Wert, der den Tastencode darstellt. Dabei wird das Programm nicht wie bei Prompt und Input unterbrochen. [ENTER] hat den Wert 105 (Reihe 10 Spalte 5 auf der Tastatur).
So könnten die zu verwendenden Befehle aussehen:
0→K
While K ≠ 105
<Befehlsblock>
getKey→K
End
Das Programm soll nun so verändert werden, dass es beim Drücken von [ENTER] endet. - Einen Neustart aus dem Programm heraus erzeugen
Drückt man [CLEAR] (Tastencode?), so soll der Bildschirm gelöscht werden und das Programm neu beginnen, bevor es durch [ENTER] beendet wird.
- Übung 1
- Übung 2
- Übung 3
- Anwendung