Задача реализовать функцию для вывода списка значений функции - Lisp

Узнай цену своей работы

Формулировка задачи:

Здравствуйте уважаемые знатоки. Необходимо реализовать функцию для вывода списка значений функции Y(x). При определении функции использовать условные предложения IF или COND. Константа a задается либо с помощью функции SETQ, либо как еще один аргумент функции Y (помимо x). Значение константы a – произвольное. Задание выполнить в двух вариантах: 1 – с использованием предложения DO, 2 – с использованием PROG-механизма. Помогите пожалуйста, условие

Решение задачи: «Задача реализовать функцию для вывода списка значений функции»

textual
Листинг программы
(defun Y (x) (prog () 
    (return 
      (cond 
        ( (>= x 2 ) (expt x(sin (log (+ x 5) ))) )
        ( (and(>= x 0) (< x 1))  (/ (cos (+ x 7)) (sin(- (expt (- x (expt x 2) ) (/ 1 4) ) (* 1.5 pi) )) ))
        (t(/ (+ (exp x) (exp (* -1 x))) 2))
      )
     )
))
 
(defun F ()
    (prog (list)
        (setq x -3)
        loop
            (setq result (Y x))
            (if (>= x 2) (return list))
            (setq list (cons result list))
            (setq x (+ x 0.2))
        (go loop)
    )
) 
(print (F) )

Объяснение кода листинга программы

В коде реализованы две функции: Y и F. Функция Y принимает один аргумент x и возвращает результат вычисления указанного условия. Внутри функции происходит вычисление значения функции с помощью операции возведения в степень (expt), синуса (sin) и логарифма (log). Затем из результата вычисляется значение функции с помощью операции возведения в степень (expt), синуса (sin), косинуса (cos) и вычитания (expt). В конце вычисляется значение функции с помощью операции возведения в степень (expt), вычитания (expt), умножения (exp) и вычитания (exp). Функция F не принимает аргументов и реализует цикл с помощью команды loop. Внутри цикла происходит вызов функции Y с аргументом x, при этом значение x увеличивается на 0.2 на каждой итерации. Результат вычисления функции Y добавляется в список, который затем выводится на экран с помощью команды print.

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


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

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

11   голосов , оценка 4 из 5
Похожие ответы