Probléme Algorithme

Bonjour,

j'ai crée un petit algorithme en pascal pour convertir un fichier binaire en décimal mais j'ai un problème et je vois pas d'où sa peux venir, si vous avait une idée merci :)

var dec,m,k,l,chiffre:integer;
bin:string;

begin
write('entree un valeurs binaire : ');readln(bin);
dec:=0;
l:= length(bin);
m:=1;
for k := 1 to l
do
if bin [l-k+1] = '0'
then
begin
chiffre:=0
end
else
begin
chiffre:=1
end;
dec:= dec+chiffre*m;
m:=m*2;
writeln;writeln;
writeln('la valeurs decimal es : ',dec);

readln;

end.

3 réponses

  1. bonsoir

    une petite fonction qui convertit un "string binaire" en "word décimal"

    program bindec;
    
    uses crt;
    
    var bin : string;
        dec : word;
    
    function bintodec(b:string):word;
    begin
    if length(b) = 1
    then
      bintodec := ord(b[1])-48
    else
      bintodec := ord(b[length(b)])-48+2*bintodec(copy(b,1,length(b)-1));
    end;
    
    begin
    write('b = ');readln(bin);
    dec := bintodec(bin);
    writeln('d = ',dec)
    end.


    bonne suite
    0
    1. NIckel merci merci c'était ça :)
      0
      1. il ne te manque pas un bloc begin end qui entoure le contenu de ta boucle for ?
        0