Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Задание. Создание программы поиска с предикатами !, not






Создание программы поиска с предикатами!, not

1. Запустить среду визуальной разработки Visual Prolog.

2. Создать программу, определяющую студентов сдавших все экзамены на положительную оценку:

domains% раздел доменов

name, predmet = symbol % домены имя и предмет – символьные

oz = integer% домен оценка – числовое, целое

predicates% раздел предикатов

perevod(name) % задание предиката студент-переводник

us (oz) % задание предиката оценка

pred (predmet) % задание предиката предмет

ucp (name, predmet, oz) % задание предиката успеваемость с указанием имени студента, предмета и оценки полученной по этому предмету

clauses % раздел предложений

предикаты перечень студентов-переводников
perevod(pasha).

perevod(lysha).

us (2).

предикаты перечень оценок
us (3).

us (4).

us (5).

pred (matem).

предикаты перечень предметов
pred (ryc).

pred (ictoria).

ucp (pasha, matem, 5).

ucp (pasha, ryc, 5).

ucp (pasha, ictoria, 5).

ucp (lysha, matem, 3).

ucp (lysha, ryc, 2).

ucp (lysha, ictoria, 2).

ucp (olga, matem, 2).

ucp (olga, ryc, 3).

предикаты успеваемости студентов и студентов-переводников
ucp (olga, ictoria, 5).

ucp (misha, matem, 4).

ucp (misha, ryc, 2).

ucp (misha, ictoria, 3).

ucp (dina, matem, 4).

ucp (dina, ryc, 4).

ucp (dina, ictoria, 2).

ucp (masha, matem, 4).

ucp (masha, ryc, 4).

ucp (masha, ictoria, 5).

goal % раздел целей (запросов)

Цель: показать студента успевающего по всем предметам
ucp (Stud, matem, Matem), Matem< > 2,

ucp (Stud, ryc, Ryc), Ryc< > 2,

ucp (Stud, ictoria, Ictoria), Ictoria< > 2.

 

3. Сохранить файл с именем lab4.

4. Организовать несколько целей с подцелями с конъюнкцией, дизъюнкцией.

5. Преобразовать программу, добавив прерывание с зеленым отсечением:

stud(Stud): -ucp (Stud, Predmet, Oz),

Oz< > 2,

Predmet= matem,

!;

ucp (Stud, Predmet, Oz),

Oz< > 2,

Predmet=ryc,

!;

ucp (Stud, Predmet, Oz),

Oz< > 2,

Predmet=ictoria.

Организовать цель:

stud(Stud). % показать всех успевающих студентов

6. Показать всех студентов не переводников успевающих по предмету история (использовать стандартный предикат not). Добавить в программу:

stud(Stud): -ucp (Stud, ictoria, Oz),

Oz=5,

not(perevod(Stud)).

Вопросы для самоконтроля

1. Опишите механизм прерывания поиска с возвратом.

2. Опишите красное и зеленое отсечение при организации поиска решения.

3. Опишите условия делающие поиск решения детерминированным и недетерминированным.

4. Опишите условия использования предикат fail.

5. Опишите условия использования предикат!.

6. Опишите условия использования предикат not.

7. Опишите условия использования предикат cut.

 


Лабораторная работа «Организация пользовательского меню»

Тема: организация пользовательского меню.

Цель работы: создать пользовательское меню средствами встроенных предикатов Visual Prolog.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.