![]() |
Winkelumrechnung
Hallo Leute,
Falls das der falsche Bereich ist tut es mir leid und dann bitte verschieben! Ich muss über die Ferien eine Hausarbeit machen und das Thema lautet Winkelumrechnung! Die Aufgabe lautet so: Die Größe eines Winkels ist in Grad, Minuten und Sekunden einzulesen (1 Grad= 60 Minuten, 1 Minute = 60 Sekunden). Entwickeln Sie einen Alogrithmus und ein Programm, das das Bogenmaß des Winkels berechnet und ausgibt. Unter Bogenmaß versteht man die Länge des Kreisbogens des Einheitskreises. Es gilt die Formel: b= a*pi / 180° Sie werden diesen Algorithmus häufig benötigen, weil die üblichen trigonometrischen Standardfunktionen bei den meisten Rechnern nur Winkel im Bogenmaß als Argument zulassen! Ich bin nun soweit und weiß einfach nicht weiter:
Delphi-Quellcode:
Ich hoffe ihr könnt mir helfen!
unit UWinkelumrechnung;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TWinkelumrechnung = class(TForm) EdtWinkel: TEdit; EdtMinuten: TEdit; EdtSekunden: TEdit; LblGrad: TLabel; LblMinuten: TLabel; LblSekunden: TLabel; BtRechnen: TButton; BtEnde: TButton; LblBgleich: TLabel; LblErgebnis: TLabel; LblAusgabe: TLabel; procedure BtRechnenClick(Sender: TObject); procedure BtEndeClick(Sender: TObject); private { Private-Deklarationen} public { Public-Deklarationen} end; var Winkelumrechnung: TWinkelumrechnung; Zahl1, Zahl2, Zahl3, Zahl4 : INTEGER; ausgabe, Ergebnis : REAL; implementation {$R *.DFM} procedure TWinkelumrechnung.BtRechnenClick(Sender: TObject); begin Zahl1 := strtoint (EdtWinkel.text); Zahl2 := strtoint (EdtMinuten.text); Zahl3 := strtoint (EdtSekunden.text); Zahl4 := strtoint (LblAusgabe.caption); Zahl4 := Zahl1 + Zahl2/60 + Zahl3/3600; end; procedure TWinkelumrechnung.BtEndeClick(Sender: TObject); begin close end; end. Danke im Vorraus Yinnik94 |
Re: Winkelumrechnung
|
Re: Winkelumrechnung
Also soll ich Zahl1 und so weiter auch als Real deklarieren?
Danke schonmal für deine Hilfe! |
Re: Winkelumrechnung
ja, ganze Zahlen machen im Bogenmaß nicht viel Sinn
|
Re: Winkelumrechnung
HI,
mal auf die schnelle: Datenbanken (aktuelle Rubrik): Schwachsinn dann:
Delphi-Quellcode:
Du scheinst dir nicht sehr schlüssig zu sein, was du genau jetzt willst.
Zahl4 := strtoint (LblAusgabe.caption);
Zahl4 := Zahl1 + Zahl2/60 + Zahl3/3600; Dann bekommst du dein Bogenmaß über deine Formel (PI ist als Konstante/etc. in der Unit Math definiert) oder auch über DegToRad (Unit Math, macht das gleiche). Zu Sinus, Cosinus und Tangens: Diese können über die Windows-Funktionen SIN, COS und TAN ermittelt werden. Achtung TAN(90) hat kein Ergebnis! Bernhard PS: Soweit sieht's ja gut aus. |
Re: Winkelumrechnung
Nicht nur tan(90) macht Ärger, sondern auch andere Werte von alpha=0+n*90 Grad.
Schaut Euch 'mal die Graphen an: ![]() Gruß Wolfgang |
Re: Winkelumrechnung
Nun kommt Folgene Fehlermeldung:
'' ist kein gültiger Gleitkommawert Bin nun soweit:
Delphi-Quellcode:
Brauche dringend Hilfe:)
Zahl1 := strtofloat (EdtWinkel.text);
Zahl2 := strtofloat (EdtMinuten.text); Zahl3 := strtofloat (EdtSekunden.text); Ergebnis := strtofloat (LblErgebnis.caption); ausgabe := Zahl1 + Zahl2/60 + Zahl3/3600; Ergebnis := ausgabe*Pi/180 ; LblErgebnis.caption := 'Ergebnis' |
Re: Winkelumrechnung
Wenn in den Edits nichts eingetragen wurde, wird versucht eine leere Zeichenkette ('') in eine Zahl zu konvertieren. Das geht natürlich nicht.
Nur am Rande: Gewöhne dir das Leerzeichen zwischen Funktionsnamen und der öffnenden Klammer vor den Parametern ab ;). Das würde man als Stilbruch ansehen, und verschlechtert die allgemeine Leserlichkeit des Codes. |
Re: Winkelumrechnung
... außerdem mußt du Ergebnis erst ausrechnen lassen, bevor du es ausgeben läßt
Das Zauberwort heißt E V A erst Eingabe. dann Verarbeitung, dann Ausgabe Gruß Wolfgang |
Re: Winkelumrechnung
Und was hat das ganze jetzt mit Datenbanken zu tun? Also dass die Frage nicht in die Datenbanksparte gehört, sollte man eigentlich merken. :?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:17 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 by Thomas Breitkreuz