Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится произведение цифр этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.) Бэйсик | Паскаль DIM N AS LONG DIM product AS LONG INPUT N product = N mod 10 WHILE N >= 10 digit = N MOD 10 product = product*digit N = N \ 10 WEND PRINT product END | 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. Си++ | Алгоритмический язык #include <iostream> using namespace std; int main() { long int N, product; int digit; cin >> N; product = N % 10; while (N >= 10) { digit = N % 10; product = product*digit; N = N / 10; } cout << product; } | алг нач цел N, digit, product ввод N product := mod(N, 10) нц пока N >= 10 digit := mod(N, 10) product := product*digit N := div(N, 10) кц вывод product кон Python n = int(input()) product = n % 10 while n >= 10: digit = n % 10 product = product*digit n //= 10 print(product) Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 532. 2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, — приведите правильный вариант строки. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.

Средний уровеньЗадание

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится произведение цифр этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.) Бэйсик | Паскаль DIM N AS LONG DIM product AS LONG INPUT N product = N mod 10 WHILE N >= 10     digit = N MOD 10     product = product*digit     N = N \ 10 WEND PRINT product END | 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. Си++ | Алгоритмический язык #include <iostream> using namespace std; int main() {     long int N, product;     int digit;     cin >> N;     product = N % 10;     while (N >= 10)     {         digit = N % 10;         product = product*digit;         N = N / 10;     }     cout << product; } | алг нач     цел N, digit, product     ввод N     product := mod(N, 10)     нц пока N >= 10         digit := mod(N, 10)         product := product*digit         N := div(N, 10)     кц     вывод product кон Python n = int(input()) product = n % 10 while n >= 10:     digit = n % 10     product = product*digit     n //= 10 print(product) Последовательно выполните следующее. 1.  Напишите, что выведет эта программа при вводе числа 532. 2.  Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку,  — приведите правильный вариант строки. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.

Похожие задания