![]() |
Re: repeat-until schleife
Zeig mal den Code, den du versucht hast.
|
Re: repeat-until schleife
Hi,
da ich Nachhilfe bei mir in der Klasse gebe und wir auch viel mit malen machen, kann ich Dir nur den Tipp geben: Mal es erst auf Papier auf und geh erstmal alles nach und nach im Kopf auf dem Papier durch. Das ist bei den meisten das Problem. Das Umsetzen in Code schaffen sie, aber ohne den theoretischen Bereich, klappt das eben nicht. Deswegen aufmalen. Mit Koordinaten, wenn es mit Platzhalten noch nicht klappt, nimm absolute, feste Koordinaten und wechsle diese dann nach und nach aus in variable. |
Re: repeat-until schleife
naja mir ist glaub ich schon klar wie das malen funktionieren soll.
als code hab ich var i:integer; procedure TForm1.Button2Click(Sender: TObject); begin i:=1; repeat with canvas.Rectangle(0,0,i,i); until i<5; end; |
Re: repeat-until schleife
Warum das with?
Die Abbruchbedingung ist falsch, da i von Anfang an <5 ist. Es fehlt die Inkrementierung der Variable i |
Re: repeat-until schleife
ich find euer forum eigentlich tiptop bloß teilweise sind für einen leihen wie mich einfach zuviele Fachbegriffe dabei bzw. die beiträge sind zu kurz um sie nach zu voll ziehen.Was ist Inkrementierung der Variable i?
|
Re: repeat-until schleife
Inkrementieren bedeutet Erhöhen (ist eig. kein Fachbegriff, mein Lieber :) ).
Du kennst doch eine For-Schleife? Dort wird Deine Zählvariable automatisch erhöht, was aber bei einer Repeat-Until-Schleife nicht passiert. Markus meint z.B. sowas hier:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin i:=1; repeat canvas.Rectangle(0,0,i,i); // Hier das With weg. i := i + 1; // Inkrementieren der Variable until i < 5; end; |
Re: repeat-until schleife
Hallo,
Delphi-Quellcode:
Du musst i doch verändern damit die Austrittsbedingung jemals erfüllt wird oder?
procedure TForm1.Button2Click(Sender: TObject);
begin i:=1; repeat with canvas.Rectangle(0,0,i,i); until i<5; end;
Delphi-Quellcode:
Nochwas: Auch wenn ich mich damit wieder einmal unbeliebt mache.
procedure TForm1.Button2Click(Sender: TObject);
begin i:=1; repeat canvas.Rectangle(0,0,i,i); inc(i); // oder i:=i+1 zum Verständnis. Ist aber das Gleiche. until i>5; // hier war ein Fehler. Schleife wurde nur einmal durchlaufen. end; Das sind solche absolute Grundlagen, dass ich dir empfehlen würde ein Buch zu kaufen oder in der Schule (wenns der Lehrer besser kann) besser aufzupassen. (PS: Wir sind keine Hausaufgabenerledigungsmaschine für faule Schüler ) Grüsse Rainer |
Re: repeat-until schleife
Zitat:
![]() |
Re: repeat-until schleife
Cool mein Programm funktioniert schon mal. :-D Ich versteh schon das ihr kein Bock habt für irgendwelche Schüler Hausaufgaben zu machen. Ich hab aber wirklich ewig gesessen und unser Lehrbuch durchgelesen ohne einen guten Hinweis zu erkennen!! Unser Lerhrer ist in der Beziehung ein bisschen seltsam und kann uns bei unseren Problemen meist auch nicht weiter helfen. Ich hab z.b. letztens ein einfaches Programm geschrieben zur Eintrittspreis berechnung(funktionierte einwandfrei) und unser Lehrer wollte darin unbedingt ein Fehler finden hatt das programm extra ne Woche mitgenommen und trotzdem nix gefunden. :wall:
nochmal zur schleife zurück, das funktioniert zwar und es entsteht auch ein rechteck aber kann man das auch so programmieren, dass mehrere Rechtecke gezeichnet werden bis die Abbruchbedingung erfüllt ist? danke! |
Re: repeat-until schleife
Hallo,
es werden wahrscheinlich mehrere Rechtecke gemalt, nur sie werden übereinander gemalt. Du kannst die Position des Rechtecks mit der Laufvariablen i verschieben.
Delphi-Quellcode:
Grüße
canvas.Rectangle(0,0,i*2,i*3);
Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 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