Trigonometrie mit dem TI-83 |
Mathematische Inhalte:
Ich besuche momentan den IV. Jahrgang der Handelsakademie Schwaz. Im II. Jahrgang kauften wir in der Schule geschlossen den Taschenrechner TI 83. Da ich mich nicht nur für Mathematik, sondern auch für Programmierung interessiere, beschäftige ich mich auch außerhalb der Unterrichtszeiten näher mit dem TI 83. In den Sommerferien des Schuljahres 1997/1998 surfte ich eines Tages im Internet. Ich kam auf die Seite von Texas Instruments und lud mir einige Programme für meinen Taschenrechner herunter. Darunter befand sich eines mit dem Namen TRIGFUNC.83P. In der Erwartung ein Programm vorzufinden, mit dem man alle 7 Fälle eines Dreiecks, nach den jeweils gegebenen Größen klassifiziert (also SSS, WSS, SWS, SSW, WSW, SWW, WWS), berechnen kann, startete ich es. Zu meiner Enttäuschung zeigte es jedoch nur das Seitenverhältnis zur jeweiligen Winkelfunktion an. Da dachte ich, warum sollte ich es nicht selbst versuchen, ein solches Programm zu schreiben? Und schon machte ich mich an die Arbeit. Ich schrieb mir die Rechenwege für alle 7 Fälle zuerst auf ein Blatt Papier und übertrug den Programmcode auf den PC.
Bei der Programmierung der Eingabe stieß ich bereits auf das erste Problem – die Deklaration der Variablen. Der TI 83 ermöglicht nur die Verwendung von Variablen, deren Namen jeweils aus einem Zeichen bestehen. Dies ist sehr lästig und stark verbesserungswürdig. Die Möglichkeit, Variablen sinngemäß zu bezeichnen, wird auf diese Art verhindert. So musste ich die Seiten mit R, S, T und die Winkel mit U, V, W bezeichnen (statt S1, S2, S3 und W1, W2, W3). Das Programmieren wurde dadurch sehr mühsam, da ich jedesmal nachschauen musste, in welche Variable nun die Formel für (zB) S1 gespeichert werden musste.
Doch wann ist nun mein Programm anwendbar? Es müssen 3 der 6 Größen eines beliebigen Dreiecks (3 Seiten und 3 Winkel) bekannt sein (Ausnahme: WWW). Es werden die 3 restlichen Größen und der Flächeninhalt berechnet.
Startet man das Programm, so muss man sich zuerst überlegen, welche der 7 Optionen aus dem Menü aufgrund der gegebenen Daten passend ist . Dann werden die bekannten Größen eingegeben: Die Seiten werden mit S1, S2, S3 und die Winkel mit W1, W2, W3 bezeichnet, wobei sich Winkel und Seite mit gleicher Nummer gegenüberliegen. Es ist also sinnvoll (wenn nicht sogar notwendig), eine Skizze anzufertigen und sich zu überlegen, wo die gegebenen und gesuchten Größen liegen, um die bekannten Werte richtig zuzuweisen. Nach der Eingabe wird der Code ausgeführt. Alle Berechnungen erfolgen mit Hilfe des Sinussatzes und des Kosinussatzes.
Mein Programm war bald fertig. Ich hatte jedoch keine allzu häufige
Verwendung dafür, da Trigonometrie erst im 2. Halbjahr des folgenden
Schuljahres auf dem Lehrplan stand. Als mein Lehrer von dem Programm erfuhr,
unterzog er es sofort einem ersten Test, den es leider nicht bestand. Den
Fall SSW hatte ich nämlich nicht vollständig durchdacht. Da sich
hier die Programmierung etwas komplizierter gestaltete, will ich darauf
näher eingehen.
Bei SSW gibt es verschiedene Lösungsfälle.
Es kann 1, 2 oder gar keine Lösung(en) geben. Startet man das Programm,
so erscheint das nebenan dargestellte Hauptmenü. Nun wählt man
die 2. Option (SSW) aus. Der Rechner fragt nach S1, S2 und W1. Nach der
Eingabe der Werte wird S1 mit S2 verglichen. Wenn S1 ![]() |
![]() |
Abschließend ist zu sagen, dass das Programm weitaus umfangreicher ist, als anfangs angenommen. Für den gewöhnlichen Mathematikunterricht ist es wohl nicht zu empfehlen, da es schwierig zu bedienen ist. Ein Durchschnittsschüler wird sich ohne Skizze wohl kaum bei Input und Output zurechtfinden. Viele Fehler der Schüler könnten daher bereits bei der Bezeichnung der Dreiecksgrößen auftreten. Der geübte Anwender wird jedoch mit diesem Programm gut arbeiten können.
Programmcode:
Lbl A
Degree ClrHome Menu("CHOOSE CALC","SSS",1, "SSW",2,"SWS",3,"WSS",4,"WWS", 5,"WSW",6,"SWW",7) Lbl 1 Input "S1=",R Input "S2=",S Input "S3=",T cosñ((S^2+T^2-R^2)/(2ST))üU sinñ(S*sin(U)/R)üV 180-U-VüW R*S*sin(W)/2üG Output(5,1,"W3="):Output(5,6,W) Output(6,1,"W2="):Output(6,6,V) Output(7,1,"W1="):Output(7,6,U) Output(8,1,"A="):Output(8,6,G) Pause Goto C Lbl 2 Input "S1=",R Input "S2=",S Input "W1=",U sin(U)*SüH If R<S Then Goto L Else Goto M End Lbl L If H>R Then Disp "KEINE LOESUNG" Goto C Else If H=R Then Goto M Else sinñ(S*sin(U)/R)üV 180-VüO 180-O-UüP ð(R^2+S^2-2RS*cos(P))üQ S*R*sin(P)/2üN Output(4,1,"LOESUNG 1") Output(5,1,"S3="):Output(5,6,Q) Output(6,1,"W2="):Output(6,6,O) Output(7,1,"W3="):Output(7,6,P) Output(8,1,"A="):Output(8,6,N) Pause ClrHome Output(4,1,"LOESUNG 2") Goto M End Lbl M sinñ(S*sin(U)/R)üV 180-U-VüW ð(R^2+S^2-2RS*cos(W))üT R*S*sin(W)/2üG Output(5,1,"S3="):Output(5,6,T) Output(6,1,"W2="):Output(6,6,V) Output(7,1,"W3="):Output(7,6,W) Output(8,1,"A="):Output(8,6,G) Pause Goto C Output(6,1,"W2="):Output(6,6,V) Output(7,1,"S2="):Output(7,6,S) Output(8,1,"A="):Output(8,6,G) Pause Goto C |
Lbl 3
Input "S1=",R Input "S2=",S Input "W3=",W ð(R^2+S^2-2RS*cos(W))üT sinñ(S*sin(W)/T)üV 180-W-VüU R*S*sin(W)/2üG Output(5,1,"S3="):Output(5,6,T) Output(6,1,"W2="):Output(6,6,V) Output(7,1,"W1="):Output(7,6,U) Output(8,1,"A="):Output(8,6,G) Pause Goto C Lbl 4 Input "W1=",U Input "S3=",T Input "S1=",R sinñ(T*sin(U)/R)üW 180-W-UüV ð(R^2+T^2-2RT*cos(V))üS R*S*sin(W)/2üG Output(5,1,"W3="):Output(5,6,W) Lbl 5 Input "W1=",U Input "W2=",V Input "S1=",R 180-V-UüW (R*sin(V)/sin(U))üS ð(R^2+S^2-2RS*cos(W))üT R*S*sin(W)/2üG Output(5,1,"W3="):Output(5,6,W) Output(6,1,"S3="):Output(6,6,T) Output(7,1,"S2="):Output(7,6,S) Output(8,1,"A="):Output(8,6,G) Pause Goto C Lbl 6 Input "W1=",U Input "W2=",V Input "S3=",T 180-V-UüW (T*sin(V)/sin(W))üS ð(T^2+S^2-2TS*cos(U))üR R*S*sin(W)/2üG Output(5,1,"W3="):Output(5,6,W) Output(6,1,"S1="):Output(6,6,R) Output(7,1,"S2="):Output(7,6,S) Output(8,1,"A="):Output(8,6,G) Pause Goto C Lbl 7 Input "S1=",R Input "W3=",W Input "W1=",U 180-W-UüV (R*sin(W)/sin(U))üT ð(T^2+R^2-2TR*cos(V))üS R*S*sin(W)/2üG Output(5,1,"W2="):Output(5,6,V) Output(6,1,"S3="):Output(6,6,T) Output(7,1,"S2="):Output(7,6,S) Output(8,1,"A="):Output(8,6,G) Pause Goto C Lbl C ClrHome Menu("PROGRAMM","HAUPTMENU", A,"BEENDEN",B) Lbl B Disp "PROGRAMMABBRUCH" Stop |