Покажите, что приведённая программа не всегда верно определяет максимальное из трёх чисел, записанных в переменные a,b, c.если a>b то M:=a if a>b then M:=a;иначе M:=b всё else M:=b;если c>b то M:=c if c>b then M:=cиначе M:=b всё else M:=b;Приведите контрпример т.е. значения переменных при котором в переменной М будет получен неверный ответ. Как нужно доработать программу чтобы она всегда работала правильно?

11 Мар 2020 в 19:42
289 +1
0
Ответы
1

Контрпример:
a = 3, b = 2, c = 1

По логике программы, переменная M должна будет равна 3, так как a больше b и c. Однако, переменная M будет равна 2, так как после проверки условия c > b, программа присвоит M значение переменной b, а не c.

Для того, чтобы программа всегда правильно определяла максимальное из трёх чисел, необходимо доработать программу следующим образом:

if a > b and a > c then
M := a
else if b > a and b > c then
M := b
else
M := c

Этот код сначала проверяет, является ли a наибольшим числом, затем b, иначе присваивает значение c переменной M.

18 Апр 2024 в 16:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир