Debutant, la boulce FOR/DO [T. PASCAL] - Delphi/Pascal - Programmation
Marsh Posté le 28-10-2002 à 15:57:44
quand tu fais "for i := 0 to Bidule do", ça ne sera à rien d'assigner une valeur à i avant le for (genre initialiser i à 0) et tu ne doit pas essayer de récupérer la valeur de i après le end du for, à moins de le réassigner toi-même
donc:
i := 0;
for i := 0 to Bidule do
begin
des_trucs;
end;
Writeln(i);
le i := 0 est inutile, et le Writeln est "dangereux" (résultat hasardeux)
Marsh Posté le 28-10-2002 à 16:58:05
mais alors quelle est l'interet si le resultat est hasardeux ??
Marsh Posté le 28-10-2002 à 17:00:54
wathou a écrit a écrit : mais alors quelle est l'interet si le resultat est hasardeux ?? |
ben l'interet c d'effectuer un traitement en boucle
Marsh Posté le 28-10-2002 à 17:15:58
bhen un for est plus rapide qu'un while, mais en contrepartie tu ne peux pas récupérer la valeur de la variable en fin de boucle
y a un topic là dessus :
http://forum.hardware.fr/forum2.php3?post=27605&cat=10
Marsh Posté le 28-10-2002 à 18:01:22
La boucle "for ... to ... do" sert à répéter une suite d'instructions un nombre de fois connu à l'avance. De plus, à l'intérieur de la boucle, tu peux savoir "où tu en es" de ta boucle, grâce à l'indice de boucle.
Exemple : afficher tous les entiers entre 1 et 200 :
Code :
|
Marsh Posté le 28-10-2002 à 18:06:42
Mieux:
Code :
|
ou
Code :
|
Marsh Posté le 28-10-2002 à 19:13:23
ok merci ça je comprend mais ce que je comprend pas c'est quel est l'intéret de faire une boucle si on peut pas recuperer la valeur après ??
Je doit vraiment paraitre comme un merde non ?
Marsh Posté le 28-10-2002 à 19:22:29
Bhen à priori t'as pas besoin de récupérer la valeur après puisque c'est toi qui lui dit jusqu'où il doit aller
imaginons que pour une raison inconnue tu veule quand même savoir où il s'est arrêté, bhen tu fais un while à la place d'un for.
Marsh Posté le 28-10-2002 à 19:33:31
wathou a écrit a écrit : ok merci ça je comprend mais ce que je comprend pas c'est quel est l'intéret de faire une boucle si on peut pas recuperer la valeur après ?? Je doit vraiment paraitre comme un merde non ? |
Pour utiliser la valeur DANS la boucle.
L'autre possibilité, c'est que tu n'ais pas vraiment besoin de la variable, mais simplement d'exécuter un morceau de code un certains nombre de fois.
Marsh Posté le 28-10-2002 à 19:48:50
Non, vous comprenez pas, il veux faire une assignation
Genre
for i:=0 to 155 do ;
pour faire i := 155;
Marsh Posté le 28-10-2002 à 15:06:44
Bonjour tout le monde,
voila je commmence des etudes en info et on est entrain de programmer en Pascal...
Mais je comprend pas trop la boucle FOR/do...
D'après ce que je sais d'elle je ne doit pas declarer une variable car la boucle en initalise une MAIS celle-ci est effacer dès la fin de la boucle ??? (arreter moi si je dit des conneries)
Que renvoi cette boucle? (si la variable est effacer?)
a Quoi sert t'elle ?
si vs avez un chti explemple simple sous la main je suis preneur....
Merci d'avance
un student un peu paumer.
edit: je sais pas si c important mais on programme avec Turbo pascal 6.0
Message édité par wathou le 28-10-2002 à 15:09:05