Bernhard Schmelzer, Schüler der BHAK Schwaz (4AK)
 
Trigonometrie mit dem TI-83

Mathematische Inhalte:

Trigonometrie Kurzzusammenfassung: Ti-83-Programm, das aus 3 gegebenen Größen eines beliebigen Dreiecks die restlichen 3 Größen und den Flächeninhalt berechnet. Lehrplanbezug: HAK-Lehrplan, III. Jg. Mediales Umfeld: Ti-83, Graph-Link für Windows Inhalt des Beitrages

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  S2, gibt es nur 1 Lösung. Der Taschenrechner springt zu Lbl M, wo die restlichen Größen des Dreiecks berechnet werden.
Ist S2 > S1 (dh der gegebene Winkel liegt der kleineren der beiden bekannten Seiten gegenüber), so hängt die Zahl der Lösungen von der Seite S1 und von der Höhe auf S3 (hS3) ab. Der TR springt zu Lbl L. hS3 erhält man aus hS3 = S2 * sin(W1).

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