Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб 4 - 6(задания).doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
313.34 Кб
Скачать

Лабораторная работа № 5 Работа с файлами

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

В системе Турбо-Пролог имеются следующие предикаты для работы с файлами:

deletefile уничтожение файла

save сохранение файла

renamefile переименование файла

existfile тест на наличие файла с данным именем

flush сброс данных из внутреннего буфера

disk выбор дисковода и пути доступа

dir выдача каталога директории

Кратко опишем, как работают предикаты для работы с файлами. В при­веденных ниже примерах file_domain является описываемым пользователем файловым доменом (как это сделать, будет пояснено в следующем разделе), a DOS_filename — именем, под которым файл фигурирует в директории на диске. В том случае, если пример не очевиден, он снабжается пояснениями.

  • de1etefile(DOS_filename).

  • save(DOS filename). Сохраняет на диске утверждения динамической базы данных.

  • renamefile(Old_DOS_filename,New_DOS_filename).

  • existfile(DOS filename). Предикат успешен в случае, если файл с именем, заданным переменной DOS filename, присутствует в директории.

  • flush(file_domain). Этот предикат сбрасывает содержимое внутреннего бу­фера, отведенного для данного устройства записи.

  • disk(Path). Если переменной Path присвоен корректный путь доступа, то заданная с его помощью директория становится те­кущей. Если же переменная Path не означена, то данный предикат присваи­вает Path путь доступа к текущей директории.

  • dir(Path,File spec,File name). Переменной Path должен быть присвоен корректный путь доступа, переменная File spec задает расширение представ­ляющей интерес группы файлов. Данный предикат выдает каталог имен файлов с заданным расширением; вы можете выбрать среди них нужный и на­жать Enter. Имя файла будет присвоено переменной File_name.

Помимо перечисленных предикатов Турбо-Пролог также поддерживает предикаты чтения из файла, записи в файл, модификации файла и тому по­добные. Эти предикаты будут рассмотрены позднее.

Описание файлового домена

Для того чтобы использовать в программе файлы, необходимо снабдить ее описанием файлового домена. Описание одного файлового домена с име­нем datafile выглядит как

file = datafile

Это описание бросается в глаза, так как не похоже на описания доме­нов других типов. Куда более привычным кажется описание типа

name = symbol

где name является именем домена, a symbol — стандартным типом доменов Турбо-Пролога. При описании файловых доменов, однако, тип домена file за­дается по левую сторону от знака равенства, а имя домена datafile — по правую.

Символическое имя файла типа datafile из настоящего примера есть идентификатор, который в программе может быть логически отождествлен с DOS-овским именем файла (именем, которое можно видеть при выда­че каталога директории). Это символическое имя называют также логиче­ским именем файла.

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

file = datafilel; datafile2; datafile3

Это объявление декларирует 3 символических имени для последую­щего их отождест-вления с реальными файлами DOS.