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

  • Программа

  • Результаты

  • 1 лаб. работа по функциональному программированию. Отчет сдан Итоговая оценка Подпись преподавателя Тема работы Примитивные функции и особые операторы Коммон Лисп


    Скачать 16.93 Kb.
    НазваниеОтчет сдан Итоговая оценка Подпись преподавателя Тема работы Примитивные функции и особые операторы Коммон Лисп
    Анкор1 лаб. работа по функциональному программированию
    Дата25.11.2021
    Размер16.93 Kb.
    Формат файлаdocx
    Имя файлаFP1.docx
    ТипОтчет
    #282384
    1. Отчет по лабораторной работе №1
      по курсу «Функциональное программирование»


    Студент группы 8О-307Б Драчев Матвей Павлович, № по списку 5.

    Контакты: matvey_00@mail.ru
    Работа выполнена:
    Преподаватель: Иванов Дмитрий Анатольевич, доц. каф. 806
    Отчет сдан:
    Итоговая оценка:
    Подпись преподавателя:
        1. 1. Тема работы


    Примитивные функции и особые операторы Коммон Лисп.
        1. 2. Цель работы


    Научиться вводить S-выражения в Лисп-систему, определять переменные и функции, работать с условными операторами, работать с числами, использую схему линейной и древовидной рекурсии.
        1. 3. Задание (вариант № 1.21(сложность 2))


    Запрограммируйте на языке Коммон Лисп функцию-предикат с тремя параметрами - действительными положительными числами a, b, c.

    Функция должна возвращать T (истину), если существует тупоугольный  треугольник с длинами сторон a, b и c.
            1. Примеры

    (obtuse-angled 7.0 3.3 4.2) => T

    (obtuse-angled 5.0 3.3 4.2) => NIL
        1. 4. Оборудование студента


    Ноутбук Asus FX 505 DT, процессор AMD Ryzen 5 3550H 2.10 GHz, память 16ГБ, 64-разрядная система.
        1. 5. Программное обеспечение


    ОС Ubuntu, программное обеспечение Lisp SBCL.
        1. 6. Идея, метод, алгоритм


    Функция с условиями проверки, сначала на то, можно ли построить треугольник, а затем является ли он тупоугольным. Также была написана дополнительная функция возведения числа в квадрат.
        1. 7. Сценарий выполнения работы

        2. 8. Распечатка программы и её результаты


    Программа

    (defun power (arg) ( * arg arg) ) (defun obtuse-angled (a b c) (if (or (>= a (+ b c)) (>= b (+ a c)) (>= c (+ a b))) nil (if (not (and (> (+ (power a) (power b)) (power c)) (> (+ (power a) (power c)) (power b)) (> (+ (power c) (power b)) (power a)))) T)))

    Результаты

    * (obtuse-angled 7.0 3.3 4.2) T * (obtuse-angled 5.0 3.3 4.2) NIL * (obtuse-angled 9 5 6) T * (obtuse-angled 1 1 1) NIL * (obtuse-angled 1 1 100) NIL
        1. 9. Дневник отладки




          Дата, время

          Событие

          Действие по исправлению

          Примечание

          1












        2. 10. Замечания автора по существу работы


    Мне досталось не самое сложное задание, однако в качестве ознакомления с языком вызвало некие затруднения, которые были решены в процессе выполнения.
        1. 11. Выводы


    В данной лабораторной работе я познакомился с языком Коммон Лисп и написал на нем программу с использованием собственной функции, которая проверяет является ли треугольник тупоугольным. Программа работает правильно и прошла все тесты.


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