Probléme Algorithme

Fermé
gui175 Messages postés 6 Date d'inscription dimanche 6 mars 2011 Statut Membre Dernière intervention 1 décembre 2011 - 1 déc. 2011 à 18:37
ccm81 Messages postés 10850 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 mars 2024 - 1 déc. 2011 à 20:33
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

Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 660
1 déc. 2011 à 20:19
il ne te manque pas un bloc begin end qui entoure le contenu de ta boucle for ?
0
gui175 Messages postés 6 Date d'inscription dimanche 6 mars 2011 Statut Membre Dernière intervention 1 décembre 2011
1 déc. 2011 à 20:29
NIckel merci merci c'était ça :)
0
ccm81 Messages postés 10850 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 mars 2024 2 404
1 déc. 2011 à 20:33
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