Autor |
Beitrag |
Binchen1987
Hält's aus hier
Beiträge: 13
|
Verfasst: Mi 16.01.08 20:01
Habe folgenden Quelltext zur Berechnung von sin(x) aber es kommt der Fehler, dass y nicht initialiert wurde... was muss ich ändern?
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| procedure TForm1.Button2Click(Sender: TObject); var x,G,y,nenn:real; k,i:integer; const epsilon=0.0005; begin x:=StrToFloat(Edit1.Text); If (x>=1.0) and (x<=1.5) then begin y:=0; G:=x; k:=1; repeat y:=y+G; nenn:=1; k:=k+2; for i:=2 to k do begin nenn:=nenn*1; G:=(-1*G*x*x)/nenn; end;
until abs (G) < epsilon; end; Edit2.text:= FloatToStr(y); end;
procedure TForm1.Button3Click(Sender: TObject); begin edit1.clear; edit2.clear; end;
end. |
Und habt ihr eine Idee für ein Unterprogramm eines Programms welches die Unternehem von vielen ermittelt, die einen Umsatz unter 1000€ errichen?
Vielen Dank für eure Hilfe!!!
LG
Moderiert von Gausi: Delphi-Tags hinzugefügt
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Mi 16.01.08 20:08
Hallo und  im Delphi-Forum, Binchen1987!
Wo genau tritt denn der Fehler auf? Kannst du uns vielleicht die Zeilennumer nennen?
Und warum codest du den Sinus neu, den gibt es doch schon mit Delphi mitgeliefert !?
Grüße,
Yogu
|
|
Gausi
      
Beiträge: 8549
Erhaltene Danke: 478
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mi 16.01.08 20:11
Auch von mir ein
Das ist ja kein Fehler, sondern nur eine Warnung, oder? Der tritt auf, weil du y nur einen Wert zuweist, wenn die obere Bedingung erfüllt ist, hinterher aber auf jeden Fall darauf zugreifst. Wenn die Bedingung nun nicht erfüllt wurde, ist y nicht definiert, sonder enthält irgendeinen Fantasiewert, der dann zu einer unsinnigen Anzeige führt. Daher die Warnung.
_________________ We are, we were and will not be.
|
|
Mitmischer 1703
      
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Mi 16.01.08 20:56
Yogu hat folgendes geschrieben: |
Und warum codest du den Sinus neu, den gibt es doch schon mit Delphi mitgeliefert !?
|
Auch meinerseits ein
Sinus ist in der Unit Math unter sin, Cosinus unter cos definiert, für beide zusammen ist sincos schneller
_________________ Die Lösung ist nicht siebzehn.
|
|
Binchen1987 
Hält's aus hier
Beiträge: 13
|
Verfasst: Mi 16.01.08 21:21
Stimmt, ist eine Warnung. Programm wird trotzdem gestartet. Aber es läuft nicht richtig. Es wird immer bei jeder beliebigen Eingabe derselbe Wert ausgegeben.
Muss es so für die Uni programmieren, daher kann ich den feritigen Programmen bedienen sondern muss alleine ran;)
|
|
nagel
      
Beiträge: 708
Win7, Ubuntu 10.10
|
Verfasst: Mi 16.01.08 21:27
Hab jetzt nicht ganz verstanden was du da machst, aber ich vermute mal, dass der/ein Fehler in Zeile 18 liegt:
Delphi-Quelltext
Oder hat das irgendeinen Sinn?
|
|
Binchen1987 
Hält's aus hier
Beiträge: 13
|
Verfasst: Mi 16.01.08 21:37
Nee, das stimmt schon, war so im Struktogramm vorgegeben
|
|
nagel
      
Beiträge: 708
Win7, Ubuntu 10.10
|
Verfasst: Mi 16.01.08 21:40
Bist du dir da sicher? Was soll das bringen, bei jedem Schleifendurchlauf mit 1 zu multiplizieren?
Ich vermute eher, dass das ein i sein sollte.
|
|
Binchen1987 
Hält's aus hier
Beiträge: 13
|
Verfasst: Mi 16.01.08 21:47
Juhu danke;)))) es funktioniert hab mich wirklich verschrieben;) Hab nochmal aufs Struktogramm geschaut;)Dankeschön
|
|