Utilisation de withdo en pascal
Fermé
marienoelle2
Messages postés
2
Date d'inscription
lundi 21 juillet 2008
Statut
Membre
Dernière intervention
21 juillet 2008
-
21 juil. 2008 à 21:10
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 22 juil. 2008 à 19:33
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 22 juil. 2008 à 19:33
A voir également:
- Utilisation de withdo en pascal
- Notice d'utilisation - Guide
- Utilisation chromecast - Guide
- Turbo pascal download - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Vous avez utilisé ce numéro de téléphone à de trop nombreuses reprises - Forum Gmail
3 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
22 juil. 2008 à 18:13
22 juil. 2008 à 18:13
Ne parlerais-tu pas plutôt de "while ... do" ? Dans ce cas ça se traduit par "tant que ... faire"
Entre le while et le do il faut placer une instruction de type boolean, c'est à dire qui vaut true ou false.
Par exemple : while a=b do, while a<b do, while (a<b) and (a>c) do, while k do (k est de type boolean)
Exemple concret :
On considère la Conjecture de Syracuse vérifiée pour des entiers de type integer.
On créé une fonction qui compte le nombre d'étapes pour passer de n à 1 :
Entre le while et le do il faut placer une instruction de type boolean, c'est à dire qui vaut true ou false.
Par exemple : while a=b do, while a<b do, while (a<b) and (a>c) do, while k do (k est de type boolean)
Exemple concret :
On considère la Conjecture de Syracuse vérifiée pour des entiers de type integer.
On créé une fonction qui compte le nombre d'étapes pour passer de n à 1 :
function CompteurSyracuse(n:integer):integer; begin result:=0; while n>1 do // tant que n supérieur à 1 begin if odd(n) // si n est impair then n:=3*n+1; // alors else n:=n div 2; // sinon inc(result); // on le résultat de 1 end; end;Il faut toujours faire attention que la condition se termine à un moment, sinon la boucle tourne indéfiniment !
watou
Messages postés
199
Date d'inscription
vendredi 27 juin 2008
Statut
Membre
Dernière intervention
19 avril 2013
28
22 juil. 2008 à 18:53
22 juil. 2008 à 18:53
vous parlez de "with.... do"
c'est pour les champ d'un enregistrements dans le but de ne pas repeter le nom de l'enregistrement!
exemple:
type t_etudiant: record
nom,prenom:sting;
matricule:integer;
end;
var etudiant: t_etudiant;
begin
with etudiant do
nom := 'zidane';
prenom:='zinedine';
matricule:=65446;
end;
end.
c'est pour les champ d'un enregistrements dans le but de ne pas repeter le nom de l'enregistrement!
exemple:
type t_etudiant: record
nom,prenom:sting;
matricule:integer;
end;
var etudiant: t_etudiant;
begin
with etudiant do
nom := 'zidane';
prenom:='zinedine';
matricule:=65446;
end;
end.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
22 juil. 2008 à 19:33
22 juil. 2008 à 19:33
Autant pour moi, je ne connaissais pas cette astuce...