Utilisation de withdo en pascal

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. Modérateur
    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 !
    1. 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.