ЛР Функциональное и логическое программирование
Лабораторная работа по логическому и функциональному программированию (вариант 5) выполнена на языке Пролог, её цель — освоить построение простых и более сложных программ. Отчёт разделён на два блока, в каждом приведено условие задания и его решение на языке Пролог. В первом блоке разобраны задачи на обработку термов: отношение sum_tree/2, которое рекурсивным обходом дерева находит сумму целых чисел в его вершинах, и предикат p/1, проверяющий, является ли терм булевой формулой при объявленных операторах отрицания, конъюнкции и дизъюнкции. Второй блок посвящён строкам и спискам: предикат p/2 переводит предложение в список атомов с использованием name/2, отдельно записаны утверждения для предиката «множественное_число/2», задающие правила образования множественного числа английских существительных на -y и -o. Завершает работу задание на языке Lisp — рекурсивная функция, строящая список из n повторённых элементов. Материал полезен для разбора типовых приёмов рекурсии по структуре терма, обхода деревьев и посимвольной обработки строк в Прологе.









