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

лп / Krtuvorychko / otchet_5

.doc
Скачиваний:
1
Добавлен:
09.02.2016
Размер:
79.36 Кб
Скачать

Міністерство освіти і науки, молоді і спорту України

Кіровоградський національний технічний університет

Механіко-технологічний факультет

Кафедра програмного забезпечення

Дисципліна: « Логічне програмування »

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

Тема: «Робота з рядковими змінними на мові програмування Turbo Prolog»

Виконав: ст. групи КІ-12-СК

Криворучко О.В.

Перевірив: викладач

Резніченко В.А.

Кіровоград 2013

Мета: Розглянути основні операції над рядковими змінними на мові програмування Turbo Prolog.

Завдання:

Скласти оригінальну програму ”Елементарний редактор”, що містить переклад не менше трьох словосполучень і демонструє операції над рядками (присвоєння змінним рядкових значень, визначення довжини рядка, конкатенація рядків і створення підрядків

domains

s=symbol

predicates

perevod(s,s)

slova(s,s,s)

g

clauses

slova(translate,"переклад","перекладений").

slova(text,"текст","текстовий").

slova(shoes,"взуття","взуттева").

slova(factory,"фабрика","фабричне").

slova(man,"чоловик","чоловичий").

slova(style,"стиль","стильний").

g:-

nl,write("Введить 2 слова:"),nl,

readln(X1),

readln(Y1),

slova(X1,_,_),

slova(Y1,_,_),

write("Фраза на английский: "),nl,

write(X1," ",Y1),

X1=X,Y1=Y,

perevod(X,Y),!.

perevod(X,Y):-

slova(X,_,X2),

slova(Y,Y2,_),nl,

write("Переклад:"),nl,

write(X2," ",Y2),nl,!.

Рис.1 – Виконання програми

Контрольні питання:

  1. Які операції над рядками дозволяє виконувати Turbo Prolog?

Turbo Prolog дозволяє виконувати над рядковими змінними стандартні операції, такі ж, як і в інших мовах програмування, а саме:

а) Присвоєння змінним рядкових значень.

б) Визначення довжини рядка.

в) Конкатенація (об’єднання) рядків.

г) Створення підрядків.

д) Створення підрядків заданої довжини на основі вихідного рядка.

  1. Синтаксис предикату створення підрядків?

s1(“Prolog був реалізований групою Л. Камерое”).

goal

s1(X), frontstr(21,X,Y,Z), write(Y), nl, write(Z), nl.

  1. Який предикат використовується для конкатенації рядків?

concat (I рядок, II рядок, об’єднаний рядок)

  1. Як визначити довжину рядка в Turbo Prolog?

str_ln(рядок, довжина рядка)

2

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