
- •Введение
- •1. Методические указания к лабораторным работам
- •3. Лабораторные работы по курсу "Системы искусственного интеллекта"
- •5. Индивидуальные задания к лабораторным работам
- •6. Учебные демонстрационные примеры
- •Литература
- •Приложение 1.Руководство по применению системы "Turbo-prolog"
- •Приложение 2. Краткое руководство по применению языка Турбо-пролог версии 2.0
- •Содержание
Лабораторная работа № 14. Создание экспертной системы,
базирующейся на правилах, в Турбо-прологе.
Цель работы - изучение и практическое применение возможностей среды "Turbo-prolog" для создания экспертной системы САПР, основанной на правилах.
Необходимо изучить структуру и функции демонстрационной программы, реализующей учебный вариант на языке Турбо-пролог, скомпилировать и выполнить ее в диалоге. Изучить раздел пользовательского интерфейса.
Кроме того, следует разработать, ввести собственный интерфейс пользователя и механизм вывода, реализующие вариант индивидyального задания, а также выполнить отладку программы и продемонстрировать ее работу преподавателю.
Лабораторная работа № 15. Разработка обучающейся экспертной
системы для САПР, базирующейся на логике, в Турбо-прологе.
Цель работы - изучение и практическое применение возможностей среды "Turbo-prolog" для создания интеллектуальной подсистемы САПР в виде экспертной системы с возможностями обучения в условиях долговременной эксплуатации.
Требуется изучить структуру и функции учебного демонстрационного примера на языке Турбо-пролог, скомпилировать его и проанализировать функционирование вне среды "Turbo-prolog".
Кроме того, необходимо разработать в соответствии с индивидуальным заданием, ввести, отладить и испытать на заданных примерах вне среды "Turbo-prolog" экспертную систему, основанную на фактах, с обучением.
5. Индивидуальные задания к лабораторным работам
К лабораторной работе № 2. Установление родственных связей.
Построить предикат по заданию преподавателя, например, зять или шурин.
20
К лабораторной работе № 3. Организация циклов.
1.Вводить два числа и искать их произведение до тех пор, пока не будет введена в качестве второго числа 1.
2.Вводить два числа и искать их произведение до тех пор, пока не будет введен в качестве первого числа 0.
3.Вводить два числа и искать их сумму до тех пор, пока не будет введен в качестве второго числа 0.
4.Вводить два числа и искать их сумму до тех пор, пока не будет введена в качестве первого числа 1.
5.Вводить два числа и искать их частное до тех пор, пока не будет введена в качестве второго числа 1.
6.Вводить два числа и искать их частное до тех пор, пока не будет введен в качестве первого числа 0.
7.Вводить два числа и искать их разность до тех пор, пока не будет введен в качестве второго числа 0.
8.Вводить два числа и искать их разность до тех пор, пока введенные числа не будут одинаковыми.
9.Вводить две строки и находить их сцепление до тех пор, пока вторая строка не будет введена пустой.
10.Вводить две строки и находить их сцепление до тех пор, пока первая строка не будет введена пустой.
11.Вводить две строки и находить их сцепление до тех пор, пока первая строка не будет введена равной a.
12.Вводить две строки и находить их сцепление до тех пор, пока вторая строка не будет введена равной a.
13.Вводить три целых числа и искать их среднее арифметическое до тех пор, пока третье число не будет введено равным 0.
14.Вводить три целых числа и искать их среднее арифметическое до тех пор, пока второе число не будет введено равным 0.
15.Вводить три целых числа и искать их среднее арифметическое до тех пор, пока первое число не будет введено равным 0.
16.Вводить три числа и искать их среднее геометрическое до тех пор, пока в качестве третьего числа не будет введена 1.
17.Вводить три числа и искать их среднее геометрическое до тех пор, пока в качестве второго числа не будет введена 1.
18.Вводить три числа и искать их среднее геометрическое до тех пор, пока в качестве первого числа не будет введена 1.
21
19.Вводить два числа и выводить их на экран до тех пор, пока второе число не будет введено четным.
20.Вводить два числа и выводить их на экран до тех пор, пока первое число не будет введено четным.
21.Вводить два числа и выводить их на экран до тех пор, пока первое число не будет введено нечетным.
22.Вводить два числа и выводить их на экран до тех пор, пока второе число не будет введено нечетным.
23.Вводить два числа и выводить их на экран до тех пор, пока введенные числа не будут равными.
24.Вводить два числа и искать их произведение до тех пор, пока оно не будет равно 0.
25.Вводить два числа и искать их сумму до тех пор, пока она не будет равна 0.
26.Вводить два числа и искать их частное до тех пор пока оно не будет равно 1.
27.Вводить два числа и искать их разность до тех пор, пока она не будет равна 0.
28.Вводить три числа и искать их среднее геометрическое до тех пор, пока оно не окажется равным 1.
29.Вводить три числа и искать их среднее арифметическое до тех пор, пока оно не окажется равным 0.
30.Вводитьтричисладотехпор, покаихсумманеокажется равной0.
К лабораторной работе № 4. Работа с текстами.
В режимах с внутренней и внешней целью выполнить следующие задания.
1.Организовать ввод строкового предложения и процедуру разделения его на отдельные слова. Полученные слова упорядочить в алфавитном порядке.
2.Организовать ввод строкового предложения и процедуру разделения его на отдельные слова. Полученные слова упорядочить в порядке, обратном алфавитному.
3.Организовать ввод слова и процедуру разделения его на отдельные буквы. Полученные буквы упорядочить в алфавитном порядке.
22
4.Организовать ввод слова и процедуру разделения его на отдельные буквы. Полученные буквы упорядочить в порядке, обратном алфавитному.
5.Организовать ввод строкового предложения. Удалить в предложении первое и последнее слова.
6.Организовать ввод строкового предложения и целого числа. Удалить в предложении слово, стоящее на месте, номер которого равен введенному числу.
7.Организовать ввод слова. Удалить в слове первую и последнюю
буквы.
8.Организовать ввод слова и целого числа. Удалить в слове букву, стоящую на месте, номер которого равен введенному числу.
9.Организовать ввод строкового предложения и процедуру разделения его на отдельные слова. Найти самое длинное слово.
10.Организовать ввод строкового предложения и процедуру разделения его на отдельные слова. Найти самое короткое слово.
11.Организовать ввод строкового предложения и слова. Организовать процедуру исключения слова из предложения. В случае отсутствия слова в предложении выдать диагностическое сообщение.
12.Организовать ввод строкового предложения и слова. Организовать процедуру удвоения слова в предложении. В случае отсутствия слова в предложении выдать диагностическое сообщение.
13.Организовать ввод слова и буквы. Организовать процедуру исключения буквы из слова. В случае отсутствия буквы в слове выдать диагностическое сообщение.
14.Организовать ввод слова и буквы. Организовать процедуру удвоения буквы в слове. В случае отсутствия буквы в слове выдать диагностическое сообщение.
15.Организовать ввод строкового предложения и процедуру разделения его на отдельные слова. Вывести на экран слова, представляющие собой целые числа.
16.Организовать ввод строкового предложения и процедуру разделения его на отдельные слова. Вывести на экран слова, представляющие собой вещественные числа.
17.Организовать ввод слова и процедуру разделения его на отдельные буквы. Вывести на экран цифры, входящие в состав слова.
18.Организовать ввод строкового предложения и удалить в нем лишние пробелы (оставить по одному).
23
19.Организовать ввод строкового предложения и удалить в нем все пробелы.
20.Организовать ввод строкового предложения и удалить в нем все знаки препинания.
21.Организовать ввод строкового предложения и после каждого слова поставить знаки препинания (например, запятые).
22.Организоватьвводсловаипослекаждой буквывставитьпробел.
23.Организовать ввод слова и удалить в нем все встречающиеся
цифры.
24.Организовать ввод слова и выделить в нем все последовательности цифр, т.е. целые числа.
25.Организовать ввод строкового предложения и переписать все его слова в обратной последовательности.
26.Организовать ввод слова и реверсировать его (переписать все буквы в обратной последовательности).
27.Определить, является ли введенное слово "перевертышем".
28.Организовать ввод строкового предложения и процедуру разделения его на отдельные слова. Удалить самое длинное слово.
29.Организовать ввод строкового предложения и процедуру разделения его на отдельные слова. Удалить самое короткое слово.
30.Организовать ввод слова и целого числа, большего, чем длина слова. Дополнить слово какими-либо знаками (например, подчеркиванием) до заданной длины.
К лабораторной работе № 5. Работа со списками.
В режимах с внутренней и внешней целью выполнить задание варианта.
1.Организовать ввод и формирование целочисленного списка с проверкой. Найти минимальный элемент списка. Вычесть его из всех элементов списка. Упорядочить полученный список по возрастанию.
2.Организовать ввод и формирование вещественного списка с проверкой. Найти среднее арифметическое значение элементов списка. Добавить его ко всем элементам списка. Упорядочить полученный список по убыванию.
3.Организовать ввод и формирование вещественного списка с проверкой. Найти минимальный элемент списка. Вычесть его из всех элементов списка. Упорядочить полученный список по убыванию.
24
4.Организовать ввод и формирование целочисленного списка с проверкой. Найти максимальный элемент списка. Добавить его ко всем элементам списка. Упорядочить полученный список по возрастанию.
5.Организовать ввод и формирование вещественного списка с проверкой. Найти максимальный элемент списка. Добавить его ко всем элементам списка. Упорядочить полученный список по убыванию.
6.Организовать ввод и формирование вещественного списка с проверкой. Найти среднее арифметическое значение элементов списка. Вычесть его из всех элементов списка. Упорядочить полученный список по убыванию.
7.Организовать ввод и формирование целочисленного списка с проверкой. Найти среднее арифметическое значение элементов списка. Вычесть его из всех элементов списка. Упорядочить полученный список по возрастанию.
8.Организовать ввод и формирование целочисленного списка с проверкой. Найти среднее арифметическое значение элементов списка. Добавить его ко всем элементам списка. Упорядочить полученный список по возрастанию.
9.Организовать ввод и формирование целочисленного списка с проверкой. Найти среднее геометрическое значение элементов списка. Вычесть его из всех элементов списка. Упорядочить полученный список по возрастанию.
10.Организовать ввод и формирование двух вещественных списков с проверкой. Найти их объединение без повторов. Упорядочить полученный список по возрастанию.
11.Организовать ввод и формирование целочисленного списка с проверкой. Найти среднее геометрическое значение элементов списка. Добавить его ко всем элементам списка. Упорядочить полученный список по возрастанию.
12.Организовать ввод и формирование двух списков с проверкой целочисленного и вещественного. Найти их пересечение. Упорядочить полученный список по убыванию.
13.Организовать ввод и формирование целочисленного списка с проверкой и ввод целого числа. Вычесть значение элемента, стоящего на месте, номер которого совпадает с введенным числом, из всех элементов списка. Упорядочить полученный список по убыванию.
14.Организовать ввод и формирование двух списков с проверкой целочисленного и вещественного. Найти их объединение. Упорядочить полученный список по убыванию.
25
15.Организовать ввод и формирование целочисленного списка с проверкой и ввод целого числа. Добавить значение элемента, стоящего на месте, номер которого совпадает с введенным числом, ко всем элементам списка. Упорядочить полученный список по убыванию.
16.Организовать ввод и формирование вещественного списка с проверкой и ввод целого числа. Добавить значение элемента, стоящего на месте, номер которого совпадает с введенным числом, ко всем элементам списка. Упорядочить полученный список по возрастанию.
17.Организовать ввод и формирование целочисленного списка с проверкой. Удалить в нем первый и последний элементы. Упорядочить полученный список по возрастанию.
18.Организовать ввод и формирование вещественного списка с проверкой. Удалить в нем первый и последний элементы. Упорядочить полученный список по убыванию.
19.Организовать ввод и формирование целочисленного списка с проверкой и ввод целого числа. Удалить в списке элемент, стоящий на месте, номер которого совпадает с введенным числом. Упорядочить полученный список по возрастанию.
20.Организовать ввод и формирование вещественного списка с проверкой и ввод целого числа. Удалить в списке элемент, стоящий на месте, номер которого совпадает с введенным числом. Упорядочить полученный список по убыванию.
21.Организовать ввод и формирование целочисленного списка с проверкой и ввод целого числа. Заменить элемент, стоящий на месте, номер которого совпадает с введенным числом, на сам номер. Упорядочить полученный список по возрастанию.
22.Организовать ввод и формирование вещественного списка с проверкой и ввод целого числа. Заменить элемент, стоящий на месте, номер которого совпадает с введенным числом, на сам номер. Упорядочить полученный список по убыванию.
23.Организовать ввод и формирование вещественного списка с проверкой. Найти среднее геометрическое значение элементов списка. Вычесть его из всех элементов списка. Упорядочить полученный список по убыванию.
24.Организовать ввод и формирование двух целочисленных списков с проверкой. Найти их пересечение. Упорядочить полученный список по возрастанию.
26
25.Организовать ввод и формирование двух вещественных списков с проверкой. Найти их пересечение. Упорядочить полученный список по убыванию.
26.Организовать ввод и формирование двух вещественных списков с проверкой. Найти их объединение без повторов. Упорядочить полученный список по убыванию.
27.Организовать ввод и формирование вещественного списка с проверкой. Найти среднее геометрическое значение элементов списка. Добавить его ко всем элементам списка. Упорядочить полученный список по убыванию.
28.Организовать ввод и формирование двух списков с проверкой целочисленного и вещественного. Найти их пересечение. Упорядочить полученный список по возрастанию.
29.Организовать ввод и формирование двух списков с проверкой целочисленного и вещественного. Найти их объединение. Упорядочить полученный список по возрастанию.
30.Организовать ввод и формирование вещественного списка с проверкой и ввод целого числа. Вычесть значение элемента, стоящего на месте, номер которого совпадает с введенным числом, из всех элементов списка. Упорядочить полученный список по возрастанию.
К лабораторной работе № 7. Изучение методов повторения и рекурсии в Турбо-прологе.
1.Прием с клавиатуры двух вещественных чисел и выдача на экран их отношения с прерыванием при делении на 0.0.
2.Прием с клавиатуры двух целых чисел и выдача их на экран с прерыванием при вводе 1 в качестве первого числа.
3.Прием с клавиатуры трех целых чисел и выдача на экран их суммы с прерыванием при получении 111 в качестве суммы.
4.Прием с клавиатуры вещественных чисел и выдача их на экран с прерыванием при вводе числа 0,111.
5.Прием с клавиатуры двух целых чисел и выдача на экран их отношения с прерыванием при получении нецелого отношения.
6.Прием с клавиатуры двух вещественных чисел и выдача их на экран с прерыванием при вводе 1,111 в качестве второго числа.
7.Прием с клавиатуры трех вещественных чисел и выдача на экран их суммы с прерыванием при получении 101,010 в качестве суммы.
27
8.Прием с клавиатуры целых чисел и выдача на экран их произведения с прерыванием при получении нечетного произведения.
9.Прием с клавиатуры пар символов и выдача их на экран с прерыванием при вводе символа W в качестве второго из пары.
10.Прием с клавиатуры двух целых чисел и выдача на экран их разности с прерыванием при вводе 9 в качестве второго числа.
11.Прием с клавиатуры целых чисел и выдача их на экран с прерыванием при вводе числа 0.
12.Прием с клавиатуры двух целых чисел и выдача на экран их произведенияс прерыванием приполучении999 вкачестве произведения.
13.Прием с клавиатуры трех целых чисел и выдача на экран их произведения с прерыванием при вводе четного третьего числа.
14.Прием с клавиатуры пар символов и выдача их на экран с прерыванием при вводе символа *.
15.Прием с клавиатуры двух целых чисел и выдача их на экран с прерыванием при вводе четного числа в качестве второго.
16.Ввод по две строки и нахождение их конкатенации с прерыванием, когда первая строка не будет введена равной a.
17.Прием с клавиатуры трех целых чисел и выдача на экран их среднего арифметического до тех пор, пока третье число не будет введено равным 0.
18.Ввод трех целых чисел и нахождение их среднего арифметического до тех пор, пока второе число не будет меньше первого.
19.Ввод трех целых чисел и нахождение их среднего арифметического до тех пор, пока первые два числа не будут введены равными 0.
20.Ввод трех целых чисел и нахождение их среднего арифметического до тех пор, пока в качестве третьего числа не будет введена 1.
21.Ввод трех целых чисел и нахождение их среднего арифметического до тех пор, пока в качестве второго числа не будет введена 1.
22.Ввод трех целых чисел и нахождение их среднего арифметического до тех пор, пока в качестве первого и второго чисел не будетвведена1.
23.Ввод двух целых чисел и вывод их на экран до тех пор, пока второе число не будет введено четным.
28
24.Ввод двух целых чисел и вывод их на экран до тех пор, пока первое число не будет введено нечетным.
25.Ввод двух целых чисел и вывод их на экран до тех пор, пока оба числа не будут введены нечетными.
26.Ввод двух целых чисел и вывод их на экран до тех пор, пока сумма чисел не будет нечетной.
27.Ввод двух целых чисел и вывод их на экран до тех пор, пока введенные числа не будут равными.
28.Ввод двух целых чисел и нахождение их произведения до тех пор, пока оно не будет равно 0.
29.Ввод двух целых чисел и нахождение их суммы до тех пор, пока она не будет равна 0.
30.Ввод двух целых чисел и нахождение их частного до тех пор, пока оно не будет равно 1.
К лабораторной работе № 8. Изучение операций с файлами на внешних носителях.
1.Организовать ввод имени файла, ввод и формирование целочисленного списка с проверкой. Упорядочить полученный список и записать его в файл.
2.Организовать ввод имени файла, ввод и формирование вещественного списка с проверкой. Упорядочить полученный список по убыванию и записать в файл.
3.Организовать ввод имени файла, ввод и формирование двух целочисленных списков. Найти их пересечение. Упорядочить полученный список и записать в файл.
4.Организовать ввод имени файла, ввод и формирование двух вещественных списков с проверкой. Найти их объединение без повторов. Упорядочить полученный список по убыванию и записать в файл.
5.Организовать ввод имени файла, ввод и формирование двух списков с проверкой целочисленного и вещественного. Найти их объединение. Упорядочить полученный список по убыванию и записать
вфайл.
6.Организовать ввод имени файла, ввод строкового предложения и строкового образца. Исключить образец из предложения с повторами и записать результат в файл. В случае отсутствия образца в предложении выдать диагностическое сообщение.
29
7.Организовать ввод имени файла, ввод строкового предложения и строкового образца. Организовать процедуру удвоения образца в предложении с повторами и записать результат в файл. В случае отсутствия образца в предложении выдать диагностическое сообщение.
8.Организовать ввод имени файла, ввод и формирование двух строковых списков. Найти их пересечение. Упорядочить полученный список в алфавитном порядке и записать в файл.
9.Организовать ввод имени файла, ввод и формирование двух строковых списков. Найти их объединение. Упорядочить полученный список в порядке, обратном алфавитному, и записать в файл.
10.Организовать ввод имени файла и ввод предложения. Преобразовать его в список слов. Записать список слов в файл построчно.
11.Организовать ввод имени файла, ввод и формирование целочисленного списка. Найти минимальный элемент списка. Записать результаты в файл построчно.
12.Организовать ввод имени файла, ввод и формирование вещественного списка с проверкой. Найти максимальный элемент списка. Записать результаты в файл построчно.
13.Организовать ввод имени файла, ввод и формирование двух целочисленных списков. Упорядочить полученные списки по убыванию
изаписать в файл построчно.
14.Организовать ввод имени файла, ввод и формирование двух вещественных списков. Найти их объединение. Упорядочить полученный список по возрастанию и записать в файл.
15.Организовать ввод имени файла, ввод и формирование двух списков с проверкой целочисленного и вещественного. Найти их объединение и записать в файл.
16.Организовать ввод имени файла, ввод строкового предложения
истрокового образца. Организовать процедуру удвоения образца в предложении и записать результат в файл.
17.Организовать ввод имени файла, ввод строкового предложения
истрокового образца. Организовать процедуру исключения образца из предложения и записать результат в файл.
18.Организовать ввод имени файла, ввод и формирование двух строковых списков. Найти их пересечение и записать результат в файл.
19.Организовать ввод имени файла, ввод и формирование двух строковых списков. Найти их объединение и записать результат в файл.
20.Организовать ввод имени файла и ввод предложения. Преобразовать его в список слов и записать в файл построчно.
30
21.Организовать ввод имени файла, ввод и формирование целочисленного списка. Упорядочить полученный список по неубыванию и записать в файл.
22.Организовать ввод имени файла, ввод и формирование вещественного списка. Упорядочить полученный список по невозрастанию и записать в файл.
23.Организовать ввод имени файла, ввод и формирование двух целочисленных списков с проверкой. Упорядочить полученные списки по возрастанию и записать в файл построчно.
24.Организовать ввод имени файла, ввод и формирование двух вещественных списков. Упорядочить полученные списки по убыванию
изаписать в файл.
25.Организовать ввод имени файла, ввод и формирование двух списков с проверкой целочисленного и вещественного. Упорядочить полученные списки по убыванию и записать в файл.
26.Организовать ввод имени файла, ввод строкового предложения
истрокового образца и записать результаты в файл построчно.
К лабораторной работе № 9. Формирование строк и списков в экспертной оболочке "Turbo-prolog".
1.Организовать ввод и формирование целочисленного списка с проверкой. Найти минимальный элемент списка. Вычесть его из всех элементов списка. Упорядочить полученный список.
2.Организовать ввод и формирование вещественного списка с проверкой. Найти максимальный элемент списка. Добавить его ко всем элементам списка. Упорядочить полученный список по убыванию.
3.Организовать ввод и формирование двух целочисленных списков с проверкой. Найтиих пересечение. Упорядочитьполученныйсписок.
4.Организовать ввод и формирование двух вещественных списков
спроверкой. Найти их объединение без повторов. Упорядочить полученный список по убыванию.
5.Организовать ввод и формирование двух списков с проверкой целочисленного и вещественного. Найти их объединение. Упорядочить полученный список по убыванию.
6.Организовать ввод строкового предложения и строкового образца. Организовать процедуру исключения образца из предложения с повторами. Вслучаеотсутствияобразцав предложении выдатьсообщение.
31
7.Организовать ввод строкового предложения и строкового образца. Организовать процедуру удвоения образца в предложении с повторами. В случае отсутствия образца в предложении выдать сообщение.
8.Организовать ввод и формирование двух строковых списков. Найти их пересечение. Упорядочить полученный список в алфавитном порядке.
9.Организовать ввод и формирование двух строковых списков. Найти их объединение. Упорядочить полученный список в порядке, обратном алфавитному.
10.Организовать ввод предложения. Преобразовать его в список слов. Упорядочить полученный список с исключением повторов в алфавитном порядке.
11.Организовать ввод и формирование целочисленного списка с проверкой. Найти минимальный элемент списка. Добавить его ко всем элементам списка. Упорядочить полученный список по убыванию.
12.Организовать ввод и формирование вещественного списка с проверкой. Найти максимальный элемент списка. Вычесть его из всех элементов списка. Упорядочить полученный список по возрастанию.
13.Организовать ввод и формирование двух целочисленных списков с проверкой. Найти их пересечение. Упорядочить полученный список по убыванию.
14.Организовать ввод и формирование двух вещественных списков с проверкой. Найти их объединение без повторов. Упорядочить полученный список по возрастанию.
15.Организовать ввод и формирование двух списков с проверкой целочисленного и вещественного. Найти их объединение. Упорядочить полученный список по возрастанию.
16.Организовать ввод строкового предложения и строкового образца. Организовать процедуру удвоения образца в предложения с повторами.
Вслучаеотсутствияобразцав предложении выдатьсообщение.
17.Организовать ввод строкового предложения и строкового образца. Организовать процедуру исключения образца из предложения с повторами. В случае отсутствия образца в предложении выдать сообщение.
18.Организовать ввод и формирование двух строковых списков. Найти их пересечение. Упорядочить полученный список в алфавитном порядке.
32
19.Организовать ввод и формирование двух строковых списков. Найти их объединение. Упорядочить полученный список в порядке, обратном алфавитному.
20.Организовать ввод предложения. Преобразовать его в список слов. Упорядочить полученный список с исключением повторов в алфавитном порядке.
21.Организовать ввод и формирование целочисленного списка с проверкой. Найти минимальный элемент списка. Вычесть его из всех элементов списка. Упорядочить полученный список по неубыванию.
22.Организовать ввод и формирование вещественного списка с проверкой. Найти максимальный элемент списка. Добавить его ко всем элементам списка. Упорядочить полученный список по невозрастанию.
23.Организовать ввод и формирование двух целочисленных списков с проверкой. Найти их пересечение. Упорядочить полученный список по возрастанию.
24.Организовать ввод и формирование двух вещественных списков с проверкой. Найти их объединение без повторов. Упорядочить полученный список по убыванию.
25.Организовать ввод и формирование двух списков с проверкой целочисленного и вещественного. Найти их объединение. Упорядочить полученный список по убыванию.
26.Организовать ввод строкового предложения и строкового образца. Организовать процедуру исключения образца из предложения
сповторами. В случае отсутствия образца в предложении выдать сообщение.
К лабораторной работе № 10. Создание базы данных.
1.Создать базу данных железнодорожного сообщения для нескольких городов.
2.Создать базу данных автобусного сообщения для нескольких городов.
3.Создать базу данных авиационного сообщения для нескольких городов.
4.Создатьбазуданныхводногосообщениядлянескольких городов.
5.Создать базу данных автобусного сообщения внутри города.
6.Создать базу данных троллейбусного сообщения внутри города.
7.Создать базу данных трамвайного сообщения внутри города.
33
8.Создать базу данных сообщения внутри города с помощью маршрутного такси.
9.Создать базу данных (каталог) фондов библиотеки.
10.Создать базу данных (каталог) читального зала библиотеки.
11.Создать базу данных (картотеку) поликлиники.
12.Создать базу данных (картотеку) больницы.
13.Создать базу данных (картотеку) профилактория.
14.Создать базу данных (картотеку) санатория.
15.Создать базу данных расписания занятий студентов.
16.Создать базу данных расписания занятий преподавателей.
17.Создать базу данных катастроф и стихийных бедствий.
18.Создать базу данных аварий.
19.Создать базу данных отдела кадров небольшого предприятия.
20.Создать базу данных бухгалтерии небольшого предприятия.
21.Создать базу данных теннисного турнира.
22.Создать базу данных хоккейного турнира.
23.Создать базу данных футбольного турнира.
24.Создать базу данных волейбольного турнира.
25.Создать базу данных баскетбольного турнира.
26.Создать базу данных гонок "Формула-I".
27.Создать базу данных расселения животных.
28.Создать базу данных продуктового магазина.
29.Создать базу данных промтоварного магазина.
30.Создать базу данных склада.
К лабораторной работе № 11. Организация экспертной системы.
На базе результатов работы № 10 создать интерфейс экспертной системы, предусматривающий обработку заданных запросов и двух запросов на усмотрение разработчиков. Обязательны следующие запросы.
1. Существует ли железнодорожное сообщение, связывающее два населенных пункта? Есть ли билеты на конкретное число из одного города в другой? По каким дням и в какое время отправляются поезда из одного города в другой? Как доехать из одного города в другой, если между ними нет прямого сообщения?
34
2.Существует ли маршрут, связывающий два населенных пункта? Есть ли билеты на конкретное число из одного города в другой? По каким дням и в какое время отправляются конкретные номера маршрутов? Как доехать из одного города в другой, если между ними нет прямого сообщения?
3.Из какого аэропорта летают самолеты до заданного города? По каким дням недели есть утренние рейсы до данного города? Есть ли билеты до заданного города на определенное число текущего месяца в некотором временном интервале? Какова длительность полета в некоторый город?
4.Существует ли маршрут, связывающий два населенных пункта? Есть ли билеты на конкретное число из одного города в другой? По каким дням и в какое время отправляются корабли? Как доехать из одного города в другой, если между ними нет прямого сообщения?
5.Существует ли маршрут, связывающий два района? С какими интервалами отправляются конкретные номера маршрутов? До какого времени можно попасть в заданный район? Как доехать из одного района в другой, если между ними нет прямого сообщения?
6.Существует ли маршрут, связывающий два района? Какова длительность поездки в заданный район? До какого времени можно попасть в заданный район? Как доехать из одного района в другой?
7.Существует ли маршрут, связывающий два района? С какими интервалами отправляются конкретные номера маршрутов? Какова длительность поездки из одного района в другой? Как доехать из одного района в другой, если между ними нет прямого сообщения?
8.Существует ли маршрут, связывающий два района? До какого времени можно попасть в заданный район? Какова длительность поездки из одного района в другой? Как доехать из одного района в другой, если между ними нет прямого сообщения?
9.Какие книги заданного автора зарегистрированы в каталоге? Какие книги заданной тематики, вышедшие не позднее некоторого года, имеются в библиотеке? Можно ли сейчас получить книгу заданного автора? Какие книги заданной тематики имеются в библиотеке?
10.Какие книги заданного автора имеются в читальном зале? Какие книги заданной тематики, вышедшие не позднее некоторого года, имеются в читальном зале? Можно ли сейчас получить книгу заданного автора? Сколько книг заданной тематики имеется в читальном зале?
35
11.Какие симптомы заболевания у данного пациента? Способ лечения конкретного пациента? Какие симптомы у данной болезни? Кто из пациентов находится в заданном возрастном диапазоне?
12.Какие симптомы заболевания у данного пациента? Какой врач "ведет" конкретного пациента? Какова продолжительность лечения заданного пациента? Сколько пациентов находится в заданном возрастном диапазоне?
13.Какие симптомы заболевания у данного пациента? Способ лечения конкретного пациента? Какие симптомы у данной болезни? Кто из пациентов находится в заданном возрастном диапазоне?
14.Какие симптомы заболевания у данного пациента? Какой врач "ведет" конкретного пациента? Каковы методы лечения данной болезни? Сколько пациентов находится в заданном возрастном диапазоне?
15.Какой преподаватель ведет заданный курс в конкретной группе? Какие преподаватели могут провести "замену" в данной группе
вконкретное время? Какая дисциплина преподается в данной группе в данное время заданного дня недели? Сколько часов занятий по данному курсу за семестр у конкретной группы?
16.В каких группах ведет заданный курс преподаватель? Сколько дисциплин преподается преподавателем в данной группе? Какая дисциплина преподается преподавателем в данное время заданного дня недели? Сколько часов занятий за семестр у конкретного преподавателя?
17.Какие катастрофы происходили в заданном регионе? Сколько людей пострадало в результате различных стихийных бедствий за конкретный период времени? Сколько времени требуется МЧС для оказания помощи в данном районе? Какова статистика катастроф и стихийных бедствий в различных районах?
18.Какие аварии происходили в заданном районе? Сколько людей пострадало в результате различных аварий в данном районе? Какова статистика аварий в различных районах? Какие аварии привели к числу пострадавших, большему указанного?
19.Какие вакансии имеются на данном предприятии? Кто из работающих сотрудников может претендовать на вакантную должность? Каков средний возраст сотрудников (мужчин и женщин отдельно) в различных подразделениях предприятия? Какая профессия наиболее распространена на предприятии?
36
20.Какие тарифы имеются на данном предприятии? Кто из работающих сотрудников находится в заданном интервале заработной платы? Есть ли в данном отделе специалисты необходимой квалификации? Какова средняя зарплата сотрудников (мужчин и женщин отдельно) в различных подразделениях предприятия?
21.Сколько партий сыграл данный теннисист? С какими игроками встречался данный теннисист и каков был результат? Сколько побед одержал заданный игрок? Каков рейтинг игроков?
22.Сколько игр сыграла данная команда? С какими командами встречалась заданная и каков был результат? Сколько побед одержала заданная команда? Каково турнирное положение заданной команды?
23.Сколько побед одержала заданная команда? С какими командами встречалась заданная и каков был результат? От кого потерпела поражения заданная команда? Сколько очков у команды в турнире?
24.Сколько игр сыграла данная команда? С какими командами встречалась заданная и каков был результат? Сколько побед одержала заданная команда? Каково турнирное положение заданной команды?
25.Сколько побед одержала заданная команда? Каков был результат встречи двух заданных команд? От кого потерпела поражения заданная команда? Сколько очков у команды в турнире?
26.В скольких гонках участвовала заданная команда? Какой гонщик принес заданной команде больше очков? В скольких этапах победу одержала заданная команда? Каков рейтинг заданной команды?
27.Какие в заданном районе имеются животные определенного класса (например, млекопитающие)? Какие животные данного региона занесены в Красную книгу? Какова численность данных животных в заданном регионе? Какие заповедники есть в данном районе?
28.Имеется ли в магазине данный продукт? Какова стоимость заданного набора продуктов в магазине? От каких поставщиков получают заданный тип товара? Сколько единиц данного товара находится сейчас на складе?
29.Какова номенклатура товаров в магазине? Какова стоимость заданного товара в магазине? От каких поставщиков получают заданный тип товара? Сколько единиц данного товара находится на складе?
30.Имеется ли данный товар на складе? От каких поставщиков получают заданный тип товара? Сколько единиц товара данной категории находится сейчаснаскладе? Какованоменклатуратоваровнаскладе?
37
К лабораторной работе № 13. Создание динамических баз данных в оперативной памяти и на внешних носителях в Турбо-прологе.
Варианты ДБД:
1.Абонентов Локальной вычислительной сети.
2.Графических компонентов пользовательского интерфейса САПР.
3.Логических элементов БИС.
4.Склада запчастей ПЭВМ.
5.Схемотехнических компонентов принципиальных схем.
6.Топологических компонентов ИМС.
7.Генераторов тригонометрических функций.
8.Неисправностей электронного оборудования.
9.Программных компонентов САПР.
10.Интеллектуального тестера для обнаружения неисправностей
вэлектрической цепи.
11.Системы размещения топологии и геометрических требований.
12.Системы анализа задержек для заданной топологии.
13.Библиотеки микросхем.
14.Абонентов Локальной вычислительной сети.
15.Графических компонентов пользовательского интерфейса САПР.
16.Логических элементов БИС.
17.Склада запчастей ПЭВМ.
18.Схемотехнических компонентов принципиальных схем.
19.Топологических компонентов ИМС.
20.Генераторов тригонометрических функций.
21.Неисправностей электронного оборудования.
22.Программных компонентов САПР.
23.Интеллектуального тестера для обнаружения неисправностей в электрической цепи.
24.Системы размещения топологии и геометрических требований.
25.Системы анализа задержек для заданной топологии.
26.Библиотеки микросхем.
27.Библиотеки программ.
28.Структурных элементов цепи.
29.Компонентов принципиальной электрической схемы.
39. Компонентов логической схемы.
38
К лабораторным работам
№14. Создание экспертной системы, базирующейся на правилах, в Турбо-прологе.
№15. Разработка обучающейся экспертной системы для САПР, базирующейся на логике, в Турбо-прологе.
1.Абонентов Локальной вычислительной сети.
2.Графических компонентов пользовательского интерфейса САПР.
3.Логических элементов БИС.
4.Склада запчастей ПЭВМ.
5.Схемотехнических компонентов принципиальных схем.
6.Топологических компонентов ИМС.
7.Генераторов тригонометрических функций.
8.Неисправностей электронного оборудования.
9.Программных компонентов САПР.
10.Интеллектуального тестера для обнаружения неисправностей в электрической цепи.
11.Системы размещения топологии и геометрических требований.
12.Системы анализа задержек для заданной топологии.
13.Библиотеки микросхем.
14.Абонентов Локальной вычислительной сети.
15.Графических компонентов пользовательского интерфейса САПР.
16.Логических элементов БИС.
17.Склада запчастей ПЭВМ.
18.Схемотехнических компонентов принципиальных схем.
19.Топологических компонентов ИМС.
20.Генераторов тригонометрических функций.
21.Неисправностей электронного оборудования.
22.Программных компонентов САПР.
23.Интеллектуального тестера для обнаружения неисправностей в электрической цепи.
24.Системы размещения топологии и геометрических требований.
25.Системы анализа задержек для заданной топологии.
26.Библиотеки микросхем.
27.Библиотеки программ.
28.Структурных элементов цепи.
29.Компонентов принципиальной электрической схемы.
30.Компонентов логической схемы.
39
Вариантытестовыхвопросов ксозданнымэкспертнымсистемам
1
1.1.Есть ли в данный момент связь между заданными абонентами?
1.2.Сколько и каких клиентов у какого сервера?
1.3.Какая задача потребовала участия трех абонентов?
1.4.Сколько свободных ресурсов осталось у заданного абонента?
2
2.1.Есть ли в данный момент связь между заданными окнами?
2.2.Сколько и каких файлов открыты в каком окне?
2.3.Какое из приложений имеет три незакрытых файла?
2.4.В какое окно идет выдача текста и какое окно принимает текст
склавиатуры?
3
3.1.Используются ли в заданном мультиплексоре одновременно инвертор и ячейка И?
3.2.Сколько и каких выходов у заданных трехвходовых ячеек
ИЛИ?
3.3.Какое устройство имеет в структуре триггер?
3.4.Есть ли и сколько быстродействующих элементов?
4
4.1.Есть ли на складе на одной полке монитор, клавиатура и
CD-ROM?
4.2.Сколько и каких одинаковых устройств находятся на каких заданных полках?
4.3.На каких полках имеется хотя бы один системный блок?
4.4.Есть ли на складе японский принтер?
5
5.1.Есть ли в заданных схемах (и каких) индуктивности?
5.2.В каких схемах одинаковое число резисторов?
5.3.Чегобольшевзаданных схемах - резисторовиликонденсаторов?
5.4.Существуетлисхема, вкоторойноминалемкостиболее100 пФ?
6
6.1.Есть ли в заданных топологических фрагментах 20-выводные посадочные места под корпуса микросхем?
6.2.В каких фрагментах одинаковой ширины области трассировки?
6.3.Предусмотрены ли в заданном фрагменте сильноточные коллекторные цепи?
40
7
7.1.Какие из заданных генераторов относятся к периодическим функциям?
7.2.Какие из генераторов относятся к нечетным функциям?
7.3.В каких генераторах период менее четырех вещественных
радиан?
7.4.Есть ли в пакете генератор косеканса?
8
8.1.В каких устройствах имеется несколько дефектов?
8.2.Вкаких изремонтопригодных устройствобнаруженагенерация?
8.3.Какие из устройств, в которых не классифицированы дефекты, работоспособны полностью?
8.4.Какой из дефектов является общим для трех заданных устройств?
9
9.1.Какие из имеющихся конвертеров могут диагностировать EDIF-описания?
9.2.Графические интерфейсы каких приложений работают в среде
DOS?
9.3.Какие программы печати не умеют распечатывать тексты на санскрите?
9.4.Какие общие признаки у трех заданных программных компонентов?
41
10
10.1.Какое напряжение следует использовать для определения величины емкости?
10.2.Какие устройства в электрической цепи требуют тестового напряжения более 100 В при токе регистратора от 1 мА?
10.3.Сколько времени потребует измерение RC-цепи при напряжении батареи в тестере 1 В?
10.4.Умеет ли тестер различать резисторы с одинаковой маркировкой?
11
11.1.Какие из заданных стандартных элементов можно использовать, если область размещения 100х1000 дискретов кв.?
11.2.В каких ориентациях заданный элемент можно разместить внутри заданного многоугольника?
11.3.Могут ли заданные элементы совпадать друг с другом заданными сторонами?
11.4.Уместятся ли по площади заданные элементы внутри заданной топологической фигуры?
12
12.1.Какие из затворов каких вентилей имеют задержки менее заданной величины?
12.2.Можно ли не учитывать транспортную задержку для заданного элемента при моделировании с точностью 50%?
12.3.Какие из заданных логических элементов применимы при частотах тактирования выше 10 МГц?
12.4.Какими одинаковыми параметрами описываются заданные
элементы?
13
13.1.Сколько в библиотеке микросхем КМОП?
13.2.Есть ли в библиотеке цифроаналоговые схемы свыше 1 ГГц?
13.3.У каких из цифровых микросхем одинаковая мощность?
13.4.В каких разделах библиотеки находятся чисто логические
схемы?
14
14.1.Естьливданныймоментсвязьмеждузаданнымиабонентами?
14.2.Сколько и каких клиентов у какого сервера?
14.3.Какая задача потребовала участия трех абонентов?
14.4.Сколько свободных ресурсов осталось у заданного абонента?
42
15
15.1.Есть ли в данный момент связь между заданными окнами?
15.2.Сколько и каких файлов открыты в каком окне?
15.3.Какое из приложений имеет три незакрытых файла?
15.4.В какое окно идет выдача текста и какое окно принимает текст с клавиатуры?
16
16.1.Используются ли в заданном мультиплексоре одновременно инвертор и ячейка И?
16.2.Сколько и каких выходов у заданных трехвходовых ячеек
ИЛИ?
16.3.Какое из устройств имеет в структуре триггер?
16.4.Есть ли и сколько быстродействующих элементов?
17
17.1.Есть ли на складе на одной полке монитор, клавиатура и
CD-ROM?
17.2.Сколько и каких одинаковых устройств находятся на каких заданных полках?
17.3.На каких полках имеется хотя бы один системный блок?
17.4.Есть ли на складе японский принтер?
18
18.1.Есть ли в заданных схемах (и каких) индуктивности?
18.2.В каких схемах одинаковое число резисторов?
18.3.Чегобольшевзаданных схемах - резисторов иликонденсаторов?
18.4.Существуетлисхема, вкоторойноминалемкостиболее100 пФ?
19
19.1.Естьливзаданныхтопологических фрагментах 20-выводные?
19.2.Есть ли посадочные места под корпуса микросхем?
19.3.Вкакихфрагментахобластитрассировкиодинаковойширины?
19.4.Предусмотрены ли в заданном фрагменте сильноточные
коллекторные цепи?
20
20.1.Какие из заданных генераторов относятся к периодическим функциям?
20.2.Какие из генераторов относятся к нечетным функциям?
20.3.В каких генераторах период менее четырех вещественных
радиан?
20.4.Есть ли в пакете генератор косеканса?
43
21
21.1.В каких устройствах имеется по нескольку дефектов?
21.2.Вкаких изремонтопригодных устройствобнаруженагенерация?
21.3.Какие из устройств, в которых не классифицированы дефекты, работоспособны полностью?
21.4.Какой из дефектов является общим для трех заданных
устройств?
22
22.1.Какие из имеющихся конвертеров могут диагностировать EDIF-описания?
22.2.Графические интерфейсы каких приложений работают в среде DOS?
22.3.Какие программы печати не умеют распечатывать тексты на санскрите?
22.4.Какие общие признаки у трех заданных программных компонентов?
23
23.1.Какое напряжение следует использовать для определения величины емкости?
23.2.Какие устройства в электрической цепи требуют тестового напряжения более 100 В при токе регистратора от 1 мА?
23.3.Сколько времени потребует измерение RC-цепи при напряжении батареи в тестере 1,5 В?
23.4.Умеет ли тестер различать резисторы с одинаковой маркировкой?
24
24.1.Какие из заданных стандартных элементов можно использовать, если область размещения 100х1000 дискретов кв.?
24.2.В каких ориентациях заданный элемент можно разместить внутри заданного многоугольника?
24.3.Могут ли заданные элементы совпадать друг с другом заданными сторонами?
24.4.Уместятся ли по габаритам заданные элементы внутри заданной топологической фигуры?
25
25.1.Какие из затворов каких вентилей имеют задержки менее заданной величины?
25.2.Можно ли не учитывать транспортную задержку для заданного элемента при моделировании с точностью 50%?
44
25.3.Какие из заданных логических элементов применимы при частотах тактирования выше 10 МГц?
25.4.Какими одинаковыми параметрами описываются заданные элементы?
26
26.1.Сколько в библиотеке микросхем КМОП?
26.2.Естьливбиблиотекецифроаналоговые схемыниже100 МГц?
26.3.У каких из цифровых микросхем наибольшая мощность?
26.4.В каких разделах библиотеки находятся чисто аналоговые
схемы?
27
27.1.Сколько в библиотеке программ?
27.2.Есть ли в библиотеке программы по объему более 50 Мбайт?
27.3.У каких из программ имеется графический интерфейс?
27.4.Для каких из программ предусмотрен выход на принтер?
28
28.1.Сколько в данной цепи структурных элементов?
28.2.Скольковданной цепигеометрическиоднородныхфрагментов?
28.3.Сколько полюсов в данной цепи?
28.4.Какие из цепей являются шинами?
29
29.1.Сколько в данной принципиальной электрической схеме компонентов?
29.2.Сколько в схеме резисторов?
29.3.Сколько в схеме реактивных элементов?
29.4.Какие из компонентов являются тепловыделяющими?
30
30.1.Сколько в данной логической схеме компонентов?
30.2.Сколько в схеме инверторов?
30.3.Сколько в данной схеме вентилей?
30.4.Сколько в данной схеме триггеров и какого типа?
45