Programmation pascal

jumpy -  
KX Messages postés 19031 Statut Modérateur -
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. KX Messages postés 19031 Statut Modérateur 3 020
     
    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
  2. aymoun888 Messages postés 146 Statut Membre 13
     
    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
    0