![]() |
Erstellen einer Tabelle mit Sinus- und Cosinus Werten
Hallo Leute,
ich habe mal wieder eine Frage ... wir haben eine neue Projektaufgabe bekommen, in der es um die Programmierung einer mathematischen Berechnung von Sinus und Cosinus Werten geht. Dabei soll zu Programmstart eine Tabelle geschrieben und in dem Programmordner abgelegt werden. In dieser Tabelle sollen alle Cos und Sin Werte von 0° bis 90° in 1/10° Schritten aufgeführt sein. Auf dem Formular sollen dann nur ein Editfeld, ein Button und zwei Labels liegen. In dem Editfeld wird eine Gradzahl eingegeben. Bei Klick auf dem Button, soll laut Aufgabenstellung folgendes geschehen: 1. das Maskeditfeld den Winkel in Grad übernehmen 2. der Winkel wird in Rad umgewandelt 3. der Quadrant aus den Grenzwinkeln soll bestimmt werden 4. für den Quadranten soll der Index und das Vorzeichen (integer) für sin und cos in einer case Anweisung festgelegt werden 5. per Zugriff auf das Array soll der Funktionswert ermittelt werden 6. die Werte sollen in einem Labelfeld ausgegeben werden. So, und da komme ich etwas ins straucheln :-/ Zunächst, gibt es einen Befehl, der den Winkel in Rad umwandelt? Oder muss das mit Hilfe einer Formel gelöst werden. Ist ja nicht so schwierig, aber wenn ich mir das Tippen der Formel mit einem einfachen Befehl ersparen kann, ist das ja schonmal was ... Zu dem Index und den Vorzeichen stand hier auch noch etwas, dass dazu Tabellen geschrieben werden sollen, um das ganze nicht zu Zeitaufwändig zu machen :shock: Aber wie schreibe ich denn, dass sich gleich bei Programm start diese Tabelle erstellt? Und wie, dass das Programm darauf zugreift und die Werte abgreift??? Ich bin da irgendwie ein wenig überfordert :-( Kann mir da jemand helfen??? Gruß Hamptoncourt |
AW: Erstellen einer Tabelle mit Sinus- und Cosinus Werten
![]() ![]() oder selber machen: alpha(Grad)/alpha(Bogen) = 360/2 PI = 180/PI |
AW: Erstellen einer Tabelle mit Sinus- und Cosinus Werten
Hey, danke erstmal für den Tipp ....
Aber wie geht denn das jetzt eigentlich mit der Tabelle??? Bin da echt ein wenig verzweifelt ... Unser Prof erklärt mal wieder nix und will, dass wir das alles aus dem Kopf können. Kann mir da jemand nen Tipp geben oder nen Lösungsvorschlag??? Dass er ne Tabelle erstellt, die Zeilen und Spalten füllt, und dass er dann später wieder darauf zugreift um den Wert abzulesen ... |
AW: Erstellen einer Tabelle mit Sinus- und Cosinus Werten
0 bis 90 Grad in 0,1 Grad Schritten - das sind dann wohl 901 Einzelwerte, oder?
Delphi-Quellcode:
type
TSinCosTabelle = array[0..900] of double; var SinusTabelle : TSinCosTabelle; CosinusTabelle : TSinCosTabelle; for i := 0 to 900 do begin SinusTabelle[i] := Sin( ???); CosinusTabelle[i] := Cos( ??? ); end; |
AW: Erstellen einer Tabelle mit Sinus- und Cosinus Werten
hey cool, danke ... allerdings hab ich noch ein Problem mit bem Speichern des Array ... Muss ich da nicht einfach SaveArray setzen??? Ich hab das so versucht, wie es bei "Delphi Treff" stand. Aber der sagt mir, das Identifier not foun "SaveArray" .... hä??? Im FAQ stand da aber nix, das ich das vorher festlegen muss. Oder ist das ein Unterschied zwischen Delphi und Lazarus??? In der Uni muss ich mit Delphi programmieren, zuhause mach ich das aber mit Lazarus ...
|
AW: Erstellen einer Tabelle mit Sinus- und Cosinus Werten
Müsste wohl heissen (ungeprüft):
Delphi-Quellcode:
for i := 0 to 900 do
begin SinusTabelle[i] := DegToRad(Sin( 0.1*i)); CosinusTabelle[i] := DegToRad(Cos( 0.1*i )); end; |
AW: Erstellen einer Tabelle mit Sinus- und Cosinus Werten
Ja, soweit hab ich das mit der Berechnung auch ... aber er soll es ja als externe Datei speichern ... z.B. als test.dat .... Wenn ich aber SafeArray benutze, sagt er mir, dass er die nicht kennt. Muss ich dann erst als Variable "SafeArray : TSafeArray" Festlegen??? Aber als was leg ich dann den Typ TSafeArray fest??? Oder mache ich das grad total falsch ... ??? Ich bin verwirrt *lol*
type TSinCosTabelle = array[0..900] of double; TArrayData = array of string[20]; var ArrayData: TArrayData; SinusTabelle : TSinCosTabelle; CosinusTabelle : TSinCosTabelle; i : Integer; for i := 0 to 900 do begin SinusTabelle[i] := DegToRad(Sin( 0.1 * i)); CosinusTabelle[i] := DegToRad(Cos( 0.1 * i )); end; SaveArray(ExtractFilePath(Application.ExeName) + 'test.dat', ArrayData); end; |
AW: Erstellen einer Tabelle mit Sinus- und Cosinus Werten
Du könntest das Array z.B. in einer typisierten Datei speichern (file of Datentyp). BTW:
![]() |
AW: Erstellen einer Tabelle mit Sinus- und Cosinus Werten
typisierte Datei??? Verstehe grad nicht, wie das funktioniert??? Kann mir vielleicht jemand nen Quellcode dazu schicken, wie das bei mir aussehen müsste???
|
AW: Erstellen einer Tabelle mit Sinus- und Cosinus Werten
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz