Autor Beitrag
CABALxx
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 174


D7 Ent
BeitragVerfasst: Mi 25.02.04 19:47 
Ich versuche ein Programm zu schreiben, das alle geraden bzw ungeraden Zahlen von 0 - 500 Auflistet.
Ich hatte überlegt wenn man bei 0 anfängt und immer + 2 rechnet und 500 als "Grenze " setzt dann müsste man das ja erreichen.
ich hab mal folgenden versuch gemacht: ( die idee stammt aus einer ähnlichen anwendung mit JAVA )

Sourcecode:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.Button1Click(Sender: TObject); 
var A : integer; 
    b : integer; 
    c : integer; 
begin 
A := 500
b := 2
while b <= a 
do 
C:= b ++ b; // keine ahnung ob dieses rechenverfahren auch bei Delphi so zu triff wie bei JAVA 
Memo1.Text:= IntToStr(C); 

end;


funktioniert aber leider nicht so wies soll
hat vielleicht jemand ne idee?

danke schonmal für die hilfe

Moderiert von user profile iconPeter Lustig: Topic verschoben


Zuletzt bearbeitet von CABALxx am Di 02.03.04 20:57, insgesamt 1-mal bearbeitet
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 25.02.04 19:51 
Hallo!

So, jetzt kann ich Dir wenigstens auch noch helfen.

Also, zum einen hast Du nach dem while-do vergessen, den dazugehörigen Code in "begin" und "end" zu verpacken.
Außerdem würde es mich wundern, wenn der Code so kompiliert, denn den "++"-Operator gibt es in Delphi nicht. Und wozu brauchst Du das c? Eine Variable um 2 zu erhöhen geht am einfachsten durch b := b+2;

MfG
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
CABALxx Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 174


D7 Ent
BeitragVerfasst: Mi 25.02.04 20:03 
big thx
=)

habs
ich poste mal den code falls nochmal jemand das problem hat:


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TForm1.Button1Click(Sender: TObject);
var A : integer;
    b : integer;

begin
A := 500;
b := 2;
while b <= a
do
begin
b := b+ 2 ;
Memo1.Lines.Add(IntToStr(b));
end;
end;
end.



danke danke

bis dann
:D
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 25.02.04 20:13 
Hallo!

Schön, dass ich helfen konnte. :) Einen Ratschlag habe ich noch: Du solltest Deinen Code einrücken. Bei Deinem Code sähe das dann so aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button1Click(Sender: TObject);
var A : integer;
    b : integer;
begin
  A := 500;
  b := 2;
  while b <= a do
  begin
    b := b+ 2 ;
    Memo1.Lines.Add(IntToStr(b));
  end;
end;


Das hat den Vorteil, dass Du und andere viel besser die Struktur des Codes erkennen und solche Fehler wie das Vergessen von "begin" und "end" vermieden werden.

MfG
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
orakel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 92

Win XP

BeitragVerfasst: Do 26.02.04 16:02 
Also ich hätte das so gelöst:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.Button1Click(Sender: TObject); 
var A : integer; 
      b : integer; 
begin 
 A := 500
 for b:= 1 to A do
 begin
  If b mod 2=0 then
   Memo1.Lines.Add(IntToStr(b)); //Geraden Zahlen in Memo1
  else
   Memo2.Lines.Add(IntToStr(b)); //Ungerade in Memo2
 end;
end;


Andi

_________________
Nicht verzagen, orakel fragen!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 26.02.04 16:16 
Er wollte aber nur jeweils gerade oder ungerade Zahlen. Und nicht beides.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".