Реализовать двойное условие в cond - Lisp
Формулировка задачи:
Здравствуйте.
Помогите реализовать двойное условие в cond.
Условие
-1<=p<=2
+ я не знаю , правильно ли я реализовал функции.
Моя задача:
r=Sin (p+p/3-p3) , p<-1
r=Lg (1-p/5+sin p) , -1<=p<=2
r=1+p^2 , p>2
Вот мой код
(setq p -2) (cond ((< p -1) (setq r (sin (-(+ p (/ p 3 )) (* (* p p) p))))) ((= p 1) (setq r (lg (+(- 1 (/ p 5 )) (sin p))))) ((> p 2) (setq r (+ 1 (* p p)))) (T 'pomilka) ) (print r)
Решение задачи: «Реализовать двойное условие в cond»
textual
Листинг программы
(defun task (p) (cond ((< p -1) (sin (+ p (/ p 3) (- (* p p p))))) ((and (<= p 2) (>= p -1)) (log (+ 1 (/ p -5) (sin p)))) (t (+ 1 (* p p)))))
Объяснение кода листинга программы
В коде определена функция с именем task, которая принимает один аргумент p. Внутри функции используется конструкция cond, которая позволяет проверить три различных условия и выполнить соответствующее действие для каждого из них.
- (defun task (p)
- (cond ((< p -1) (sin (+ p (/ p 3) (- (* p p p))))) Здесь первое условие: p меньше -1. Если это условие истинно, то выполняется действие, которое заключается в вычислении значения функции sin от выражения, которое является результатом сложения p, деления p на 3 и вычитания значения функции sin от p, умноженного на p.
- ((and (<= p 2) (>= p -1)) (log (+ 1 (/ p -5) (sin p)))) Здесь второе условие: и p меньше или равно 2, и p больше или равно -1. Если это условие истинно, то выполняется действие, которое заключается в вычислении значения функции log от выражения, которое является результатом сложения 1, деления p на -5 и вычитания значения функции sin от p.
- (t (+ 1 (* p p)))))
Здесь третье условие: истинно любое другое значение, кроме предыдущих двух. Если это условие истинно, то выполняется действие, которое заключается в выполнении выражения, которое является результатом сложения 1 и значения функции sin от p, умноженного на p.
Для лучшего понимания кода можно использовать следующие переменные:
p — аргумент функции task;
1n — натуральный логарифм;
sin — синус;
/ — деление;
- — умножение;
- — сложение;
- — вычитание.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д