Найти min(max(x, y), max(x, z), max(z, d)) - Pascal
Формулировка задачи:
Пожалуйста помогите написать программу на Паскале, так-как я в этом не силен прошу знающих людей помочь!
Даны различные действительные числа x, y, z, d. Найти min(max(x, y), max(x, z), max(z, d)).
Решение задачи: «Найти min(max(x, y), max(x, z), max(z, d))»
textual
Листинг программы
function min(a, b: Integer): Integer; begin if b<a then min:=b else min:=a; end;
function max(a, b: Integer): Integer; begin if b>a then max:=b else max:=a; end;
var x, y, z, d: Integer;
begin
Write('x y z d: '); ReadLn(x,y,z,d); WriteLn(min(min(max(x,y),max(x,z)),max(z,d)));
end.
Объяснение кода листинга программы
- Объявляются две функции:
- Название функции:
min- Параметры:
a, b - Возвращаемый тип:
Integer - Тело функции: если
bменьшеa, тоmin=b, иначеmin=a
- Параметры:
- Название функции:
max- Параметры:
a, b - Возвращаемый тип:
Integer - Тело функции: если
bбольшеa, тоmax=b, иначеmax=a
- Параметры:
- Название функции:
- Объявляются четыре переменные:
x, y, z, dтипаInteger
- Вводятся значения переменных
x, y, z, dс помощью функцииReadLn - Выполняется вычисление и выводится результат:
- Вызывается функция
maxдляxиy, далее результат передается в функциюminвместе с вызовом функцииmaxдляxиz, после чего результат снова передается в функциюmaxвместе с вызовом функцииmaxдляzиd. - Полученный результат выводится с помощью функции
WriteLn
- Вызывается функция