Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Логическое программирование1 / 6_Лабораторна_робота_ЛП_2012-13.doc
Скачиваний:
24
Добавлен:
07.02.2016
Размер:
177.66 Кб
Скачать

2.1.3. Приклад 1 файлового уведення та виведення інформації

У наведеному далі скороченому лістингу (Sheet 6_1) і розгорнутому лістингу (Sheet 6_2) представлено приклад Пролог-програми, що здійснює наступні типові дії:

– читання рядка з файлу та виведення його на екран;

– читання рядка з клавіатури та запис його до файлу.

У прикладі задіяно наступні файли:

– використовується завчасно створений файл example.txt;

– створюється новий файл result.txt.

До початку роботи Пролог-програми, потрібно: створити засобами будь-якого текстового редактору файл example.txt, помістивши до нього рядок символів example.

На першому етапі роботи Пролог-програми, виконуються наступні дії:

– з файлу example.txt зчитується рядок example;

– прочитаний рядок example виводиться на екран.

На другому етапі роботи Пролог-програми, виконуються наступні дії:

– створюється новий файл result.txt;

– користувач вводить з клавіатури рядок result, який сприймається (зчитується та запам'ятовується) Пролог-програмою;

– текст result, уведений із клавіатури, записується до файлу result.txt.

У підсумку роботи програми, буде отримано наступні результати:

– зчитано з файлу example.txt рядок example та виведено його на екран;

– створено файл result.txt, зчитано з клавіатури рядок result і записано його до файлу.

% Sheet 6_1. Primer 1 of the files input and output (short version).

DOMAINS

file = input; output

GOAL

openread (input, "example.txt"),

readdevice (input),

readln (Str1), write (Str1), nl,

openwrite (output, "result.txt"),

writedevice (output),

readdevice (keyboard),

readln (Str2), write (Str2), nl,

closefile (input),

closefile (output).

% Sheet 6_2.

% Primer 1 of the files input and output (full version with comments).

DOMAINS

file = input; output

GOAL

% відкриття файлу example.txt для читання

openread (input, "example.txt"),

% призначення файлу example.txt пристроєм уведення

% (пристроєм виведення по умовчанню залишається екран)

readdevice (input),

% зчитування з файлу example.txt рядка example в змінну Str1

readln (Str1),

% виведення значення змінної Str1 (рядка example) на екран

write (Str1), nl,

% відкриття файлу result.txt для запису

openwrite (output, "result.txt"),

% призначення файлу result.txt пристроєм виведення

writedevice (output),

% призначення клавіатури пристроєм уведення

readdevice (keyboard),

% зчитування з клавіатури рядка result у змінну Str2

readln (Str2),

% виведення значення змінної Str2 (рядка result) у файл result.txt

write (Str2), nl,

% закриття файлів example.txt і result.txt

closefile (input), closefile (output).

2.1.2. Приклад 2 файлового уведення та виведення інформації

У наведеному далі лістингу (Sheet 6_3) представлено приклад Пролог-програми, що здійснює наступні дії:

– створює новий файл output.txt і призначає його пристроєм виведення;

– читає символи, що вводяться з клавіатури (без відображення їх на екрані);

– записує вказані символи до файлу output.txt до тих пір, доки не буде введено символ #.

Для перевірки результатів роботи Пролог-програми, потрібно відкрити текстовий файл output.txt, який було створено в процесі роботи даної програми, та порівняти його вміст із рядком символів, уведеним із клавіатури.

% Sheet 6_3. Primer 2 of the files input and output

DOMAINS

file = result

PREDICATES

readloop

CLAUSES

readloop:-

readchar (Char),

Char<>'#', !,

write (Char),

readloop.

readloop.

GOAL

openwrite (result, "output.txt"),

writedevice (result),

readloop,

closefile (result).