Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Задание к лабораторной работе.




Напишите функцию, аналог системной функции Лиспа:

1. а) (1+ <число>) Результат функции - <число>, увеличенное на единицу.

в) (1- <число>) Результат функции - <число>, уменьшенное на единицу.

2. а) (incf память приращение) Добавление приращения к числу в памяти.

в) (decf память приращение) Вычитание приращения из числа в памяти.

3. (expt <основание> <степень>) Эта функция возвращает <основание>, возведенное в указанную <степень>. Если оба аргумента целые, то результат - целое число. В любом другом случае, результат - действительное число.

 

4. (gcd <число1> <число2>) Функция возвращает наибольший общий делитель <числа1> и <числа2>. <Число1> и <число2> должны быть целыми.

 

5. а) (first <список>), second, third, и т. д. возвращающие соответственно первый, второй, третий, и т. д. элемент списка.

в) (last <список>) Эта функция возвращает последний элемент списка. <Список> не должен быть равен nil. LAST возвращает либо атом либо список.

 

6. а) (max <число> <число>...) Эта функция возвращает наибольшее из заданных чисел.

в) (min <число> <число>...) Эта функция возвращает наименьшее из заданных чисел.

 

7. а) (evenp <число>) Проверяет, четное ли число. Она возвращает T - если число четное и NIL - в противном случае.

в) (oddrp <число>) Эта функция - противоположная по действию функции evenp.

8. которая сортирует числа:

а) по возрастанию.

в) по убыванию.

9. предикат - который определяет:

а) числа с плавающей запятой.

в) целые числа.

г) строковые константы.

д) символы.

е) списки.

 

10. зависящую от одного аргумента, которая генерирует все циклические перестановки списка.

11. зависящую от одного элемента, которая по данному списку вычисляет список его элементов:

а) встречающихся в нем более 1, 2,... раз.

в) встречающихся в нем не менее 2, 3,... раз.

P. S. Запишите все функции, написанные вами, в один файл. Для отладки программы используйте встроенные средства dlispа.

Вопросы.

1. Какие способы тестирования программ предусмотрены в dlisp?

2. В чем их различия?

3. Какие функции предусмотрены для работы со строковыми константами в dlisp?

4. Назовите их основные особенности?


Раздел 2. Логическое программирование

 

Лабораторная работа №1: факты, цели (вопросы)

 

Методические указания

 

1) Запишите Пролог-программу из трёх основных фактов,

соответственно варианту Вашего задания.

2) Поставьте вопросы:

а) простые основные,

б) простой 'неосновной',

в) конъюнктивные основные,

г) конъюнктивный неосновной,

д) основные, из двух конъюнктов,

е) неосновной, из двух конъюнктов.

3) Определите разницу при ответах на простой основной и

простой неосновной вопросы.

 

Примечания

 

1) Номер варианта (N) равен порядковому номеру студента в списке группы.

2) Срок выполнения - 1,2-ая недели семестра.

3) Отчёт по выполнению лабораторной работы оформляется и защищается после чтения лекций на тему "исчисления высказываний" и должен содержать

a) файл Lab_1_N.pro с комментариями,

b) формулы исчисления высказываний (ИВ), интерпретирующие

Пролог - программы (для вопросов а), в) и д)) и классы

этих формул, определив их следующими тремя методами:

1. с помощью таблицы истинности,

2. приведением к конъюнктивной нормальной форме(КНФ),

3. методом резолюций.

 

Постановка задачи

Записать программу, состоящую из 3-х основных фактов, соответственно варианту задания.

 

Варианты и пример факта задач

 

1. Вид и цена шоколада chocolate(“Алёнка”,16.50)

2. Начало занятий в институте begin(monday, 9.15)

3. Любимое занятие студента hobby(“Антон”, “марки”)

4. Расписание лабораторных работ lab(“Физика”, tuesday)

5. Спектакль в театре theatre(“Ленком”, ”Фигаро”)

6. Адрес института institute(“Мирэа”, ”Проспект Вернадского”)

7. Театральная премьера first(“Щелкунчик”, ”Большой театр”)

8. Произведение поэта poem(“Лермонтов”, ”Мцыри”)

9. Порода и кличка собаки dog(“пудель”, ”Джой”)

10. Имя и фамилия студента student(“Голубев”, ”Алексей”)

11. Фамилия лектора lecturer(“История”, ”Ключевский”)

12. Юбилей гражданина jubilee(“Ельцин”,70)

13. Марка и цвет автомобиля auto(“Моквич”,brown)

14. Количество человек в семье family(“Сидоровы”,4)

15. Марка и размер монитора monitor(samsung,15)

16. Количество книг по предмету book(“Физика”, 3)

 

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...