Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Repeat-until schleife


01Detlef - Sa 29.03.03 12:50
Titel: Repeat-until schleife

Quelltext
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:
var
  Form1: TForm1;
  a,x1,x2,x3,y : Extended;
  Tzaehler: Integer;
implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
Tzaehler:=0;
y:= 1;
Repeat
      Tzaehler:=Tzaehler + 1;
      StringGrid1.cells[0,Tzaehler]:= IntToStr(Tzaehler); //Zähler für x-Wert

      a :=  (StrToInt (MaskEdit1.text)); //Zu berechnender Wert wird eingelesen


      x1:= a / y; //Rechnung
      x2:= x1 + y;
      x3:= x2 / 2;

      StringGrid1.cells[1,Tzaehler]:= FloatToStr (x3); //Ausgabe
      y:=x3;

until Tzaehler = 20;

end;


hallo,

was bewirkt diese schleife? was ist stringgrid?


Danke Detlef


AndyB - Sa 29.03.03 14:09
Titel: Re: Repeat-until schleife
01Detlef hat folgendes geschrieben:
was bewirkt diese schleife?

Ausprobieren.

Zitat:
was ist stringgrid?

Da die Deklaration nicht dabei ist tippe ich mal sehr stark auf eine TStringGrid-Komponente.


grayfox - Sa 29.03.03 14:17

hallo detlef!


Quelltext
1:
2:
3:
Repeat 
  -->      Tzaehler:=Tzaehler + 1; 
until Tzaehler = 20;

bewirkt, dass die schleife 20 mal durchlaufen wird (= solange, bis TZaehler 20 ist

ein stringGrid ist ein datengitter - du findest es im reiter 'Zusätzlich'.

Quelltext
1:
StringGrid.Cells[spalte,zeile]:= 'irgendwas'                    

trägt irgendwas in die übergebenen koordinaten des gitters ein
wenn du jetzt zahlen eintragen willst, dann solltest sie vorher in strings umwandeln, denn es heisst ja Stringgrid.

tipp einfach 'StringGrid' in den editor, stell dich mit dem cursor drauf und drück auf die F1 taste - dann erhältst eine erklärung dazu

mfg, stefan


01Detlef - Sa 29.03.03 14:27

hallo,

was bewirkt denn:

Quelltext
1:
2:
3:
      x1:= a / y; //Rechnung 
      x2:= x1 + y; 
      x3:= x2 / 2;


also die prozedur insgesamt, was errechnet man dami?


Danke Detlef


BungeeBug - Sa 29.03.03 14:31

Hi,
also das sollste du jetzt wissen ... ich hab ja (wie die andern auch hier) keine Ahnung was dein Programm mal machen soll ... man kann bestimmt ne ganze Menge lustige Sachen so ausrechnen ...

MfG BungeeBug


grayfox - Sa 29.03.03 17:05

du könntest zb in der zeile

Quelltext
1:
x1:= a / y; //Rechnung                    

einen breakpoint setzen und dir im einzelschrittmodus die inhalte der
einzelnen variablen ansehen.
sehr sinnvoll erscheint mir der algorythmus jedenfalls nicht zu sein ;)

mfg, stefan


01Detlef - So 30.03.03 12:52

hallo,

das ist nicht mein programm, ich habe das bekommen, weil wir bald klausur schreiben und ich krank war!

ich habe jetzt nochmal gefragt und die meinen, des soll das Heron-Verfahren darstellen?!?!?



Danke Detlef


01Detlef - Di 01.04.03 15:10

hi,
kann man dieses Heron-Verfahren auch mit einer for-Schleife machen?


Wäre nett, wenn ihr mir helfen würdet!


Detlef


inselberg - Di 01.04.03 15:21


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
for  Tzaehler:=1 to 20 do 
begin 
  StringGrid1.cells[0,Tzaehler]:= IntToStr(Tzaehler); // Zähler für x-Wert 

   a := (StrToInt (MaskEdit1.text)); //Zu berechnender Wert wird eingelesen 


   x1:= a / y; //Rechnung 
   x2:= x1 + y; 
   x3:= x2 / 2; 

   StringGrid1.cells[1,Tzaehler]:= FloatToStr (x3); // Ausgabe 
   y:=x3; 

end;


aber en bisschen was sollte man schon wissen ..


01Detlef - Di 01.04.03 17:17

hi,

vielen dank, ist ja ganz einfach! bekomme das nur nicht so gut hin, weil ich nicht weiss, was die Rechnung soll, die ergibt keinen Sinn!


Detlef