• Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 10^9, и выводится произведение цифр этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования. )

     

    var N, product: longint;
           digit: integer;
    begin
         readln(N);
         product:=N mod 10;
         while N >=  10 do
       begin
          digit:= N mod 10;
           product:= product*digit;
           N:= N div 10;
      end;
      writeln(product);
    end. 

    Последовательно выполните следующее.
    1. Напишите, что выведет эта программа при вводе числа 532.

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

Ответы 1

  • 1) для числа 532 от напечатает 602) ошибка: product:=N mod 10;нужно написать: product:=1;
  • Добавить свой ответ

Войти через Google

или

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

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

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