Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Brauche Hilfe Rechenprogramm mit while schleife (https://www.delphipraxis.net/143979-brauche-hilfe-rechenprogramm-mit-while-schleife.html)

Epytir 27. Nov 2009 11:17

Re: Brauche Hilfe in Delphi
 
nach 3 Stunden nachdenken danke leute der tip mit denn bezeichner besser machen hat mir die übersicht gebracht XD

Epytir 27. Nov 2009 11:19

Re: Brauche Hilfe in Delphi
 
aber wenn ich die rechnung unsres lehrer eintippe also eingabe 10 endbedingund 10e2 gibts wieder ne schleife was heißt den 10e2 is die zahl soo hoch

Uwe Raabe 27. Nov 2009 11:31

Re: Brauche Hilfe in Delphi
 
Entweder ist deine Aufgabenstellung falsch oder dein Code. Die Folge konvergiert so ungefähr gegen 10.

Zitat:

erster durchgang z.B. 10+0/1
zweiter 10+10/2
dritter 10+15/3
1: 10 + 0/1 = 10
2: 10 + 10/2 = 15
3: 10 + 15/3 = 15
4: 10 + 15/4 = 13,75
5: 10 + 13,75/5 = 12,75
6: 10 + 12,75/6 = 12,125
...

Kann es sein, daß die Endbedingung vielmehr die Anzahl der Iterationen angibt? Dann würde man das nämlich besser in einer for-Schleife lösen.

(Code nicht getestet! Meine Frau ruft zum Essen...)

Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
var    
  Eingabe: Real;
  Ergebnis: Real;
  Zaehler: Integer;
  Endbedingung: Integer;
begin
  Eingabe := StrToFloat(edt1.Text);
  Endbedingung := StrToInt(edt2.Text);
  Ergebnis := 0;
  for zaehler := 1 to Endbedingung do begin
    Ergebnis := Eingabe + (Ergebnis/Zaehler);
    mem1.Lines.Add(InttoStr(Zaehler) +'       '+ Floattostr(Ergebnis));
  end;
end;

messie 27. Nov 2009 12:39

Re: Brauche Hilfe in Delphi
 
Zitat:

Zitat von Uwe Raabe
(Code nicht getestet! Meine Frau ruft zum Essen...)

rofl

Das schreibe ich ab jetzt in die About-Fenster aller Projekte... :mrgreen:

@Epytir: Du kannst den Titel ändern, indem Du oben an Deinem ersten Beitrag auf den edit-Knopf drückst. Der Titel lässt sich IMHO nur in den ersten 24h ändern.

Grüße, Messie

Mithrandir 27. Nov 2009 12:45

Re: Brauche Hilfe in Delphi
 
Doppel- und gar Dreifachpostings ( da, da, da) gehen schonmal gar nicht. :roll:

Und ändere bitte endlich den Threadtitel in einen Sinnvolleren. (Geht mit dem http://www.delphipraxis.net/template.../icon_edit.gif-Button neben deinem ersten Post.)

Dennoch: Willkommen in der :dp: :hi:

Epytir 27. Nov 2009 12:52

Re: Brauche Hilfe Rechenprogramm mit while schleife
 
so habs ja geändert wir müssen die while schleife benutzen und ich hab das jetzt so gelöst:
Delphi-Quellcode:
while Ergebnis<Endbedingung do begin

        Zaehler := Zaehler+1 ;
           Ergebnis :=Ergebnis+(Eingabe/1/Zaehler) ;
               mem1.Lines.Add(FloattoStr(Zaehler) +'       '+ Floattostr(Ergebnis));
aber wenn ich für Endbedingung 10e2 eingebe gibt das ne riesen schleife und ich soll das aber so wegen schule machen aber vielleicht hat ja auch mein lehrer nen fehler gemacht aber jetzt geht das im prinzip schonma was heißt denn 10e2 wenn das 1000 heißt dann hat unser lehrer nen fehler gemacht :wall: danke ihr könntet mir vielleict noch sagen ob 10e2 virklich 1000 heißt ansonnste danke

messie 27. Nov 2009 13:04

Re: Brauche Hilfe Rechenprogramm mit while schleife
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(FloatToStr(10E2));
end;
:-D

Uwe Raabe 27. Nov 2009 13:06

Re: Brauche Hilfe Rechenprogramm mit while schleife
 
Was soll das denn? Ist zwar mathematisch korrekt, aber programmiertechnisch Unsinn.

Delphi-Quellcode:
 Ergebnis :=Ergebnis+(Eingabe/1/Zaehler) ;
Und kannst du mal prüfen, ob die Folge, die ich manuell ausgerechnet habe, so richtig ist? Ansonsten solltest du die Aufgabestellung nochmal exakt formulieren.

ToFaceTeKilla 27. Nov 2009 13:17

Re: Brauche Hilfe Rechenprogramm mit while schleife
 
Frag bitte erst mal deinen Lehrer was 10e2 heißen soll.
Wie ich das sehe, könnte das e stehen für:
  • die Eulersche Zahl
  • den Ausdruck 10^2 (auf Taschenrechnern als 10EE2 geschrieben)

Epytir 27. Nov 2009 13:18

Re: Brauche Hilfe Rechenprogramm mit while schleife
 
So das Programm is fertig und funktioniert so wies soll tread kann geschlossen werden danke an alle
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
 edt1.Text    := '' ;
 edt2.Text    := '' ;
 mem1.Text    := '' ;
 mem1.ReadOnly := true ;
 btn1.Caption := 'Start';
end;

procedure TForm1.btn1Click(Sender: TObject);
 var    Endbedingung,
         Eingabe,
         Ergebnis,
         Zaehler    :Real ;
begin
      try
        Eingabe := StrToInt(edt1.Text);
        Endbedingung := StrToFloat(edt2.Text);
      except
        MessageDlg('Fehlerhafte Eingabe',mtError,[mbOK],0);
      Exit;
end;
        Zaehler := 0 ;
        Ergebnis := 0 ;

while Ergebnis<Endbedingung do begin

        Zaehler := Zaehler+1 ;
           Ergebnis :=Ergebnis+(Eingabe/1/Zaehler) ;
               mem1.Lines.Add(FloattoStr(Zaehler) +'       '+ Floattostr(Ergebnis));

end;

end;

end.
Und wer nochma die Aufgabe haben will das Program soll
Eingabe z.B.10
Endbedingung 100


dann soll er solange rechnen bis Eingabe 100 ist

also
1.Ergebnis = Ergebnis+10/1/1
2.10 = 10+10/1/2
3.15 = 15+10/1/3
und so weiter soll der rechnen eben bis 100


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:54 Uhr.
Seite 2 von 3     12 3      

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