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

6554
знака
0
таблиц
0
изображений

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

predicates

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

predicates

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

predicaes

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 predicates.

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

3.1.Использование предиката include “ имя программного файла”.

include — используется в том случае, когда к текущей программе на уровне исходного модуля.

Цепочка модулей м.б. сколь угодно длинной, но не д.б. циклов.

“ имя прогр. файла “ м. содержать маршрут поиска файла на диске.

4.project “имя файла-проекта”

Эта дирректива д.б. записана 1-й в тех модулях, кот. необходимо объединить в 1-й загрузочный модуль с именем файла-проекта. По аналогам с разработками Borland, все модули, объед. в проект, компилируется отдельно, а связь происходит на уровне объектных модулей.

Список литературы

Для подготовки данной работы были использованы материалы с сайта http://www.parny.by.ru/


Информация о работе «Организация работы с файлами в системе “ТУРБО-ПРОЛОГ”»
Раздел: Информатика, программирование
Количество знаков с пробелами: 6554
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
83598
0
5

описания знания подразделяются на: 1)  Декларативные (факты) - это знания вида “А есть А”. 2)  Процедурные - это знания вида “Если А, то В”. Декларативные знания подразделяются на объекты, классы объектов и отношения. Объект - это факт, который задается своим значением. Класс объектов - это имя, под которым объединяется конкретная совокупность объектов-фактов. Отношения - определяют связи ...

Скачать
141139
6
10

... названием "Prolog", а внутри него ярлык на файл "Prolog.exe" с названием "Prolog with databases", ярлык на help-файл и на файл "readme.txt". 3.3 Руководство пользователя программы интерпретатора языка Пролог 3.3.1 Запуск программы Запуск программы можно произвести несколькими способами. Нажать кнопку "Пуск", выбрать в меню пункт "Программы", выбрать пункт "Prolog". После того, как ...

Скачать
18635
0
0

... как и в системе, базирующейся на правилах, минимально достаточное количество данных образуют наиболее эффективную систему.  Структура базы знаний экспертной системы для выбора породы дерева.    Для идентификации породы внутри каждого подмножества можно использовать список атрибутов. Количество характеристик будет определять степень точности классификации. Различающей не обязательно является ...

Скачать
87879
2
1

... , обучения персонала. При решении комплекса сложных проблем желательно привлекать работников специальных фирм, выполняющих весь цикл работ по внедрению компьютерной техники на предприятие. 3. Оценка рынка бухгалтерских учетных систем 3.1 Общая характеристика "1C: Предприятие 8.0" Новая платформа от фирмы "1С.8.0" - новый уровень автоматизации на "1С: Предприятие". Платформа "1С: ...

0 комментариев


Наверх