Die Klassenstufe 13 im Otto-Hahn-Gymnasium

HomeGTR-ProgrammeLinearpk - V4.3

GTR-Programm

Linearpk - V4.3

– Für alles, was mit Geraden zu tun hat...




Version: 5
Größe: 2.619 Bytes
Hinzugefügt am: 18. Oktober 2006, 14:43
Aktualisiert am: 20. Oktober 2006, 22:58
Autor: Steffen

LINEARPK hat in der neuen Version 4.3 erstmals ganz knapp die 2kb-marke geknackt. Für das Programm habe ich längere Zeit alles, was wir in Mathe gemacht haben in dieses Programm geschmissen. Es berechnet nahezu alles, was mit Geraden zu tun hat.

Hinweis: Auf meinem GTR lief es fehlerfrei und berechnete alles richtig.

(Ich denke zwar, dass niemand Lust und Zeit hat 2kb abzutippen, aber manche Programmteile und Formeln sind sicher nützlich.)
Die Formeln habe ich mir selbst auf einem Blatt Papier erschlossen ;).

Versionen:
V1-3.2: ...
V4: Funktion hinzugefügt: Abstand Gerade-Punkt berechenbar.
V4.1: Bugfix
V4.2: Bugfix, Bugfix
V4.3: mehrere Bugfixes (u.a. auch einen potentiellen Go Error-Fehler, kann ich aber nicht genau sagen...), Zeichnen von berechneten Geraden möglich

Fehler und Verbesserungsvorschläge im Forum posten!


Programm: LINEARPK
'LINEARPK V4.3·
Lbl 0·
ClrText·
Locate 1,1,"Gegeben?"·
Locate 4,2,"[1] 2 Pkt"·
Locate 4,3,"[2] 1 Pkt+Steigung"·
Locate 4,4,"[3] Geradengl."·
Locate 4,5,"[4] Schnitt..."·
Locate 4,6,"[5] Abst. g-P"·
Locate 4,7,"[6] Ende"·
Do·
Getkey‡Z·
LpWhile Z¬72 And Z¬62 And Z¬52 And Z¬73 And Z¬63 And Z¬53·
If Z=72·
Then ClrText·
"X1"?‡A·
"Y1"?‡B·
"X2"?‡C·
"Y2"?‡D·
A=CîB=Dî"Zwei unterschiedl. Pkt angeben."·
A=CîB=DîStop·
A=Cî"Parallele zur Y-Achse."·
A=CîStop·
B=Dî"Parallele zur X-Achse."·
B=DîStop·
¥((A-C)â+(B-D)â)‡E·
"Punktabstand:":E»
(B-D)¤(A-C)‡M·
"Steigung":M»
tanü M‡N·
"Stg.-Winkel":N»
'Y=MX+C·
B-(A£M)‡L·
"Y-Achsen-Abschnitt":L»
(0-L)¤M‡K·
"X-Achsen-Abschnitt":K»
Goto 1·
'erstes if Ende!·
Else If Z=62·
Then ClrText·
"X1"?‡A·
"Y1"?‡B·
"m"?‡M·
M=0î"Parallele zur X-Achse."·
M=0îStop·
tanü M‡N·
"Stg.-Winkel":N»
'Y=MX+C·
B-(A£M)‡L·
"Y-Achsen-Abschnitt":L»
(0-L)¤M‡K·
"X-Achsen-Abschnitt":K»
Goto 1·
'zweites if Ende!·
Else If Z=52·
Then ClrText·
"m"?‡M·
M=0î"Parallele zur y-Achse."·
M=0îStop·
"y-Achsen-Abschnitt"?‡L·
tanü M‡N·
"Stg.-Winkel":N»
(0-L)¤M‡K·
"X-Achsen-Abschnitt":K»
Goto 1·
'drittes if Ende!·
Else If Z=73·
Then ClrText·
"m1"?‡M·
"c1"?‡C·
"m2"?‡N·
"c2"?‡D·
If C=D·
Then "Paralellen haben keinen Schnittpunkt."·
Goto 0·
IfEnd·
(D-C)¤(M-N)‡X·
"Schnittpunkt:"·
"X":X»
M£X+C‡Y·
"Y":Y»
"Steigungswinkel:"·
tanü M‡A·
"alpha(1)":A»
tanü N‡B·
"beta(2)":B»
If A90·
Then 180-C‡C·
Else If C<-90·
Then (180+C)£(1)‡C·
IfEnd·
IfEnd·
"Schnittwinkel":C»
"zurueck zum Menue"»
Goto 0·
Else If Z=63·
Then ClrText·
"m"?‡M·
"c"?‡C·
"X"?‡X·
"Y"?‡Y·
(M£X)+C‡Z·
If Z=Y·
Then "Pkt. liegt auf Gerade => Abstand=0"»
Goto 0·
IfEnd·
(-1)¤M‡N·
Y-(N£X)‡D·
(D-C)¤(M-N)‡A·
(M£A)+C‡B·
¥((A-X)â+(B-Y)â)‡F·
"Senkr. h zu g d. P:"·
"m":N»
"c":D»
"Schntpkt. A (g,h):"·
"X":A»
"Y":B»
"Abstand S-P":F»
"zurueck zum Menue"»
Goto 0·
Else If Z=53·
Then ClrText·
Stop·
IfEnd·
IfEnd·
IfEnd·
IfEnd·
IfEnd·
IfEnd·
Lbl 1·
ClrText·
Locate 1,1,"m="·
Locate 3,1,M·
Locate 1,2,"c="·
Locate 3,2,L·
Locate 4,3,"[1] Punktprobe"·
Locate 4,4,"[2] X-Wert errechnen"·
Locate 4,5,"[3] Y-Wert errechnen"·
Locate 4,6,"[4] Zeichnen"·
Locate 4,7,"[AC][EXE] zurueck"·
Do·
Getkey‡Z·
LpWhile Z¬72 And Z¬62 And Z¬52 And Z¬73·
If Z=72·
Then ClrText·
"Punktprobe:"·
"X3"?‡P·
"Y3"?‡Q·
P£M+L‡R·
R=Qî"Pkt liegt auf Gerade."»
R¬Qî"Pkt liegt nicht auf Gerade."»
Goto 1·
Else If Z=62·
Then ClrText·
"Y-Wert"?‡A·
(A-L)¤M‡B·
"X-Wert":B»
Goto 1·
Else If Z=52·
Then ClrText·
"X-Wert"?‡B·
M£B+L‡A·
"Y-Wert":A»
Goto 1·
Else If Z=73·
Then ClrText·
CoordOn·
AxesOn·
ViewWindow -6.3,6.3,1,-3.1,3.1,1·
Graph Y=M£X+L»
Goto 1·
IfEnd·
IfEnd·
IfEnd·
IfEnd

Für die korrekte Darstellung dieses Programmcodes auf dem PC ist die Schriftart FA123GRF erforderlich.

Leider wird der Code mit installierter Schriftart bis jetzt nur im Internet Explorer korrekt angezeigt, da die Schriftart vermutlich fehlerhaft ist und deshalb in anderen Browsern nicht funktioniert.