Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

docs / PROLAB4

.DOC
Скачиваний:
28
Добавлен:
17.04.2013
Размер:
14.57 Кб
Скачать

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОННОЙ ТЕХНИКИ

Кафедра Проектирования И Конструирования Интегральных МикроСхем

Курс: Экспертные системы в САПР СБИС

Лабораторная работа 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

Соседние файлы в папке docs