docs / PROLAB4
.DOCМОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОННОЙ ТЕХНИКИ
Кафедра Проектирования И Конструирования Интегральных МикроСхем
Курс: Экспертные системы в САПР СБИС
Лабораторная работа N 4
Формирование строк и списков в экспертной оболочке "Turbo-prolog".
Подготовил: Авдеев Е.В.
Москва, 2000г.
Цель работы: изучение и практическое освоение применения среды "Turbo-prolog" для преобразований строк и списков.
Введение. Некоторые средства и методы Турбо-пролога.
Встроенный предикат определения длины String_length некоторой строки String_value:
str_len(String_value, String_length).
Встроенный предикат конкатенации строк:
concat(Input_string1,Input_string2,Output_string)
Встроенный предикат создания из строки L подстроки L1 заданной длины N c остатком в подстроке L2: frontstr(N,L,L1,L2).
Bcтроенные предикаты преобразования типов:
upper_lower(S1, S2), str_char(S, C), str_int(S, I), str_real(S, R), char_int('S', N).
Встроенный предикат конкатенации префикса Char к строке Str:
frontchar(Charstr, Char, Str).
Встроенный предикат проверки, является ли строка именем: isname(String).
Встроенный предикат формирования атома из строки:
fronttoken(String, Token, Rest_of_string).
Пример правила соединения двух входных целых списков L1 и L2 с созданием выходного списка L3 с помощью некоторого списочного предиката soedin(integer*,integer*,integer*):
soedin([],L,L).
soedin([N|L1],L2,[N|L3]) :- soedin(L1,L2,L3).
Пример правила преобразования строки в символ: conv(Str,Sym) :- Str=Sym.
Пример правила преобразования некоторой строки Str в список символов Sps:
cnv("", []).
cnv(Str, [Head|Tail] :- frontchar(Str, Head,Sps), cnv(Sps, Tail).
Пример правила преобразования некоторой строки S в список атомов Tok:
conv(S, [Head|Tail]) :- fronttoken(S, Head, Tok),!,conv(Tok,Tail).
Conv(_, []).
Лабораторные средства:
каталог LRPR2000 с подкаталогом GEOLAB и файлами
prolog.exe - экспертная оболочка "Тurbo-prolog",
prolog.cfg - текущая конфигурация системы,
prolog.err - расшифровка диагностических кодов,
prolog.hlp - описание системы "Turbo-prolog",
prolog.lib, prolog.ovl - вспомогательные подсистемы "Тurbo-prolog".
prolab1-..-8.doc - описания лабораторных работ 1-..-8.
work2-..-8.pro - рабочие файлы, содержащие на языке "Тurbo-prolog" примеры программ
ТИПОВАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ 4:
1) Распаковать на диск D файл prolog00.arj с созданием каталога LRPR2000
arj x -r prolog00.arj d:\
Изучить лабораторное задание prolab4.doc и войти в оболочку prolog.exe
Изучить структуру и функции программы ИСКЛЮЧЕНИЕ на языке Турбо-пролог в файле work4.pro, скомпилировать и выполнить ее, меняя цель в диалоге.
Разработать, ввести, скомпилировать и исполнить в диалоге на примерах программу, реализующую вариант индивидуального задания, получив у преподавателя номер своего варианта.
Сдать лабораторную работу 4, предъявив результаты диалога с созданной по пункту 4) программой, на примерах преподавателя и сохранить нужные Вам файлы в Вашем Рабочем Каталоге.
Уничтожить созданный Вами каталог LRPR2000 на диске D со всем содержимым.
ВАРИАНТЫ ЛАБОРАТОРНОГО ЗАДАНИЯ
1. Организовать ввод и формирование целочисленного списка с проверкой. Найти минимальный элемент списка. Вычесть его из всех элементов списка. Упорядочить полученный список.
2. Организовать ввод и формирование вещественного списка с проверкой. Найти максимальный элемент списка. Добавить его ко всем элементам списка. Упорядочить полученный список по убыванию.
Организовать ввод и формирование двух целочисленных списков с проверкой. Найти их пересечение. Упорядочить полученный список.
4. Организовать ввод и формирование двух вещественных списков с проверкой. Найти их объединение без повторов. Упорядочить полученный список по убыванию.
5. Организовать ввод и формирование двух списков с проверкой целочисленного и вещественного. Найти их объединение. Упорядочить полученный список по убыванию.
6. Организовать ввод строкового предложения и строкового образца. Организовать процедуру исключения образца из предложения с повторами. В случае отсутствия образца в предложении выдать сообщение.
7.Организовать ввод строкового предложения и строкового образца. Организовать процедуру удвоения образца в предложении с повторами. В случае отсутствия образца в предложении выдать сообщение.
8. Организовать ввод и формирование двух строковых списков. Найти их пересечение. Упорядочить полученный список в алфавитном порядке.
9. Организовать ввод и формирование двух строковых списков. Найти их объединение. Упорядочить полученный список в обратном к алфавитному порядке.
Организовать ввод предложения. Преобразовать его в список слов. Упорядочить полученный список с исключением повторов в алфавитном порядке
11. Организовать ввод и формирование целочисленного списка с проверкой. Найти минимальный элемент списка. Добавить его ко всем элементам списка. Упорядочить полученный список по убыванию.
12. Организовать ввод и формирование вещественного списка с проверкой. Найти максимальный элемент списка. Вычесть его из всех элементов списка. Упорядочить полученный список по возрастанию.
13. Организовать ввод и формирование двух целочисленных списков с проверкой. Найти их пересечение. Упорядочить полученный список по убыванию.
14. Организовать ввод и формирование двух вещественных списков с проверкой. Найти их объединение без повторов. Упорядочить полученный список по возрастанию.
15. Организовать ввод и формирование двух списков с проверкой целочисленного и вещественного. Найти их объединение. Упорядочить полученный список по возрастанию.
16. Организовать ввод строкового предложения и строкового образца. Организовать процедуру удвоения образца в предложения с повторами. В случае отсутствия образца в предложении выдать сообщение.
17.Организовать ввод строкового предложения и строкового образца. Организовать процедуру исключения образца из предложения с повторами. В случае отсутствия образца в предложении выдать сообщение.
18. Организовать ввод и формирование двух строковых списков. Найти их пересечение. Упорядочить полученный список в алфавитном порядке.
19. Организовать ввод и формирование двух строковых списков. Найти их объединение. Упорядочить полученный список в обратном к алфавитному порядке.
20. Организовать ввод предложения. Преобразовать его в список слов. Упорядочить полученный список с исключением повторов в алфавитном порядке.
21. Организовать ввод и формирование целочисленного списка с проверкой. Найти минимальный элемент списка. Вычесть его из всех элементов списка. Упорядочить полученный список по неубыванию.
22. Организовать ввод и формирование вещественного списка с проверкой. Найти максимальный элемент списка. Добавить его ко всем элементам списка. Упорядочить полученный список по невозрастанию.
23. Организовать ввод и формирование двух целочисленных списков с проверкой. Найти их пересечение. Упорядочить полученный список по возрастанию.
24. Организовать ввод и формирование двух вещественных списков с проверкой. Найти их объединение без повторов. Упорядочить полученный список по убыванию.
25. Организовать ввод и формирование двух списков с проверкой целочисленного и вещественного. Найти их объединение. Упорядочить полученный список по убыванию.
26. Организовать ввод строкового предложения и строкового образца. Организовать процедуру исключения образца из предложения с повторами. В случае отсутствия образца в предложении выдать сообщение.
Авдеев Е.В. 01.09.00 г.
Обычный
Основной шрифт абзаца
сновнойРHрифтР0бзацаЀ
3урбанскийР4митрийЖC:\TPROLOG\PROLAB3.DOC
C:\TPROLOG\PROLAB3.DOC
3урбанскийР4митрийФC:\EWA\PROLOGI_\TPROLOG\PROLAB34.doc
гурбанский дмитрий$C:\EWA\PROLOGI_\TPROLOG\PROLAB34.doc
3урбанскийР4митрийУC:\EWA\PROLOGI_\TPROLOG\Prolab4.doc
гурбанский дмитрий#C:\EWA\PROLOGI_\TPROLOG\Prolab4.doc
3урбанскийР4митрийУC:\EWA\PROLOGI_\TPROLOG\Prolab4.doc
гурбанский дмитрий#C:\EWA\PROLOGI_\TPROLOG\Prolab4.doc
3урбанскийР4митрийУC:\EWA\PROLOGI_\TPROLOG\Prolab4.doc
гурбанский дмитрий#C:\EWA\PROLOGI_\TPROLOG\Prolab4.doc
3урбанскийР4митрийУC:\EWA\PROLOGI_\TPROLOG\Prolab4.doc
гурбанский дмитрий#C:\EWA\PROLOGI_\TPROLOG\Prolab4.doc
3урбанскийР4митрийУC:\EWA\PROLOGI_\TPROLOG\Prolab4.doc
гурбанский дмитрий#C:\EWA\PROLOGI_\TPROLOG\Prolab4.doc
Гурбанский$C:\WIN208\TEMP\Автокопия PROLAB4.asd
Гурбанский*C:\WIN208\Рабочий стол\TPROLOG\PROLAB4.DOC
@Epson FX-80+
EPSON9
Epson FX-80+
Epson FX-80+
Epson FX-80+
Epson FX-80+
Epson FX-80+
Times New Roman
Times New Roman
Symbol
Symbol
MS Dialog Light
MS Dialog Light
7МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОННОЙ ТЕХНИКИ
НСТИТУТР-ЛЕКТРОННОЙР"ЕХНИКИЀ
3урбанскийР4митрийЊ
гурбанский дмитрий
Гурбанский
урбанскийЀ
Normal
Microsoft Word 8.0
Symbol
intsig
_PID_GUID
{11634880-8008-11D4-8DE2-A0F9622EA915}
{11634880-8008-11D4-8DE2-A0F9622EA915}
Обычный
Основной шрифт абзаца
сновнойРHрифтР0бзацаЀ
Root Entry
1Table
1Table
WordDocument
WordDocument
SummaryInformation
SummaryInformation
DocumentSummaryInformation
DocumentSummaryInformation
CompObj
CompObj
Microsoft Word
MSWordDoc
Word.Document.8