Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пролог_шпоры.docx
Скачиваний:
35
Добавлен:
27.09.2019
Размер:
103.66 Кб
Скачать

32.Способы организации цикла в программах на Прологе.

Ну раз уж о циклах,значит это рекурсия)Так что смотрите вопрос 13-14=)Всё будет зашибись!) Удачии=)

33.Создание динамических баз данных средствами Visual Prolog.

Процесс создания базы данных в начинается с этапа проектирования базы. При этом требуется учесть следующие факторы: -размер базы данных; -организацию элементов базы данных; -способы работы и содержания базы данных. Использование баз данных, располагающихся в оперативной памяти (резидентных), вполне оправданно, если эта БД имеет не слишком большой объем. Для начала необходимо задать начальные данные и создать саму базу. Затем наступает черед системы управления базой данных (СУБД), ориентированной на диалог с пользователем. Любая система такого рода должна содержать как минимум такие возможности:

-занесение в базу новых данных;

удаление данных из базы;

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

Например создадим футбольную БД. Данные представляют собой информацию о пяти футболистах. Они включают имена игроков, названия их команд, номера, позиции, рост, вес, количество сыгранных сезонов. Необходим предикат, кодирующий эту информацию. Подходящим является:

player(p_name, /* полное имя игрока (string) */

t_name, /*название команды (string) */

p_number, /*номер игрока (integer) */

pos, /*позиция игрока (string) */

height, /*рост (string) */

weight, /*вес (integer) */

nfl_exp) /*стаж выступлений (integer) */

Следующей фазой создания БД является задание соответствующих описаний типов. Раздел программы domains будет выглядеть так:

domains

p_name, t_name, pos, height=string

p_number, weight, nfl_exp=integer

    Предикаты динамической базы данных описываются в разделе программы database. В нашем случае необходим лишь один такой предикат:

database

dplayer(p_name, t_name, p_number, pos, height, weight, nfl_exp)

    Когда программа запускается на счет, утверждения динамической БД помещаются в оперативной памяти отдельно от "обычных" утверждений. (Это одна из причин того, что предикаты динамической БД описываются в специальном разделе программы.) В этот момент БД полностью готова к работе.

34. Статические и динамические базы данных в программах на Visual Prolog.

БД – это упорядоченная совокупность данных, записанных в доступном для компьютера формой.

Предикаты БД в Пологер описываются в разделе database, который должен располагаться перед разделом predicates. Все утверждения с предикатами, описанными в database, составляют динамическую БД. БД называется динамической, так как во время работы программы у нее (БД) можно удалять любые содержащиеся в ней утверждения, а так же добавлять новые, в этом отличие от статической, где утверждения являются частью кода программы и не могут быть изменены во время программы.

Другая особенность ДБД с том, что БД может быть записана на диск и считана с него в ОП. Например, в ДБД содержаться сведения об игроках футболистах dplayer. Тогда требуется следующее описание в программе

domains

name, team=symbol

number = integer

database

dplayer (name, team, number)

Иногда бывает лучше иметь часть информации БД в виде утверждений статической БД. Эти данные заносятся в ДБД сразу после активизации программы. Для этого используются предикаты asserta, assetz. Предикаты статической БД имеют другое имя, но ту же форму представления данных, что и предикаты ДБД. Предикат СБД, соответствующий предикату dplayer может быть представлен в программе следующим образом:

predicates

player (name, team, number)

clauses

player (“Adamov”, “Dinamo”, 5).