Організація роботи з файлами в системі ТУРБО-ПРОЛОГ

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

1. Визначення файлів.

У П. використовуються традиційне для інших мов програмування визначення файла. Для вказівки порядку роботи з конкретними файлами в пр-ме, исп-ся символічне ім'я файлу. У системі прийняті слід. станд. імена файлів, з кіт. м. працювати в програмах без предв. опису.

1.Входной з екрану дисплея keyboard

2.Виходная форма на екран screen

3.Вих. ф-ма на пристрій друку printer

4. - "- На порт com1

За замовчуванням наз-ся файли (1) і (2). Для перевизначення стандартних файлів і файлів користувача исп-ся станд. предикати

readdevice

(<Символьне ім'я файлу>)

(File): (i)

writedevice

ПРИКЛАД

readdevice (printer),

write ("Робота завершена"),

readdevice (screen),

...

Файли користувача в П. м. являти собою як Д. так і факти у вигляді предикатів, при цьому 1-я запис файлу д. відповідати 1-му предикату-фактом.

2. Порядок роботи з файлами користувача в програмах наступні:

1.Визначення символьного імені файлу

2.Откритіе відповідного виду доступу

3.Визначення або перевизначення уст-ва, використовуваного для обробки файлу

4.Закритіе файлу після обробки з можливим перевизначенням пристроїв введення-виведення

Для визначення символьного імені в П. використовується стандартний домен file, визначений у розділі domaines.

Символьне ім'я м. збігатися, а м. не збігатися з його ім'ям в ОС. Символьне ім'я діє також у межах тієї пр-ми, кіт. його описує. Залежно від порядку роботи з файлом, його відкриття м проводитися за допомогою слід. стан. предикатів:

OPENWRITE (<сим. Ім'я файлу>, <ім'я файлу в ОС>)

(File, string): (i, i)

- Відкриває файл з вказаним ім'ям для операції запису. Якщо цей файл реально існує під вказаним ім'ям в середовищі ОС, то він знищується.

OPENREAD (<сим. Ім'я файлу>, <ім'я файлу в ОС>)

(File, string): (i, i)

- Відкриває файл з вказаним ім'ям для читання

OPENAPPEND () (file, string): (i, i)

- Відкриває файл для дозапису. Якщо при використанні предиката OPENREAD і OPENAPPEND файл не знайдений, то це интерпр. як помилка. Якщо при використанні предикатів OPENWRITE і OPENMOCLIFY файл не знайдений, то відбувається створення нового файлу. Для перевірки наявності файлу в П. є слід. стан. предикат:

EXISTEFILE ()

(String): (i)

Якщо файл з вказаним ім'ям не ім., То предикат приймає значення. T., якщо ні-брехня. Перевизначення пристроїв для роботи з файлами користувача проводиться за допомогою readdevice і writedevice

FILE_STR (<ім'я файлу в ОС>, <рядок>)

(String, string): (i, 0) (i, i)

- Читає знаки до 64кб з файлу в перем. пам'яті, якщо задано (i, 0). Якщо задано (i, i), то знаки з пер.памяті зап-ся у файл. Читання і запис припиняється, якщо зустрітися ознака кінця файлу. Цей предикат працює без визначення символьного імені файлу.

READTERM (, <терм>)

(<Ім'я області>, <терм>): (i, 0)

Після відкриття файлу цей предикат читає факти з нього. Перший аргумент предиката д.б. описаний в розділі domains програми

EOF (<символьне ім'я файлу>)

(File): (i)

Предикат має значення "Істина", якщо покажчик файлів позиції встановлений на кінці файлу

FILEPOS (<сим. Ім'я файлу>, <позиція>, <режим>)

(File, real, integer): (i, i, i) (i, 0, i)

RENAME (<ім'я файла1 в ОС>, <ім'я файла2 в ОС>) - пере. файлу

(String, string): (i, i)

DELETE (<ім'я файлу в ОС>) - видалення файлу

(String): (i)

DISK (<маршрут>)

(String): (i) (0) - встановлює, якщо (1) або повертає, якщо задана (0) дисковод або тих. каталог, підкаталог ...

CLOSEFILE (<сим. Ім'я файлу>)

(File): (i)

3. Стандартні предикати обробки файлів і техніка їх використання.

Техніка роботи з файлами у програмах

1.Створення файлу

domains

file = ff

P2 = integer

Pole, Pole1 = string

divdicates

vvod

put

clouses

put if

write ("Введіть ознака продовження"),

readint (Pr),

Pr = 0

vvod

vvod if

write ("Введіть рядок"),

readln (Pole), nl,

write (Pole),

concat (Pole, "n", Pole1),

openappend (ff, "text")

writedevice (ff),

write (pole1),

closefile (ff),

writedevice (screen),

write ("Рядок", Pole1, "на диск записана")

У полі м.б. введенозначеніе предиката-факту, з кіт. надалі м. працювати як ср-вами обробки файлу, так і ср-вами динам. фаз фактів. Припустимо, що в цьому прикладі користувач ввів значення предиката-факту tmc

tmc (Post, Kod, Kol, Cena)

2.Обработка фактів з файлу

domains

file = ff

data = tmc (Post, Kod, Kol, Cena)

Post, Kod = string

Kol, Cena = integer

divdicates

put

spr

clouses

put if

not (eof (ff)),

spr.

put if

eof (ff), nl,

write ("Робота закінчена"),

closefile (ff)

spr if

readterm (data, tmc (Post, Kod, Kol, Cena), nl,

write (post), nl,

put.

goal

openread (ff, "text"),

readdevice (ff),

spr.

3.Модіфікація даних файлу

domains

file = ff

Pr = integer

Pole, Pole1 = string

K = real

divdicaes

put

mod

clouses

put if

write ("Введіть ознака продовження"),

readint (P2),

p2 = 0,

mod.

mod if

write ("Введіть номер запису"), nl,

readreal (K), nl,

K1 = K * 12,

openmodify (ff, "text"),

readdevice (ff),

48

filepos (ff, K1, 0)

readln (Pole),

write ("Старе значення", pole), nl,

writedevice (ff),

filepos (ff, K1, 0),

write (Pole1, "n"),

closefile (ff),

writedevice (screen),

write ("Нове значення", Pole1), nl,

readdevice (keybord),

put

goal

mod

Засоби модульного ПРГ-а в ТП

ТП, будучи прообразом мови парал. обчислень, підтримує стиль модульного проектування.

Кошти ТП для підтримки мод. прог-я наступні:

1.Междумольная інформаційний зв'язок в П. реалізується кака і в інших мовах прог-я, через загальні змінні. Для цього в пов'язують модулях після розділу domains, де описуються ті прийоми, кіт. описуються в різних модулях.

2.Актуалізація кожного модуля проводиться шляхом виклику відповідного правила, кіт. д.б. відомо в усіх зв'язують модулях в розділі global divdicates.

3.Ср-ва обр-ки модульних програм.

3.1.Іспользованіе предиката include "ім'я програмного файлу".

include - використовується в тому випадку, коли до поточної програмі на рівні програмного модуля.

Ланцюжок модулів м.б. як завгодно довгою, але не д.б. циклів.

"Ім'я прогр. файлу "м. містити маршрут пошуку файлу на диску.

4.project "ім'я файлу-проекту"

Ця дірректіва д.б. записана 1-й у тих модулях, кіт. необхідно об'єднати в 1-й завантажувальний модуль з ім'ям файлу-проекту. За аналогам з розробками Borland, всі модулі, об'їду. в проект, компілюється окремо, а зв'язок відбувається на рівні об'єктних модулів.

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
12.7кб. | скачати


Схожі роботи:
Прямий доступ у системі Турбо Паскаль
Команди для роботи з файлами
Поняття виховної роботи Роль і місце виховної роботи в системі роботи з кадрами
Інтерпретатор мови Пролог
Організація бухгалтерського обліку на підприємстві Організація роботи
Графіка Турбо Паскаля
Турбо відладчик Turbo Debugger
Знайомство із середовищем Турбо Паскаль
Основи роботи в операційній системі Windows 2
© Усі права захищені
написати до нас