Реализовать двойное условие в 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, которая позволяет проверить три различных условия и выполнить соответствующее действие для каждого из них.

  1. (defun task (p)
  2. (cond ((< p -1) (sin (+ p (/ p 3) (- (* p p p))))) Здесь первое условие: p меньше -1. Если это условие истинно, то выполняется действие, которое заключается в вычислении значения функции sin от выражения, которое является результатом сложения p, деления p на 3 и вычитания значения функции sin от p, умноженного на p.
  3. ((and (<= p 2) (>= p -1)) (log (+ 1 (/ p -5) (sin p)))) Здесь второе условие: и p меньше или равно 2, и p больше или равно -1. Если это условие истинно, то выполняется действие, которое заключается в вычислении значения функции log от выражения, которое является результатом сложения 1, деления p на -5 и вычитания значения функции sin от p.
  4. (t (+ 1 (* p p))))) Здесь третье условие: истинно любое другое значение, кроме предыдущих двух. Если это условие истинно, то выполняется действие, которое заключается в выполнении выражения, которое является результатом сложения 1 и значения функции sin от p, умноженного на p. Для лучшего понимания кода можно использовать следующие переменные: p — аргумент функции task; 1n — натуральный логарифм; sin — синус; / — деление;
    • — умножение;
    • — сложение;
    • — вычитание.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5