Das Ganze hat für mich den Geschmack von "irgendeinen Tod muss man sterben".
Die Frage ist halt auch, wie genau man es braucht? Und wofür wird es gebraucht?
Für komplexe mathematische Geschichten würde ich auf eine externe Bibliothek setzen.
Ob man wirklich den tan-Wert für bspw. 89.9999° braucht sei mal dahingestellt.
Die Genauigkeit, bis wann man welche Eingangswerte behandelt muss man sich vorher überlegen.
Was für Werte hast du denn? Willst du irgendwas darstellen?
Delphi-Quellcode:
const
FAKTOR = 10000;
procedure Main;
var
I: Integer;
Degree,
Rad, TanResult: Double;
LogMsg:
string;
DegArray: TArray<Integer>;
begin
for I := 89 * FAKTOR
to 90 * FAKTOR
do
begin
Degree := I / FAKTOR;
Rad := DegToRad(Degree);
TanResult := Tan(
Rad);
LogMsg := '
';
if InRange(TanResult, -500000, 500000)
then
begin
LogMsg := Format('
Grad: %2.4f - Tan: %2.4f', [Degree, TanResult]);
end
else
LogMsg := Format('
Ungültige Eingabe für Tan(%2.4f) - Tan: %2.4f', [Degree, TanResult]) ;
if LogMsg <> '
'
then
Writeln(LogMsg);
end;
end;