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

25. Преобразование, определяемые пользователем. Пользователь может определить преобразование, не предусмотренные предикатами. Например: целые числа в действительные и наоборот.

predicates

conv_real_int (real, integer)

clauses

conv_real_int (R, N):- R=N.

26. Предикаты Visual Prolog для работы с файлами.

openread(СимволичИмяФайла,ИмяФайлаОС) (file,string) - (i,i) – открытие файла для чтения;

openwrite(СимволичИмяФайла, ИмяФайлаОС) (file,string) - (i,i) – открытие файла для записи;

openappend(СимволичИмяФайла, ИмяФайлаОС) (file,string) - (i,i) – открытие файла для дозаписи в конец существующего файла;

openmodify(СимволичИмяФайла, ИмяФайлаОС) (file,string) - (i,i) – открытие файла для модификации (чтения/записи);

readdevice(СимволичИмяФайла) (file) - (i) (o) – переадресация устройства чтения;

writedevice(СимволичИмяФайла) (file) - (i) (o) – переадресация устройства записи;

closefile(СимволичИмяФайла) (file) - (i) – закрытие файла;

filepos(СимволичИмяФайла,Позиция,Режим) (file,real,integer) - (i,i,i) (i,o,i) – установка или определение позиции указателя файла; Режим: 0 – относительно начала файла, 1– относительно текущей позиции файла, 2 – относительно конца файла; для шаблона (i,o,i) Режим=0;

eof(СимволичИмяФайла) (file) - (i) – проверка на конец файла;

flush(СимволичИмяФайла) (file) - (i) – сброс данных из внутреннего файлового буфера в заданный файл;

existfile(ИмяФайлаОС) (string) - (i) – проверка наличия файла;

filemode (СимволичИмяФайла,Режим)(file,integer) - (i,i) – установка указанного файла в текстовый или двоичный режим: Режим=0 – двоичный, Режим=1 –текстовй;

deletefile(ИмяФайлаОС) (string) - (i) – удаление файла ;

renamefile(СтароеИмяФайлаОС, НовоеИмяФайлаДОС) (string,string) - (i,i) – переименование файла;

disk(ПутьОС) (string) - (i) (o) – установление пути к файлу;

dir(ПутьОС,ШаблонФайла,ИмяФайлаОС) (string,string,string) - (i,i,o) – выбор файла из указанного директория;

file_str(ИмяФайлаОС,Строка) (string,string) – (i,o) (i,i) – запись содержимого текстового файла в строку или наоборот.

27. Описание файловых доменов, переадресация внешних устройств.

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

- readdevice (СимвИмяФайла) (symbol) : (i) (o)

Определяет или считывает символьное имя файла для устройства ввода.

(i) – связывает текущее устройство чтения с открытым файлом. Под СимвИменемФайла понимается символьное имя клавиатуоы либо симвоьное имя файла, открытого для чтения или модификации.

(o) – связывеат символьное имя файла с именем текущего устройства чтения, которое может быть клавиатурой или файла.

readdevice (X) X=клавиатура

- writedevice (СимвИмяФайла) (symbol) : (i) (o)

Определяет или считывает символьное имя файла для устройства вывода.

(i) – переназначает текущее устройство записи на открытый файл с именем СимвИмяФайла, который может быть одним из заранее определенных символьных имен (screen или printer) или имеет символьное имя, задаваемое пользоваетелем для файла, открытого для записи или модификации.

(o) – связывает параметр СимвИмяФайла с именем текущего устрйоства записи, которое может иметь имя screen, printer или символьное имя файла.

При использовании в программе файлов ее необходимо снабдить описанием файлового домена, которое выглядит так:

file=datafile, где file - стандартный тип домена (файловый), datafile - логическое имя файла.

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

file=datafile1;datafile2;datafile3.