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

24 Чтение данных из файла в программах на Турбо-Прологе.

  1. Открытие файла предикатом openread.

  2. Назначение файла устройству чтения с помощью readdevice.

  3. Само чтение из файла.

  4. Использование произвольных предикатов и правил.

  5. Закрытие файла предикатом close.

/* Считывание данных из файла и вывод их на экран и принтер */

domains

file = datafile

predicates

read_and_print

read_file

goal

read_file

clauses

read_file:- write (“Введите имя файла”), nl,

readln(FileName), nl,

openread (datafile, FileName), readdevice (datafile),

read_and_print, closefile (datafile),nl,

write (“Нажмите любую клавишу”), readdevice (keyboard),

readchar (_), exit.

read_and_print:- not (eof(datafile)), readln (Fstr), write (Fstr), nl,

writedevice (printer), write (Fstr), writedevice (screen), read_and_print.

read_and_print:- eof(datafile),!.

25 Дозапись данных в конец существующего файла в программах на Турбо-Прологе

process_append:- write (“Введите имя файла”), nl,readln (Filename), nl, write (“Программа готова принять данное для записи”), nl,

openappend (datafile, Filename), writedevice (datafile), readln (Kstr), concat (Ksrt, “\13\10”, Fstr), readin (Kstr, Fstr), closefile (datafile).

26 Предикаты Турбо-Пролога для работы с окнами

makewindow (Номер, АтрЭкр, АтрРамки, Заголовок, Строка, Столбец, Выс, Шир, ЧиститьОкно, ПодЗагол, ЗнакиГраницы) (integer, integer, integer, string, integer, integer, integer, integer, integer, integer, string) : (все i) (все o).

Чистить окно: 0 – не чистить окно после его создания, 1 – чистить.

ПодЗагол: -1 – заголовок в центре верхней границы рамки окна, число – с указанной позиции.

ЗнакиГраницы: 1 – верхний левый угол, 2 – вп, 3 – нл, 4 – нп, 5 – горизонтальная линия, 6 – вертикальная.

window_str (СтрокаЭкрана) (string) : (i) (o) – считывание или запись строки из (или) в активное окно.

window_attr (Атрибут) (integer) (i) – установка атрибута активного окна.

framewindow(АтрибутРамки) (integer): (i) – изменение атрибута рамки окна.

framewindow (АтрРамки, Заголовок, ПозЗагол, ЗнакиГраницы) : (integer, string, integer, string) : (все i) – Изменение атрибута и заголовка рамки окна.

resizewindow (НачСтр, НачКол, КолСтр, КолКол) (все integer) : (все i) – изменение положения и размера окна.

colorsetup (Число) (integer) : (i) – изменение цвета в текущем окне. 0 – изменяет цвет окна, 1 – рамки.

Проверка, существует ли окно с указанным номером.

existwindow (НомерОкна) (integer) : (i)

Перемещение содержимого текущего окна

scroll (ЧислоСтрок, ЧислоКол) (integer, integer) : (i, i). Положительный параметр – вверх или влево, отрицательный – вниз или вправо.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]