Ähhhmmm ... also der Code wird so nicht funktionieren. Keiner der Codes.
Erstmal erwartet die Cos-Funktion einen Winkel in
rad, ich lese hier mal raus dass der Winkel in deg eingegeben wird. Zum Anderen ist das Ergebnis des Cosinus eine Zahl zwischen -1 und 1.
Eine Abfrage wie
If (cos(winkel*10)>2700) and (cos(winkel*10)<3600) then
ist also relativ sinnlos.
Wenn der Quadrant und das Vorzeichen des Cosinus ermittelt werden sollen, wäre meine Lösung wie folgt:
Delphi-Quellcode:
uses
Math
var
Winkel: Integer; // In Zehntelgrad, d.h. 904 = 90,4°
begin
Quadrant = Winkel div 4 + 1;
Vorzeichen = Sign(cos(DegToRad(Winkel/10)));
end;
Ja, die Codes werden so nicht funktionieren, weil das nur Code-Ausschnitte sind.
Der Winkel wird in Deg eingegeben, dann aber in
Rad umgewandelt(Ist hier in dem Ausschnitt nicht angegeben und nicht erkennbar, das stimmt). Ja, Cosinus wandert zwischen 1 und -1, korrekt.
Das Problem warum ich das mit IF THEN mache,ist, wir müssen das damit machen.
Klar gibts noch bessere Methoden, wie du sie auch hier vorgestellt hast.