Урок 9 Задача 9
Primary tabs
Пользователь вводит четыре числа, найдите из них максимальное -- решите через вложенные блоки if в полной форме (без использования логических операций).
Примечание: решение с помощью AND более удобно на практике, но для тренировки понимания тут мы решаем через вложенные блоки.
// почему-то программа не всегда работает правильно
// например, с такими числами не работает
var a, b, c, d: integer;
begin
//writeln ('Введите четыре числа: '); //пояснение для пользователя
//readln (a, b, c, d); // считывание чисел, введенных пользователем
a:= 8;
b:= 8;
c:= 9;
d:= 890;
if (a > b) then
begin // ..b........a.. а>b, где d и c - не знаем
if (a > c) then
begin // ..(b,с)....a.. a>b, a>с, где d - не знаем
if (a > d) then // ..(b,с,d)..a.. a>b, a>с, a>d
write (a) // выводим на экран а
else begin // ..b.....a..c.. здесь уже знаем, что a>b, c>=a, где d - не знаем
if (d > c) then // ..b..a..c...d. a>b, c>=a, d>c
write (d) // выводим на экран d
else // ..b..a...d..c. a>b, c>=a, c>=d
write (c); // выводим на экран c
end
end;
end
else begin // ..a........b.. здесь уже знаем, что b>=a, где d и c - не знаем
if (b > c) then
begin // ..(a,c)....b.. b>=a, b>c, где d - не знаем
if (b > d) then // ..(a,c,d)..b.. b>=a, b>c, b>d
write (b) // выводим на экран b
else begin // ..a.....b..c.. здесь уже знаем, что b>=a, c>=b, где d - не знаем
if (d > c) then // ..a..b..c..d.. b>=a, c>=b, d>c
write (d) // выводим на экран d
else // ..a...b..d..c. b>=a, c>=b, c>=d
write (c); // выводим на экран c
end;
end;
end;
writeln (' - максимальное число');
readln ();
end. - Log in to post comments
- 1230 reads
vedro-compota
Wed, 10/26/2022 - 19:32
Permalink
после 3-его сравнения в ветке
_____________
матфак вгу и остальная классика =)
Patrick
Wed, 10/26/2022 - 20:42
Permalink
var a, b, c, d: integer;
var a, b, c, d: integer; begin writeln ('Введите четыре числа: '); //пояснение для пользователя readln (a, b, c, d); // считывание чисел, введенных пользователем if (a > b) then // b...a begin if (a > c) then // b.c..a begin if (a > d) then // b.c.d..a write (a) else // b.c.a..d write (d) end else begin // b.a..c if (c > d) then // b.a.d..c write (c) else // b.a.c..d write (d) end end else begin // a...b if (b > c) then // a.c..b begin if (b > d) then // a.c.d..b write (b) else // a.c.b..d write (d) end else begin // a.b..c if (c > d) then // a.b.d..c write (c) else // a.b.c..d write (d) end; end; writeln (' - максимальное число'); readln (); end.vedro-compota
Sun, 10/30/2022 - 13:30
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)