AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kreisausschnitt berechnen

Offene Frage von "Sir Rufo"
Ein Thema von safak67 · begonnen am 22. Mär 2009 · letzter Beitrag vom 10. Jul 2013
Antwort Antwort
safak67

Registriert seit: 22. Mär 2009
87 Beiträge
 
#1

Kreisausschnitt berechnen

  Alt 22. Mär 2009, 16:10
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:
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.
[edit=mkinzler]Code-Tag durch Delphi-Tag ausgetauscht Mfg, mkinzler[/edit]
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Kreisausschnitt berechnen

  Alt 22. Mär 2009, 16:55
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
  Mit Zitat antworten Zitat
safak67

Registriert seit: 22. Mär 2009
87 Beiträge
 
#3

Re: Kreisausschnitt berechnen

  Alt 22. Mär 2009, 17:18
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
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Kreisausschnitt berechnen

  Alt 22. Mär 2009, 17:32
gib hier mal die Formeln an, die verwendet werden sollen.
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Kreisausschnitt berechnen

  Alt 22. Mär 2009, 17:34
Gib bitte beim nächsten mal den Crosspost an.
Blackheart
  Mit Zitat antworten Zitat
safak67

Registriert seit: 22. Mär 2009
87 Beiträge
 
#6

Re: Kreisausschnitt berechnen

  Alt 22. Mär 2009, 18:12
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..
Angehängte Grafiken
Dateityp: bmp mathe_438.bmp (960,1 KB, 19x aufgerufen)
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Kreisausschnitt berechnen

  Alt 23. Mär 2009, 06:26
Also mindestens die Formel für die Fläche ist schonmal falsch.

MfG
BAMatze
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Kreisausschnitt berechnen

  Alt 23. Mär 2009, 06:57
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
Angehängte Dateien
Dateityp: zip kreisproj_138.zip (214,6 KB, 39x aufgerufen)
  Mit Zitat antworten Zitat
Alitschken

Registriert seit: 8. Jul 2013
1 Beiträge
 
#9

AW: Kreisausschnitt berechnen

  Alt 10. Jul 2013, 09:11
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".....

Geändert von Alitschken (10. Jul 2013 um 09:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Kreisausschnitt berechnen

  Alt 10. Jul 2013, 13:27
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;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz