Programmation pascal

Bonjour,
je suis bloqué sur une procedure
en fait je souhaite mettre en place une bibliothèque de nombre binaire qui se presente sous forme tableau
c-a-d il prend un nombre et convertie en base 2 et l'affiche dans un tableau,
maintenant il faut ecrire une procedure qui va faire cette operation
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. Modérateur
    Je m'inspire de la procédure de aymoun888, pour donner un programme que j'ai testé :
    program SansNom;
    
    const Nmax=31; // limite de integer
    
    type tab=array[1..Nmax] of byte;
    
    procedure convertion(var t:tab; n:integer);
    var i:integer;
    begin
    for i:=1 to Nmax do t[i]:=2;
    i:=1;
    repeat
    t[i]:=n mod 2;
    n:=n div 2;
    i:=i+1;
    until( (n div 2=0) and (n mod 2=0));
    end;
    
    procedure Afficher(t:tab);
    var i:integer;
    begin
    for i:=Nmax downto 1 do
        if t[i]<2 then write(t[i]);
    writeln;
    end;
    
    var t:tab;
    begin
    Convertion(t,5);
    Afficher(t);
    write('Fin du programme. Appuyer sur Entree'); readln;
    end.
    --
    La confiance n'exclut pas le contrôle
    1. procedure convertion(var t:tab, n:integer)

      var i:integer;

      begin

      i:=1;

      repeat

      t[i]:=n mod 2;
      n:=n div 2;
      i = i+1;

      until(n div 2 = 0 and n mod 2 = 0)

      end;

      g pa testé le code, mai normalement ça marche

      RQ: tab c un type défini au début de prog, c un tableau