![]() |
Kreisausschnitt berechnen
Also ich soll in Delphi ein Programm schreiben wo ich die fehlende Werte vom Kreisausschnitt berechnen soll..
Ich schreibe mal die Aufgabe rein vllt ist es dann verständlicher... Schreiben Sie ein Programm, welches aus zwei beliebigen Werten die anderen Werte ermittelt und anzeigt. Die Eingabe des Benutzers müssen auf Fehler überprüft werden und wenn nötig mit einer Meldung quittiert werden. Dabei soll es dem Benutzer überlassen bleiben, welche Werte er eingeben will und welche Werte er berechnet haben will. Das Problem ist das ich mich in Delphi garnicht auskenne... Ich hofe ihr könnt ihr helfen.. Iwi hat es auch keine geschafft das zu programmieren.. (Also die die ich kenne) Ich habe auch schon etwas geamcht aber iwi sind da sehr viele Fehler..
Delphi-Quellcode:
[edit=mkinzler]Code-Tag durch Delphi-Tag ausgetauscht Mfg, mkinzler[/edit]
procedure TForm1.Button1Click(Sender: TObject);
type TWert = record IstBelegt: Boolean; Wert: Extended; end; var radius, bogen, sekante, flaeche, winkel: TWert; begin winkel := StrToFloat(edit1.Text); radius := StrToFloat(edit2.Text); bogen := StrToFloat(edit3.Text); sekante := StrToFloat(edit4.Text); flaeche := StrToFloat(edit5.Text); if (RadiusSollVerwendetWerden.Checked) then begin Radius.IstBelegt := True; Radius.Wert := StrToFloat(RadiusEdit1.Text); end if (BogenSollVerwendetWerden.Checked) then begin Bogen.IstBelegt := True; Bogen.Wert := StrToFloat(BogenEdit2.Text); end if (SekanteSollVerwendetWerden.Checked) then begin Sekante.IstBelegt := True; Sekante.Wert := StrToFloat(SekanteEdit3.Text); end if (WinkelSollVerwendetWerden.Checked) then begin Winkel.IstBelegt := True; Winkel.Wert := StrToFloat(WinkelEdit4.Text); end if (FlaecheSollVerwendetWerden.Checked) then begin Flaeche.IstBelegt := True; Flaeche.Wert := StrToFloat(FlaecheEdit5.Text); end if (Radius.IstBelegt AND Winkel.IstBelegt) then begin // Berechne alles andere aus Radius und Winkel end else begin if (Radius.IstBelegt AND flaeche.IstBelegt) then begin // Berechne aus Flächeninhalt und Radius alles weitere end else begin if (Radius.IstBelegt AND bogen.IstBelegt) then begin // Berechne aus bogen und Radius alles weitere end else end; end; end. |
Re: Kreisausschnitt berechnen
Also ich hab mir das mal angesehen und verstehe so auf den ersten Blick nicht, was eine Sekante damit zu tun hat. Denke alle Werte, die du sonst dort hast, kannst du sehr leicht berechnen mit den Formeln aus dem Tafelwerk ( also radius, winkel, Fläche und Bogen) nur die Sekante macht irgendwie keinen Sinn. Wenn du nicht vor hast das ganze mittels eines Koordinatensystems zu parametrisieren und selbst dann gibt es noch eine unendlich große Zahl an möglichen Sekanten.
MfG BAMatze |
Re: Kreisausschnitt berechnen
Bei der Skizze was ich habe ist da auch eine Sekante... Die Formeln sind ja kein Problem das hauptproblem ist das Programm.. Ich weiß nicht wie ich das schreiben soll
|
Re: Kreisausschnitt berechnen
gib hier mal die Formeln an, die verwendet werden sollen.
|
Re: Kreisausschnitt berechnen
Gib bitte beim nächsten mal den
![]() |
Re: Kreisausschnitt berechnen
Liste der Anhänge anzeigen (Anzahl: 1)
Also die Formeln sind:
S = 2r * sin(alpha/2) B = r* pi *(alpha/180) A = pi * r * (alpha/360) S = Sekante B = Bogen A = Fläche alpha = Winkel alpha r = Radius Man muss die Formeln lediglich nur umschreiben.. |
Re: Kreisausschnitt berechnen
Also mindestens die Formel für die Fläche ist schonmal falsch.
MfG BAMatze |
Re: Kreisausschnitt berechnen
Liste der Anhänge anzeigen (Anzahl: 1)
Also habe mich mal hingesetzt und folgendes Programm erstellt. Es ist insoweit funktionstüchtig, dass du jegliche Kombination eingeben kannst, wo der 2 gegebene Wert immer der Radius ist (also es geht z.B. r und Alpha gegeben, r und A gegeben/ was nicht geht ist A und s gegeben, da immer r gegeben sein muss). Hab dir die Exe mal zur Verfügung gestellt, dann kannst du die Funktionalität und Richtigkeit testen.
Alles in allem ist es nicht wirklich schwer dieses Programm zu schreiben. Man muss natürlich erstmal sich hinsetzen und überlegen was habe ich und welcher Punkt muss erreicht werden, damit ich mit angabe der Formeln meine Ergebnisse bekomme. Bei meinem Programm, welches du hier im Anhang findest, wäre es jetzt noch mehrfaches lästiges Copy und Paste mit ein wenig mathematischer Umstellung der Formeln. Also Zeitaufwand um fertig zu werden vieleicht eine Virtel Stunde. MfG BAMatze |
AW: Kreisausschnitt berechnen
kann jemand auch den Quelltext dazu posten?
habe die gleiche aufgabe jedoch kann ich dieses if (RadiusSollVerwendetWerden.Checked) then begin Radius.IstBelegt := True; Radius.Wert := StrToFloat(RadiusEdit1.Text); end nicht nachvollziehen?? er makiert mir das "checked" und "istBelegt"..... |
AW: Kreisausschnitt berechnen
Sowas in der Art?
Delphi-Quellcode:
var
Sekante, Radius, Alpha : Extended; begin // Daten von Form lesen Radius := StrToFloat( Radius_Edit.Text ); Alpha := StrToFloat( Alpha_Edit.Text ); // Berechnung Sekante := 2 * Radius * Sin( Alpha / 2 ); // Ausgabe in Form Sekante_Edit.Text := FloatToStr( Sekante ); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 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