Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа ИС Эльде Е.В.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
66.78 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

Себряковский филиал Волгоградского государственного архитектурно-строительного университета

Кафедра МиЕНд

Отчёт по лабораторным работам по дисциплине Информационные Системы.

Выполнил студент

группы ИСТ 31д-12

Эльде Е.В.

Проверил ст.преподаватель

Андреев Д.С.

Михайловка 2014

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

Тема: «Основные элементы языка Турбо-Пролог»

Цель работы

Изучить основные элементы языка Турбо-Пролог

Выполнение работы.

Задание.

1.Родственные отношения.

Имея список родственных отношений мать, отец и отношение пол. Описать правила для нахождения родителя(parent), дочери(daughter), сына(son), внука(grandchildren), сестры(sister ), брата(brother), бабушки(grand-mother), дедушки(grand-father).

domains

s=symbol /* объект s имеет тип symbol */

predicates

parent(s,s)

female(s)

male(s)

mother(s,s)

father(s,s)

ancestor(s,s)

child(s,s)

clauses

parent(pam,bob). /* Пам - родитель Боба */

parent(tom,bob).

parent(tom,liz).

parent(bob,ann).

parent(bob,pat).

parent(pat,jim).

female(pam). /* Пам - женщина */

female(liz). female(ann). female(pat).

male(tom). /* Том - мужчина */

male(bob). male(jim).

child(Y,X):- /* Y - отпрыск X, если X - родитель Y */

parent(X,Y).

mother(X,Y):- /* X - мать Y, если */

parent(X,Y),female(X). /* X - родитель Y и X - женщина */

father(X,Y):- /* X - отец Y, если */

parent(X,Y),male(X). /* X - родитель Y и X - мужчина */

ancestor(X,Z):- /* X - предок Z, если */

parent(X,Z). /* X - родитель Z */

ancestor(X,Z):- /* X - предок Z, если */

parent(X,Y),ancestor(Y,Z). /* X - родитель Y и

Y - предок Z */

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

Тема: «Ввод и вывод в Турбо-Прологе»

Цель работы

Изучить инструменты языка Турбо-Пролог предназначенные для ввода и вывода данных

Выполнение работы

1. Создать символьные файлы f и g. Записать в файл h сначала компоненты файла f, затем компоненты файла g с сохранением порядка.

domains

file= r; w

predicates

readinloop

goal

openwrite(w,"h.txt"),writedevice(w),

openread(r,"f.txt"),readdevice(r),

not(readinloop),

closefile(r),

openread(r,"g.txt"),readdevice(r),

not(readinloop),

closefile(r),closefile(w).

clauses

readinloop:- readln(D), write(D), nl,readinloop.

2. Создать файл f, содержащий целые числа. Переписать в файл g отрицательные числа и определить их количество.

domains

file= r; w

i=integer

predicates

readinloop(i)

neg(i,i,i)

goal

openwrite(w,"g.txt"),writedevice(w),

openread(r,"f.txt"),readdevice(r),A=0,

readinloop(A),

closefile(r),

closefile(w).

clauses

readinloop(A):- eof(r), writedevice(screen), write(A),!.

readinloop(A):- readint(D),neg(D,A,B), readinloop(B).

neg(D,A,B):- D<0, write(D),nl, B=A+1.

neg(D,A,A):- D>=0.