Описание базы знаний 'Родственные отношения. Поиск путей в ориентированном графе. Решение алгебраических задач

  • Вид работы:
    Практическое задание
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    21,46 Кб
  • Опубликовано:
    2014-03-04
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Описание базы знаний 'Родственные отношения. Поиск путей в ориентированном графе. Решение алгебраических задач

ФИЛИАЛ ФЕДЕРАЛЬНОГО ГОСУДАРСТВЕННОГО БЮДЖЕТНОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ

УНИВЕРСИТЕТ "МЭИ"

в г. Смоленске

Кафедра Вычислительной техники


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

По курсу "Основы логического программирования"

Тема: Описание базы знаний "Родственные отношения.

Поиск путей в ориентированном графе. Решение алгебраических задач".

листинг программа логическая граф



Выполнил: Старовойтов И.П.

Группа: ВМ-11з

Преподаватель: Сухачев Н.И.






Смоленск 2014

Цель работы


Отработка начальных навыков работы в среде Турбо Пролога, ознакомление с основными принципами составления простейших логических программ на примере баз знаний "Родственные отношения", поиска путей в ориентированном графе и решения алгебраических задач, имеющих легко воспринимаемую внутреннюю логику.

Задание 1


Составить семантический граф из 9-12 вершин. Вершинам графа сопоставить имена родственников, а дугам - родственные отношения. Для полученного графа разработать логическую программу, которая выдает сведения о родственных отношениях между любой парой введенных имен.

Мать

Отец

Дядя


domains=symbol(name,name)(name,name)(name,name)(name,name)(name,name)(name,name)(name,name)(name, name)(name, name)(stepan,lena).(stepan,valya).(maria,lena).(maria, valya).(valya, denis).(valya, kostya).(lena,roma).(lena,stas).(stas,sasha).(X,Y): - mother (Z,Y), mother (X,Z).(X,Y): - mother (Z,Y),father (X,Z).(X,Y): - mother (Z,X),mother (Z,Y).(X,Y): - mother (Y,X); father (Y,X).(X,Y): - mother (Z,X),father (Y,Z).(X,Y): - mother (Z,X),mother (Y,Z).: - write ("Введите 1-ое имя: "),readln (X),write ("Введите 2-ое имя"), readln (Y), otnoshenie (X,Y).(X,Y): - grandfather (X,Y), write (X," дедушка",Y).(X,Y): - grandmother (X,Y), write (X," бабушка ",Y).(X,Y): - brother (X,Y), write (X," брат ",Y).(X,Y): - uncle (X,Y),write (X," дядя ",Y).(X,Y): - mother (X,Y),write (X," мама ",Y).(X,Y): - father (X,Y), write (X," папа ",Y).(X,Y): - vnuk (X,Y), write (X," внук ",Y).(X,Y): - child (X,Y), write (X," сын ",Y).

Задание 2


Составить ориентированный граф без циклов из 7-10 вершин, среди которых есть и изолированные вершины. Для получения графа составить программу, определяющую, существует ли путь между любой парой его вершин.


domains=symbol(name,name).(name,name).dialog.(x1,x4).(x1,x3).(x2,x4).(x2,x3).(x4,x3).(x3,x5).(x3,x7).(x1,x3): - join (x1,x4),join (x4,x3).(x1,x4).(x1,x3).(x2,x4).(x2,x3).(x4,x3).(x3,x5).(x3,x7).(x1,x5): - join (x1,x3),join (x3,x5).(x1,x7): - join (x1,x3),join (x3,x7).(x2,x5): - join (x2,x3),join (x3,x5).(x2,x7): - join (x2,x3),join (x3,x7).(x4,x5): - join (x4,x3),join (x3,x5).(x4,x7): - join (x4,x3),join (x3,x7).: - write ("Vvedite 1 vershiny: "),readLn (X),write ("Vvedite 2 vershiny: "),readLn (Y), path (X,Y).

Результаты:: Vvedite 1 vershiny: x12 vershiny: x5: Vvedite 1 vershiny: x1 2 vershiny: x5

NO

Задание 3


Решить квадратное уравнение вида: a*x^2+b*x+c=0


Листинг программы:

domains=real(arg,arg,arg)(A,B,C): - D=B*B-4*A*C,D>0,Y1= (-B+sqrt (B*B-4*A*C)) / (2*A),Y2= (-B-sqrt (B*B-4*A*C)) / (2*A),write (Y1),write (","),write (Y2).(A,B,C): - D=B*B-4*A*C,D=0,Y= (-B) / (2*A),write (Y).(A,B,C): - D=B*B-4*A*C,D<0,write ("Net korney").

Задание 4


Вычислить значение функции вида:


где f1 (x), f2 (x), f3 (x) - некоторые функции от переменной x.

Вариант 8.

 

Листинг программы:

domains

arg=real

predicates(arg)(X): - 0<X,X<2,write ("vvedite a: "),readreal (A),write ("vvedite c: "), readreal (C),Y=A*X*X+C*X+sqrt (X),write ("Y=",Y).(X): - 2<=X,X<4,Y=cos (X) +sin (X) *sin (X) *sin (X),write ("Y=",Y).(X): - 4<=X,write ("vvedite a: "), readreal (A), Y=A*A+2*ln (X) /ln (10),write ("Y=",Y).

Похожие работы на - Описание базы знаний 'Родственные отношения. Поиск путей в ориентированном графе. Решение алгебраических задач

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!