Скачиваний:
201
Добавлен:
17.06.2016
Размер:
2.69 Mб
Скачать

Упражнение

Напишите и проверьте предложения для предиката readbin, который при

вызове:

readbin(IntVar)

преобразует введеное пользователем 16-битовое двоичное число вида "1111

0110 0011 0001" в соответствующее целое значение, которое присваивается

IntVar. Проверьте вашу работу, написав программу, которая использует

readbin.

В этом разделе мы представим вам файловую систему Турбо Пролога и

стандартные предикаты, обращающимися с файлами. Мы также познакомим вас с

переназначением ввода-вывода - эффективным методом связи ввода и вывода с

различными устройствами.

Турбо Пролог использует current_read_device (текущее устройство чте-

ния), с которого считывается ввод, и current_write_ device (текущее уст-

ройство записи), на которое посылается вывод. Обычно текущим устройством

чтения является клавиатура, а текущим устройством записи - экран дисплея.

Однако вы можете назначить другие устройства. Например, ввод может чи-

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

можете не только определить другие устройства, вы можете даже переопреде-

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

Независимо от того, какими устройствами чтения и записи вы пользуе-

тесь, в программе на Турбо Прологе чтение и запись обрабатываются иден-

тично.

Для доступа к файлу вы должны сначала открыть его. Файл может быть

открыт одним из четырех способов:

- для чтения;

- для записи;

- для добавления;

- для модификации.

Файл, открытый для любого действия отличного от чтения, должен быть

закрыт, когда этот вид операций завершается. В противном случае внесенные

в файл изменения могут быть потеряны. Можно открыть несколько файлов од-

новременно. При этом ввод и вывод могут быть быстро переназначены между

открытыми файлами. Открытие и закрытие файлов занимает намного больше

времени, чем переназначения потока данных между ними.

Когда Турбо Пролог открывает файл, он связывает символическое имя с

действительным именем файла операционной системы ДОС. Турбо Пролог ис-

пользует это символическое имя для направления ввода и вывода. Символи-

ческие имена файлов должны начинаться с маленькой буквы и должны быть об-

ъявлены в описании домена file. Например:

file = file1; source; auxiliary; myFileName

В любой программе разрешен только один домен file. Турбо Пролог рас-

познает семь встроенных альтернатив file:

com1 запись в стандартный коммуникационный порт;

keyboard чтение с клавиатуры (по умолчанию);

printer запись в параллельный порт устройства печати;

screen запись в экранный монитор (по умолчанию);

stdin чтение из стандартного ввода ДОС;

stdout запись в стандартный вывод ДОС;

stderr запись на стандартное устройство для вывода ошибок ДОС.

Эти встроенные альтернативы не должны встречаться в описании file.

Открывать и закрывать их не требуется.

Открытие и закрытие файлов

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

тия и закрытия файлов.

Замечание: Во время открытия файла вы должны помнить, что об-

ратная косая черта (\), используемая для указания подкаталога

диска, в Турбо Прологе является ESC-символом. Поэтому при ука-

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

две косых черта (\\).например, строка:

"с:tprolog\\examplesch\\ex02.pro"

представляет путь доступа к файлу:

с:tprolog\examplesch\ex02.pro

Соседние файлы в папке Документация