Предмет: Информатика, автор: Леся059

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 10^9, и выводится количество цифр этого числа. Программист торопился и написал программу неправильно:

var N: longint;

count: integer;

begin

readln(N);

count := 1;

while N > 1 do begin

count := count + 1;

N := N div 10;

end;

writeln(count);

end.

Последовательно выполните следующее:
Определите, что выведет программа при вводе числа 123.
Укажите одно число, для которого программа выводит неверный результат.
Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:

а) выпишите строку, в которой сделана ошибка;

б) укажите, как надо исправить ошибку - приведите правильный вариант строки.

Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, имеющую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.

Ответы

Автор ответа: nikolac
7
При вводе числа 123 программа выведет 3.
Для числа 2 программа выведет 2, что неверно

Ошибки в 5 и 6 строках. 
1) а) 5 строка (count := 1;)
    б) count := 0;
2) a) 6 строка (while N > 1 do begin)
    б) while N >= 1 do begin
Похожие вопросы
Предмет: Алгебра, автор: Liza6L