Главная / Решение олимпиадных задач по информатике / [формула]-ричной системы счисления (b<10) в 10-тичную: var a: string; b, i, st, n, s, x, k:integer; begin readln (a); readln(b); n:=length(a); s:=0; for i:=1 to n do begin val (copy(a,i,1),x,k); s:=s+x*st; st:=st*b; end; writeln (s); end.

Найдите ошибки в приведенной ниже программе на Паскале, которая выполняет перевод числа a из math-ричной системы счисления (b<10) в 10-тичную:

var a: string; b, i, st, n, s, x, k:integer; begin readln (a); readln(b); n:=length(a); s:=0; for i:=1 to n do begin val (copy(a,i,1),x,k); s:=s+x*st; st:=st*b; end; writeln (s); end.

вопрос

Правильный ответ:

переменной st не присвоено начальное значение, равное "1"
функцией copy(a,i,1) в цикле по i идет "вырезка" символов не в обратном порядке. Правильно: copy(a,n-i+1,1)
переменная st не "обнулена" в начале работы программы
цикл по i должен работать до (n-1)
Сложность вопроса
51
Сложность курса: Решение олимпиадных задач по информатике
77
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Это очень не сложный вопрос intuit.
20 май 2018
Оставить комментарий
Другие ответы на вопросы из темы программирование интуит.