Написать программу в PascalABC!!!Число в двоичной системе счисления, введенное...

0 голосов
51 просмотров
Написать программу в PascalABC!!!
Число в двоичной системе счисления, введенное
пользователем программы, преобразовать в десятичное число.

Информатика (153 баллов) | 51 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var a:string;
i,a1,ar:integer;b:real;
begin
readln(a);
b:=0;
for i:=1 to length(a) do 
begin 
val(a[length(a)-i+1],a1,ar);
 b:=b+a1*exp((i-1)*ln(2));
 end;
writeln('b=',b);
end. 

(190 баллов)
0

А можно вариант по-проще? без "length" и "val"

0

Цикл замените на while a<>0
a1=a mod 10
После чего необходимо с помощью div отбросить последнюю цифру. Счетчик i лучше просто увеличивать с помощью inc внутри цикла, формула для вычисления прежняя.