• Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 10^9, и выводится количество цифр этого числа. Программист торопился и написал программу неправильно.
    var N: longint;
    sum: integer;
    begin
    readln(N);
    sum := 1;
    while N > 1 do
    begin
    N := N div 10;
    sum := sum + 1;
    end;
    writeln(sum);
    end.
    Последовательно выполните следующее.

    1. Напишите, что выведет эта программа при вводе числа 938?
    2. Укажите одно число, для которого программа будет работать верно.
    3. Найдите все ошибки в этой программе (их может быть одна или несколько). Укажите все строки (одну или более), содержащие ошибки, и для каждой такой строки приведите правильный вариант.
    Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.

Ответы 1

  • эта программа присваивает значение переменной N, потом присваивает переменной sum значение 1, за тем в случае пока N больше 1,  выделяет целое число при делении значения переменной N на 10 и  присваивает это значение переменной  N (повторяет эту операцию пока N больше 1), когда значение переменной N не больше 1 программа печатает на экран полученное в последнем цикле значение переменной sum.Ответ: 1) выведет 42) 103)sum := 0; while N >= 1 do
  • Добавить свой ответ

Войти через Google

или

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

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

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