Помогите написать программу перевода числа из двоичной системы в десятичную с ...

0 голосов
37 просмотров
Помогите
написать программу перевода числа из двоичной системы в десятичную с
использованием функции возведения в степень. Я написала, но у меня
где-то ошибка.

b:=0;
m:=length(max)-1;
j:=m;

for i:=1 to m do

begin

val(max[i],p,code);

while j>=0 do

p:=p*step(2,j);

b:=b+p;
j:=j-1;

writeln(b);

end;

Поясняю,
что тут и как. Эта мини-задача, входящая в решение одной масштабной
задачищи. Дана строка max, в которой записано двоичное число. Функция
step(x,y:integer):integer

возводит число x в степень y. Помогите найти и исправить ошибку,
только, пожалуйста, не надо писать СОВЕРШЕННО ДРУГОЙ способ решения. Заранее благодарю))




Информатика (241 баллов) | 37 просмотров
0

Я плохо разбираюсь в чужом коде, написала по-своему только... Хотела в личку Вам скинуть, но никак: закрыто:(

0

спасибо, но мне уже объяснили мой косяк)))

Дан 1 ответ
0 голосов
Правильный ответ

Begin
 
  max := '1010';
  b := 0;
  m := length(max);
  j := m - 1;
 
  for i := 1 to m do
 
  begin
   
    val(max[i], p, code);
   
    {while j >= 0 do}
   
    p := p * step(2, j);
   
    b := b + p;
    j := j - 1;
   
    writeln(b);
   
  end;
end.

(142k баллов)
0

ну не всегда- не всегда, :D я частенько поправляю учителей - и, угадайте, кто оказывается прав?

0

Учитель?:)

0

Завуч?

0

Директор? х_х

0

не надо, мне так понятнее

0

единственный минус вашей профессии - это то, что не на кого злость вылить. Можно правда пинать системник, бить по клаве, выкидывать мышь в окно, когда ошибку не можешь найти в коде, но слишком это дороговато выходит впоследствии. А вот учителю повезлооо))