Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число A, не превосходящее 109, и выводится произведение его цифр. Программист торопился и написал программу неправильно. Паскаль:var A, pr : longint;beginreadln(A);pr := 0;while A >= 10 dobeginpr := pr * (A mod 10);A := A div 10;end;writeln (pr);end.Последовательно выполните следующее.1. Напишите, что выведет эта программа при вводе числа 123.2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:а) выпишите строку, в которой сделана ошибка;б) укажите, как исправить ошибку: приведите правильный вариант строки.Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.

13 Окт 2020 в 19:43
136 +1
0
Ответы
1

Эта программа при вводе числа 123 выведет 0.

Ошибки в программе
а) pr := 0; - ошибка в том, что переменная pr инициализируется значением 0, что приведет к тому, что произведение цифр будет всегда равно 0
б) исправление: pr := 1; // присвоить начальное значение 1, а не 0

Правильный вариант исправления ошибки:

va
A, pr: longint
begi
readln(A)
pr := 1
while A >= 1 d
begi
pr := pr * (A mod 10)
A := A div 10
end
writeln(pr)
end.
17 Апр в 22:53
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 581 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир