
Нужно было написать программу, которая находит наибольшее из трех чисел a, b и c. Начинающий
программист написал фрагмент программы так (см. ниже) При каких наборах значений a, b, c эта программа работает неверно? if a > b then M := a else M := b; if c > b then M := c else M := b; 1)a = 1; b = 2; c = 3 2) a = 2; b = 1; c = 3 3) a = 2; b = 3; c = 1 4) a = 3; b = 1; c = 2 5) a = 3; b = 2; c = 1 6) a = 1; b = 3; c = 2 Язык паскаль

Ответы на вопрос

Работает неверно, при:
4) a = 3; b = 1; c = 2
5) a = 3; b = 2; c = 1
Проверить может сам:
Program numbers;
var a,b,M,c: real;
BEGIN
Write('a: ');
Readln(a);
Write('b: ');
Readln(b);
Write('c: ');
Readln(c);
if a > b then
M := a
else
M := b;
if c > b then
M := c
else
M := b;
Writeln(M);
END.



Программа, которую вы предоставили, не будет работать корректно в случае 3) a = 2; b = 3; c = 1. В этом случае программа неверно определит наибольшее число.
Давайте разберемся, как работает программа:
Сначала она сравнивает
a
иb
, и еслиa
большеb
, тоM
присваивается значениеa
, иначеM
присваивается значениеb
.Затем она сравнивает
c
иb
, и еслиc
большеb
, тоM
перезаписывается значениемc
, иначеM
остается прежним значениемb
.
Исходя из этой логики:
- В случае 3) a = 2; b = 3; c = 1, программа сначала устанавливает
M
равнымb
(как если быa > b
было бы false), а затем перезаписывает его значениемc
, что делаетM
равным 1. Однако, наибольшим числом из трех является 3.
Поэтому программа работает неверно в случае 3). В остальных случаях она будет работать верно, так как правильно определит наибольшее число из трех.


Похожие вопросы
Топ вопросов за вчера в категории Информатика









Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili