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.
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. 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
  2. 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
  3. KX Messages postés 19031 Statut Modérateur 3 020
     
    Autant pour moi, je ne connaissais pas cette astuce...
    0