Utilisation de withdo en pascal

marienoelle2 Messages postés 2 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,
je suis nouvelle ds la proigrammation en pascal et je voudrai quevous m'aidiez en m'expliquant l'utilisation du " withdo"
merci d'avance.
A voir également:

3 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
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 :
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 !
0
watou Messages postés 241 Statut Membre 28
 
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.
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Autant pour moi, je ne connaissais pas cette astuce...
0