Написать функцию четырех аргументов, формирующую список, содержащий максимальное и минимальное числа - Lisp
Формулировка задачи:
Помогите пожалуйста люди добрые!
В задании нужно написать функцию четырех аргументов, формирующую список, содержащий
максимальное и минимальное числа.
Встроенные функции min и max не использовать, нужно создать собственные функции.
Решение задачи: «Написать функцию четырех аргументов, формирующую список, содержащий максимальное и минимальное числа»
textual
Листинг программы
(defun max2 (a b) (if (> a b) a b)) ==> MAX2 (defun min2 (a b) (if (< a b) a b)) ==> MIN2 (defun task (a b c d) (list (min (min a b) (min c d)) (max (max a b) (max c d)))) ==> TASK (task 5 2 3 9) ==> (2 9)
Объяснение кода листинга программы
В коде представлены три функции:
max2— принимает два числа в качестве аргументов и возвращает наибольшее из них.min2— принимает два числа в качестве аргументов и возвращает наименьшее из них.task— принимает четыре числа в качестве аргументов, формирует из них список, а затем находит в нём минимальное и максимальное числа и возвращает этот список. Вот что происходит в коде:min2(a, b)возвращает наименьшее число, которое является аргументомb.max2(a, b)возвращает наибольшее число, которое является аргументомb.task(a, b, c, d)формирует список из чиселa,b,cиd, а затем находит в нём минимальное и максимальное числа и возвращает этот список.(task 5 2 3 9)возвращает(2 9), поскольку 2 — минимальное число из списка, а 9 — максимальное.