Предмет: Информатика,
автор: Леся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.
Укажите одно число, для которого программа выводит неверный результат.
Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
а) выпишите строку, в которой сделана ошибка;
б) укажите, как надо исправить ошибку - приведите правильный вариант строки.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, имеющую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Ответы
Автор ответа:
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
Для числа 2 программа выведет 2, что неверно
Ошибки в 5 и 6 строках.
1) а) 5 строка (count := 1;)
б) count := 0;
2) a) 6 строка (while N > 1 do begin)
б) while N >= 1 do begin
Похожие вопросы
Предмет: Українська мова,
автор: FoxFaix12
Предмет: Английский язык,
автор: 345Summer345
Предмет: Русский язык,
автор: тигр194
Предмет: Немецкий язык,
автор: vasilinabak13
Предмет: Алгебра,
автор: Liza6L