Главная страница
Навигация по странице:

  • Исходные данные

  • Опишем Λ-выражение.

  • Продемонстрируем Λ-преобразование для данного Λ-выражения в среде интерпретатора LispWorks. Проверим, первое условие x < 0

  • Напишем пользовательскую функцию DEFUN на языке ЛИСП для выражения.

  • Продемонстрируем вызовы пользовательской функции в среде интерпретатора LispWorks.

  • Написать Λ-выражение на языке ЛИСП по индивидуальному заданию. ЛИСП 1. Задание Написать выражение на языке лисп по индивидуальному заданию. Продемонстрировать преобразование для данного выражения в среде интерпретатора LispWorks.


    Скачать 120.92 Kb.
    НазваниеЗадание Написать выражение на языке лисп по индивидуальному заданию. Продемонстрировать преобразование для данного выражения в среде интерпретатора LispWorks.
    АнкорНаписать Λ-выражение на языке ЛИСП по индивидуальному заданию
    Дата28.03.2023
    Размер120.92 Kb.
    Формат файлаdocx
    Имя файлаЛИСП 1.docx
    ТипДокументы
    #1020324

    1. Задание

    Написать Λ-выражение на языке ЛИСП по индивидуальному заданию.

    Продемонстрировать Λ-преобразование для данного Λ-выражения в среде интерпретатора LispWorks.

    Написать пользовательскую функцию DEFUN на языке ЛИСП для выражения. Интерпретировать написанную функцию в среде интерпретатора LispWorks.

    Продемонстрировать вызовы пользовательской функции в среде интерпретатора LispWorks.


    1. Исходные данные


    Имеется исходная формула:


    Рисунок 1. Исходная формула.


    1. Опишем Λ-выражение.


    Код, позволяющий вносить в программу исходные данные:
    (lambda (b x)

    (cond ((< x 0) (- b (* x x)))

    ((= x 0) b)

    ((> x 0) (+ b (* x x)))))


    1. Продемонстрируем Λ-преобразование для данного Λ-выражения в среде интерпретатора LispWorks.


    Проверим, первое условие x < 0. Для этого передадим значение x которое меньше, чем 0, например -3. В таком случае 2 – (-3 * -3) = 1 – 9 = -7. Значение верно.




    Проверим второе условие x = 0, для этого передадим числа x = 0, b = 2 чтобы соблюсти условие. В таком случае результат должен быть равен 2.

    Проверим условие x > 0, для этого передадим числа x = 4, b = 2 чтобы соблюсти условие. В таком случае 2 + 4 * 4 = 2 + 16 = 18. Значение верно.




    1. Напишем пользовательскую функцию DEFUN на языке ЛИСП для выражения.


    Код, позволяющий вносить в программу исходные данные:
    (defun f (b x)

    (if (< x 0)

    (- b (* x x))

    (if (= x 0)

    b

    (+ b (* x x)))))


    1. Продемонстрируем вызовы пользовательской функции в среде интерпретатора LispWorks.


    Продемонстрируем вызов функции на двух примерах. Вариант (f 0 -5) вернет значение 25. Этот вызов проверяет, что функция правильно обрабатывает случай, когда b = 0 и x < 0.
    (f -3 4) вернет значение 13. Этот вызов проверяет, что функция правильно обрабатывает отрицательные значения b и положительные значения x.



    1. Вывод.

    Мы описали заданную формулу и писали ее в виде функции prolog, провели тестирование и убедились в работоспособности программы.


    написать администратору сайта