• Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число 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
    • Автор:

      isla
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years