Utilisation de withdo en pascal

marienoelle2 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   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 199 Date d'inscription   Statut Membre Dernière intervention   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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Autant pour moi, je ne connaissais pas cette astuce...
0