![]() |
Brauche Hilfe Rechenprogramm mit while schleife
Hi Leute ich muss für die Schule ein Programm programmieren das eine zahl x+z/y rechnet also
erster durchgang z.B. 10+0/1 zweiter 10+10/2 dritter 10+15/3 ... aber bei mir wird die tahl immer kleiner und die schleife endet nie hier is mein Quelltext:
Delphi-Quellcode:
so hoffe ich ihr könnt mir helfen
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) btn1: TButton; edt1: TEdit; edt2: TEdit; mem1: TMemo; procedure FormCreate(Sender: TObject); procedure btn1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} 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 Eingabe := StrToInt(edt1.Text); Endbedingung := StrToFloat(edt2.Text); Zaehler := 0 ; while Ergebnis<Endbedingung do begin Zaehler := Zaehler+1 ; Ergebnis :=Eingabe+(Ergebnis/Zaehler) ; mem1.Lines.Add(FloattoStr(Zaehler) +' '+ Floattostr(Ergebnis)); end; end; end. |
Re: Brauche Hilfe in Delphi
Autsch, das tut weh. Gleich der erste Beitrag, der potenzielle Helfer abschreckt.
Falsches Unterforum: Es handelt sich nicht um ein Projekt. Das hättest du erkennen können, wenn du den obersten Beitrag ![]() Titel: So gut wie jeder, der hier etwas fragt, braucht Hilfe in Delphi. Deine Überschrift sagt also gar nichts aus. Code: Der ist als solcher zu formatieren; so ist er unlesbar. Dafür gibt es den Button "Delphi-Code". Also bitte nochmals von vorn: Deinen ersten Beitrag nochmals bearbeiten, Überschrift und Code ändern, abspeichern. Außerdem einen Moderator bitten um Verschiebung. Jürgen |
Re: Brauche Hilfe in Delphi
Hallo und Herzlich Willkommen in der DP. :dp:
Hilfe in Delphi brauchen hier alle. Ich möchte Dich daher bitten, den Titel Deiner Frage zu ändern und zwar so, dass sie den INhalt Deiner Frage darstellt. Dann packst Du den Quelltext bitte noch in [ delphi ] Code... [ /delphi ] - Tags (ohne die Leerzeichen). Dann ist das um längen Lesbarer. Um das zu tun klickst Du einfach rechts oben neben Deinem Beitrag auf 'Edit'. Vielen Dank. |
DP-Maintenance
Dieses Thema wurde von "Phoenix" von "Projekte" nach "Sonstige Fragen zu Delphi" verschoben.
Ist kein Projekt, sondern eine allgemeine Delphi-Frage. |
Re: Brauche Hilfe in Delphi
Hallo und Willkommen in der DP :dp:,
aus dem Quelltext werde ich anhand der Bezeichner nicht schlau, aber wenn ich mir Dein Beispiel anschaue, komme ich auf folgende Überlegung: es gibt einen fixen Teil (im Beispiel 10), einen Zähler(vorheriges Berechnungsergebnis) und einen Nenner(wird hochgezählt). Damit komme ich auch diese Logik (Pseudocode):
Code:
Versuch es mal auf diesem Wege.
Zähler = 0
Nenner = 1 Fix = 10 Solange Bedingung (welche eigentlich?) Zähler = Fix + Zähler/Nenner Nenner = Nenner + 1 |
Re: Brauche Hilfe in Delphi
So hab ich XD bin anfänger ich mach fachoberschuleund bin noch net so gut
|
Re: Brauche Hilfe in Delphi
Setz u Ergebnis mal vor der Schleife auf 0.
|
Re: Brauche Hilfe in Delphi
Das bringt auch nichts ich komm immernoch in eine Unendlich Schleife und dabei hab ich für die die Eingabe 10 und Aufhörbedingung 15 unser lehrer sagte die aufhörbedingung soll 10e2 sein
|
Re: Brauche Hilfe in Delphi
Hi,
nimm Dir mal ein Blatt Papier und einen Stift und schreib Dir mal auf, welche Zahlen Du erwartest zu sehen, wenn Du mit 10 als Eingabe und 20 als Endbedingung losrechnest! Uli |
Re: Brauche Hilfe in Delphi
hmm jetzt hab ich was umgeschrieben und jetzt kommt das raus :
1 10 2 15 3 18,3333333333333 4 20,8333333333333 es funzt |
Re: Brauche Hilfe in Delphi
nach 3 Stunden nachdenken danke leute der tip mit denn bezeichner besser machen hat mir die übersicht gebracht XD
|
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
|
Re: Brauche Hilfe in Delphi
Entweder ist deine Aufgabenstellung falsch oder dein Code. Die Folge konvergiert so ungefähr gegen 10.
Zitat:
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; |
Re: Brauche Hilfe in Delphi
Zitat:
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 |
Re: Brauche Hilfe in Delphi
Doppel- und gar Dreifachpostings (
![]() ![]() ![]() 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: |
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:
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
while Ergebnis<Endbedingung do begin
Zaehler := Zaehler+1 ; Ergebnis :=Ergebnis+(Eingabe/1/Zaehler) ; mem1.Lines.Add(FloattoStr(Zaehler) +' '+ Floattostr(Ergebnis)); |
Re: Brauche Hilfe Rechenprogramm mit while schleife
Delphi-Quellcode:
:-D
procedure TForm1.Button1Click(Sender: TObject);
begin ShowMessage(FloatToStr(10E2)); end; |
Re: Brauche Hilfe Rechenprogramm mit while schleife
Was soll das denn? Ist zwar mathematisch korrekt, aber programmiertechnisch Unsinn.
Delphi-Quellcode:
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.
Ergebnis :=Ergebnis+(Eingabe/1/Zaehler) ;
|
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:
|
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:
Und wer nochma die Aufgabe haben will das Program soll
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. 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 |
Re: Brauche Hilfe in Delphi
Zitat:
Bitte, versuche es mal mit ganzen und vollständigen Sätzen mit eindeutigen Wörtern! Dieses Gestammel ist eine Zumutung! Wer einem Forum so entgegentritt, bei dem verspüre ich kein Bedürfnis zu helfen. Ich kann mir trotz aller PISA-Degeneration des hiesigen Bildungssystems nicht vorstellen, daß man mit diesen Sprachkenntnissen die Fachoberschule schafft. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:49 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