Delphi For - Schleife ?

Hallo Leute,

ich lerne gerade bisschen Delphi und bin jetzt bei einer Aufgabe gelandet, bei der ich überhaupt nicht zurecht komme

Ein Ball fällt aus einer Höhe h auf den Boden. Nach seinem Aufprall erreicht er noch 65% seiner ursprünglichen Höhe.

Aufgabe:

Erstellen Sie ein Programm, welches nach Eingabe der Höhe
(in cm) die jeweils erreichten Höhen nach jedem der ersten 5 Aufpralle in Tabellenform ausgibt

Ich glaub das hat irgendwas mit der For - Schleife zu tun oder mit der Wiederholungsanweisung oder so… bitte brauch Hilfe keine Ahnung wie das gehen soll.

Vielleicht kann das ja ein IT-Profi mal programmiere und mir das erklären … das wäre echt toll

Bitte

http://lmgtfy.com/?q=delphi+for+loop

zunächst die Mathematik:
wenn nach dem Aufprall nur noch 65% der letzten Höhe erreicht werden, gilt:
neue Höhe = alte Höhe*0.65

nun die Programmierung:
einfach gesagt, muss diese Berechnung mindestens fünf Mal ausgeführt und die Variablenwerte entsprechend getauscht werden

H:=100 {nur als Beispiel…}
for i:=1 to 5 do
begin
H1:=H*0.65;
write(H1);
H:=H1;
end;

wenn man sich das Codefragment genauer anschaut, sollte man erkennen, dass die jeweilige Höhe auch direkt berechnet werden könnte… (geometrische Zahlenfolgen)

Viel Spaß weiterhin beim Lösen der Aufgabe

Moin,

ja, der Gedanke mit der for-Schleife ist schon gut.
Da ich dir allerdings nicht das komplette Programm schreiben werde, geb ich dir ein paar Tipps.
die for schleife sieht so aus:

for i := 1 to 5 do
begin
// hier kommen dann deine Befehle zur Berechnung und Ausgabe rein
end;

Aber ehrlich gesagt, hätte dir Google da auch helfen können…

Die Befehle sehen dann in etwa so aus:
h := 0.65*h; // die Höhe wird ja bei jedem Aufprall geringer
Die Augabe kommt natürlich auch bei jedem Durchlauf in die Schleife mit rein.
Wenn du die Ergebnisse bspw in nem Memo ausgeben willst, benutzt du zb memo1[i-1]. die -1 müssen rein, wenn du die for-Schleife mit 1 beginnst, da MemoLinien immer mit 0 anfangen. (Kannst natürlich auch die Schleife von 0-4 laufen lassen…

So, ich hoffe, das hilft dir jetzt erstmal…

lg

Hallo Antitofu,

for i := 1 to 5 do
begin
// hier Dein Code
end;

Aber das hättest Du auch googlen können.
Deine Hausaufgaben solltest Du selber machen.

Schreibe den Code in Metasprache und schick ihn mir, mit dem Delphi helfe ich Dir dan weiter

Hi Antitofu,
wass sollen die Anfragen. Kannst du deine Schularbeiten nicht selbst machen ??
Ich glaube kaum, dass du mit dem Quellcode was anfangen kannst.

unit Fallhoehen;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit2: TEdit;
Label4: TLabel;
Label5: TLabel;
Button1: TButton;
Memo1: TMemo;

procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject); // START - Button
var
anz : array [1…100] of Integer;
h , d : String ;
i, hoehe, durchm, nr , hoch : Integer;
const n : Integer = 100 ;

begin
h := Form1.Edit1.text;// Fallhöhe
hoehe := StrToInt (h);

d := Form1.Edit2.text; // Balldurchmesser
durchm := StrToInt(d);
hoehe := hoehe * 100; // Umrechnung Meter in cm
anz[1]:= hoehe;
form1.Memo1.Lines[0] := ‚Anzahl der Fallhoehen‘;

for i := 2 to n do begin
anz[i] := trunc(anz[i-1] * 0.65);
nr := i-1;
hoch := anz[i];
if hoch

Eine mathematische Formel aufstellen. 5-mal mit unterschiedlichen Werten, die den Variablen zugewiesen werden (for-Schleife 1-5) durchlaufen. Dabei kann gleichzeitig die Tabelle auf gebaut werden.