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

45.Использование звук и музыки.

Предикаты генерации звука

Турбо-Пролог поддерживает два предиката генерации звука:

sound и beep. Предикат beep генерирует звук высокой тональнос-

ти.

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

sound(Duration,Frequency)

Значение параметра Duration задает длительность звукового

сигнала в сотых долях секунды. Значение параметра Frequency оп-

ределяет частоту генерируемого звука (высота звука).

46.Базы данных в Прологе. Предикаты динамической базы данных в Прологе.

Программы баз данных (БД) на Турбо-Прологе есть частный случай систем управления базами данных(СУБД).

Базы данных в Турбо-Прологе. В Турбо-Прологе имеются специальные средства для организации баз данных. Эти средства рассчитаны на работу с реляци-

онными базами данных

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

В динамической базе данных могут содержаться только факты ( не правила).

База данных Турбо-Пролога Реляционная база данных

предикат БД отношение

объект атрибут

отдельное утверждение элемент отношения

количество утверждений мощность

* Предикаты для работы с утверждениями динамической базы дан-

ных

Предикаты asserta, assertz и retract позволяют занести

факт в заданное место динамической БД и удалить из нее уже

имеющийся факт.

Предикат asserta заносит новый факт в базу данных, рас-

полагающуюся в оперативной памяти компьютера. Новый факт помещается перед всеми уже внесенными утверждениями данного предиката.

Предикат assertz так же, как и asserta, заносит новые

утверждения в базу данных. Однако он помещает новое утвержде-

ние за всеми уже имеющимися в базе утверждениями того же пре-

диката.

Предикат retract удаляет утверждение из динамической БД

* Предикаты для работы с базой данных в целом

В данном разделе будут описаны предикаты для работы с БД

в целом. Предикаты save и consult применяются для записи ди-

намической БД в файл на диск и для загрузки содержимого файла

в динамическую БД.

save(DOS_file_name).

save("football.dba").

Предикат readterm используется для чтения из файла объ-

ектов, относящихся к определенному в программе домену. Син-

таксис этого предиката

readterm(Domain,Term).

где Domain задает имя домена, а Term - различные наборы зна-

чений объектов этого домена. Рассмотрим, к примеру, преди-

катное выражение

readterm(auto_record,auto(Name,Year,Price)).