Free Pascal Programmierung bendet sich nach dem Ausführen?

... komplette Frage anzeigen

2 Antworten

Habe mir mal Deine Formeln angeschaut: Kann es sein, dass Du versuchst aus einer negativen Zahl die Quadratwurzel zu ziehen? Oder dass Du durch Null teilst? Beides würde ich vorher prüfen und abfangen.

Antwort bewerten Vielen Dank für Deine Bewertung

Wie sieht denn die Methode zum Berechnen  mit dem Kosinussatz aus?

LG Willibergi

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Knafan
03.06.2016, 17:20

Hallo Willibergi,

PROCEDURE WinkelCcos;
begin

IF (gamma=0) and (a<>0) and (b<>0) and (c<>0) THEN
gammatemp:=(a^2+b^2-c^2)/2*a*b;

IF (gamma=0) and (gammatemp<>0) THEN
gamma:=arccos(gammatemp);
end;

IF (c=0) and (a<>0) and (b<>0) and (Bogenmassc<>0) THEN
c:=sqrt(a^2+b^2-2*a*b*cos(Bogenmassc));
end;


Das sind die Formeln. Ich weiß... man kann das auch einfacher schreiben (also in einer Bedingung).. aber darum kümmer ich mich später


Knafan

0
Kommentar von Willibergi
03.06.2016, 17:24

Der Fehler müsste in folgender Zeile liegen:

"c:=sqrt(a^2+b^2-2*a*b*cos(Bogenmassc));"

oder in dieser:

"gammatemp:=(a^2+b^2-c^2)/2*a*b;"

Ersetze doch nacheinander beide Zeilen durch etwas einfaches (Ausgabe) und gucke, wann der Fehler verschwindet.

Dann weißt du, in welchem Befehl der Fehler passiert und kannst gezielt mit Konsolenausgaben oder Debugger-Tools nach ihm suchen.

LG Willibergi

1
Kommentar von Willibergi
03.06.2016, 17:49

Gern geschehen! ;)

LG Willibergi

1

Was möchtest Du wissen?