Лучшие помощники
15 января 2023 02:19
1102

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число 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.
Укажите одно число, для которого программа выводит неверный результат.
Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:

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

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

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

1 ответ
Посмотреть ответы
При вводе числа 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
0
·
Хороший ответ
17 января 2023 02:19
Остались вопросы?
Найти нужный