Сделай Сам Свою Работу на 5

Тема: Работа с динамическими базами данных на Tprologe





Варианты заданий:

 

1. Создать БД произведений всех чисел от 1 до 9 в виде число1, число2, произведение. Вывести на печать содержимое БД

2. Создать БД, содержащую сведения о сотрудниках предприятия:

Фамилия, Имя, Оклад, кол-во детей, подоходный налог,

Где подоходный налог= 12%(Оклад-1%Оклад-(кол-во детей+2)*необл.минимум)

Необл.минимум (вещественное число) вводится с клавиатуры. Распечатать всех, у кого подоходный налог > определенной величины

3. Создать БД, содержащую сведения о книгах в библиотеке:

Раздел, Автор, Название, Год выпуска, Цена

Распечатать все книги, относящиеся к определенному разделу, автору

4. Создать БД, содержащую ключевые слова, текстовые варианты вопросов и текстовые варианты ответов на предложения, содержащие данные ключевые слова. Составить программу, осуществляющую диалог с пользователем.

5. Создать БД, содержащую сведения о студентах и их успеваемости:

Фамилия, Имя, Группа, Оценка1, Оценка2, Оценка3, Оценка4.

Распечатать всех фамилии и имена студентов, имеющих средний балл, превышающий заданный.

6. Реализовать предикат Search(X,P,L), порождающий список L всех объектов Х, удовлетворяющих цели Р. При решении использовать предикаты assert, retract и call(P) (вызов цели).



 

Вопросы для самоконтроля:

 

1. Виды представления знаний.

2. Прямая цепочка рассуждений. Пример вывода.

3. Анонимные переменные. Примеры.

4. Что такое рекурсивные объекты? Примеры.

5. Ввести с клавиатуры числа a и n. Составить программу, с помощью рекурсии вычисляющую an.

6. Известны отношения РОДИТЕЛЬ(X,Y) и МУЖЧИНА(Х). Определить на их основе отношение СЕСТРА (объект Х является сестрой Y).

7. Что такое список в понимании ПРОЛОГА?

8. Определить отношение сцепления двух списков (конкатенации).

9. Определить отношение удаления элемента из списка.

10. ПЕРЕВЕСТИ НА ПРОЛОГ: КАЖДЫЙ ПРОЧИТАЛ РОМАН ЛЬВА ТОЛСТОГО «АННА КАРЕНИНА» с использованием многоуровневых объектов.

11. Обратная цепочка рассуждений.

12. Структура PROLOG-программы.

13. Ввести с клавиатуры n. Составить программу, с помощью рекурсии вычисляющую n!

14. Что такое унификация?

15. Что такое back-tracking? Примеры.

16. Типы переменных в ТР.



17. Определить отношение принадлежности элемента списку

18. Перевести на язык ПРОЛОГ:

19. ПРЕПОДАВАТЕЛЬ ВУЗА ДОЛЖЕН ЗАКОНЧИТЬ АСПИРАНТУРУ.

20. ЕСЛИ ЧЕЛОВЕК ЗАКОНЧИЛ АСПИРАНТУРУ, ТО ОН ПРЕПОДАВАТЕЛЬ ВУЗА.

21. В чем отличие процедурной и декларативной семантики ПРОЛОГА?

22. СОСТАВИТЬ ПРОГРАММУ, определяющую принадлежит ли введенное число Х заданному диапазону.

23. Обратная цепочка рассуждений.

24. Структура PROLOG-программы.

25. Ввести с клавиатуры n. Составить программу, с помощью рекурсии вычисляющую n!

26. Что такое унификация?

27. Что такое back-tracking? Примеры.

28. Типы переменных в ТР.

29. Определить отношение принадлежности элемента списку

30. Перевести на язык ПРОЛОГ:

31. ПРЕПОДАВАТЕЛЬ ВУЗА ДОЛЖЕН ЗАКОНЧИТЬ АСПИРАНТУРУ.

32. ЕСЛИ ЧЕЛОВЕК ЗАКОНЧИЛ АСПИРАНТУРУ, ТО ОН ПРЕПОДАВАТЕЛЬ ВУЗА.

33. В чем отличие процедурной и декларативной семантики ПРОЛОГА?

34. СОСТАВИТЬ ПРОГРАММУ, определяющую принадлежит ли введенное число Х заданному диапазону.

 

 


ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ

 

Введение

 

Методические указания к выполнению лабораторных работ по дисциплине "Функциональное программирование" предназначены для студентов третьего курса специальности 220400. Данные методические указания содержат:

· перечень теоретических вопросов, которые должны быть разъяснены преподавателем ведущим лабораторные занятия;

· практические задания, которые должны быть разобраны и выполнены под руководством преподавателя;

· практические задания для самостоятельной работы.

Лабораторные работы №№ 3, 4, 5 не содержат теоретического материала и выполняются студентами самостоятельно на основании лекционного курса по дисциплине "Функциональное программирование", с последующим отчетом преподавателю ведущему лабораторные занятия.



При выполнении лабораторных работ №№ 1, 3 студентами все перечисленные задания для самостоятельной работы. Варианты практических заданий для самостоятельного выполнения в лабораторных работах №№ 2, 4, 5 указывает преподаватель.

Отчетом о выполнении по каждой лабораторной работе является демонстрация на компьютере выполненных практических заданий для самостоятельной работы, а также устное собеседование с преподавателем по текстам представленных практических заданий и теоретическому материалу входящему в рассматриваемую лабораторную работу.

Лабораторная работа № 1.

(2 часа)

 

Теоретический материал

· Знакомство со средой ЛИСП (загрузить, закончить работу).

· Функция (setq ...), функция (eql ...), арифметические и логические операции ("+". "-" ,"*", "/", "<", ">", "=","and", "or", "not"), префиксная форма записи выражений в среде ЛИСП.

· Использование оператора (if ...).

· Определение и вызов функции пользователя ((defun ...)).

· Использование рекурсии.

· Трассировка.

· Вызов функции записанной и сохраненной в текстовом файле ((load '*.lsp)).

 

Практические задания

Для работы с преподавателем

1. Определите функцию, аргументами которой являются три числа и которая возвращает значение True если первое число принадлежит интервалу ограниченному следующими двумя числами. В противном случае - функция возвращает значение NIL.

2. Завершите работу в среде ЛИСП, после чего наберите и сохраните текст функции из задания 1 в файле с расширением .lsp. Повторно войдите в среду, загрузите файл с сохраненным текстом функции, вызовите функцию.

3. Определите функцию возвращающую сумму чисел от 1 до n. Осуществите трассировку написанной функции, рассмотрите результаты трассировки.

Для самостоятельной работы

1. Определите функцию возводящую число a в степень n.

2. Определите функцию возвращающую значение факториала числа n.

 

 

Лабораторная работа № 2.

(2 часа)

 

Теоретический материал

· Списки. Простейшие функции работы со списками ((car ...), (cdr ...), (cons ...), (null ...)).

 

Практические задания

Для работы с преподавателем

1. Определите функцию возвращающую количество элементов в списке

2. Определите функцию возвращающую минимальный/максимальный элемент списка.

3. Определите функцию удаляющую из списка l все элементы равные k.

Для самостоятельной работы

Каждым студентом по указанию преподавателя выполняется одно из перечисленных ниже заданий.

1. Определите функцию удаляющую из списка l n-й элемент. Первым элементом списка считается голова списка.

2. Повторите задание 4 для списка с обратной нумерацией.

3. Определите функцию добавляющую в список l элемент k в качестве n-го элемента. Первым элементом считается голова списка.

4. Повторите задание 6 для списка с обратной нумерацией элементов.

5. Определите функцию моделирующую "детскую считалочку". В кругу стоит n человек имеющих разные имена, в "считалочке" m слов. Функция должна возвращать последовательность выбывания игроков из круга.

 

 

Лабораторная работа № 3

(4 часа)

 

Практическое задание

Для самостоятельной работы

1. Определите функцию сортирующую заданный список.

 

 

Лабораторная работа № 4

(4 часа)

 

Практические задания

Для самостоятельной работы

Каждым студентом по указанию преподавателя выполняется одно из перечисленных ниже заданий.

1. Определите функцию осуществляющую перевод выражения записанного в инфиксной форме в выражение в префиксной форме.

2. Определите функцию, получающую в качестве аргумента неприведенный многочлен третьей степени и возвращающую этот же многочлен в приведенной форме.

3. Определите функцию вычисляющую определитель матрицы n-го порядка.

4. Определите функцию приводящую полученную матрицу к треугольному виду.

5. Определите функцию вычисляющую корни квадратного уравнения.

6. Определите функцию вычисляющую корни кубического уравнения.

7. Определить функцию вычисляющую площадь неправильного выпуклого многоугольника, заданного координатами вершин.

8. Определить функцию проверяющую равенство длин сторон выпуклого многоугольника (ребер выпуклого многогранника) заданного координатами вершин.

9. Существует лабиринт заданный квадратной матрицей. Значение каждого элемента матрицы соответствует или запрещенной клетке (барьеру), или разрешенной клетке (проходу). Два элемента матрицы соответствуют начальному и конечному пунктам. Необходимо найти наиболее короткий путь из начального пункта в конечный.

Пример:

3 1 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 1 1 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

1 1 0 0 1 1 1 1 1 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 1 1 1

0 0 0 0 1 1 0 1 4 0

0 0 0 0 0 0 0 0 0 0

0 - разрешенные клетки,

1 - запрещенные клетки,

3 - начальный пункт,

4 - конечный пункт.

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

10.Определите функцию возвращающую произведение двух матриц.

 

 

Лабораторная работа № 5

(4 часа)

 

Практические задания

Для самостоятельной работы

Каждым студентом по указанию преподавателя выполняется одно из перечисленных ниже заданий.

1. Определите функцию вычисляющую площадь прямоугольной трапеции методом прямоугольников. Кривая ограничивающая трапецию задается неприведенным многочленом n-го порядка, даны также начало и конец интервала интегрирования, шаг интегрирования.

2. Определить функцию вычисляющую методом Гаусса (метод исключения, преобразования матрицы к треугольному виду) корни системы линейных уравнений заданных в неприведенной форме.

Пример:

a11x1+a12x1+a13x2=b1-a14x2

a21x2+a22x1+a23x1=b1-a24x1

После приведения подобных система примет нормальный вид.

3. Повторите задание 2 используя метод обратной матрицы.

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.