Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Операторы для работы с файлами




 

Результаты обработки программ как данные можно сохранять на магнитных дисках. Это дает возможность использовать эти данные при обработке новых программ, загружая их с дисков в оперативную память.

Для этого создают файлы данных.

Файл – поименованный набор данных, который посылается на периферийное устройство (диск).

По принципу организации файлы подразделяются на:

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

- файлы с прямым доступом (данные можно размещать в любом месте, определенном показателем записей, таким же образом можно считывать данные из файла в программу).

 

Обработка файла состоит из следующих операций:

- открытие файла;

- чтение данных из файла или запись в файл;

- закрытие файла.

Создание дискового файла

Для создания (открытия) файла на магнитном диске используется оператор OPEN

OPEN п. и. ф. [FOR режим] AS # н.ф. [LEN = n]

где п. и. ф. - полн. имя файла, например ''А:\ REZ’’

режим – режим открытия файла:

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

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

APPEND – последовательная дозапись в конец файла

По умолчании – прямой доступ к файлу (0 / 1)

# н.ф. -номер файла (от 1 до максимально возможного)

n – выражение типа INTEGER, определяющее длину записи (в файле с прямым доступом от 1 до 32 767 байтов, по умолчанию - 128 байтов)

Оператор OPEN открывает (создает) на диске файл данных, открывает для него буфер, определяет режим доступа и связывает с файлом номер (# н.ф), который используется в операторах ввода – вывода.

Например:

Файл последовательного доступа

OPEN ''А:\ REZ’’ FOR OUTPUT AS #1

Здесь оператор открывает на диске А в корневой директории файл под именем REZ и назначает ему № 1 для вывода в него из программы данных в режиме последовательного доступа.

Файл прямого доступа

OPEN ''А:\ ITOG’’ AS #2 LEN=256

Здесь оператор открывает на диске А в корневой директории файл под именем ITOG и назначает ему № 2 для ввода / вывода данных в режиме прямого доступа с длиной записи 256 байт.

Вывод данных в файл

 

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

WRITE # н.ф., список

# н.ф – номер открытого файла;

список – перечень имен числовых или строковых переменных, разделенных запятой.

 

Пример: вывод данных в файл № 1

WRITE # 1, А, С, К

Закрытие дискового файла

 

Для закрытия используется оператор CLOSE

CLOSE [# н.ф. [, # н.ф...]]

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

Если номер файла в операторе отсутствует, то оператор закрывает все открытые файлы.

При наличии номера файла оператор закрывает обозначенный файл.

В режиме прямого доступа, кроме оператора CLOSE, открытые файлы закрывают также операторы END, NEW, SYSTEM и RUN.

Пример: программа создания дискового файла последовательного доступа под именем ''список'' состоящий из имен и дат рождения

 

OPEN ''А:\ SPISOK’’ FOR OUTPUT AS #1

N = 1

DO WHILE N <= 20

INPUT”Имя”; NAME$

IF NAME$=” “ THEN

CLOSE #1

EXIT DO

END IF

N = N + 1

INPUT”Год рождения”; GR

WRITE # 1, NAME$, GR

LOOP

END

Ввод данных из файла в программу

 

Для ввода данных в программу используется оператор

INPUT # н.ф., список

# н.ф – номер открытого файла;

список – перечень имен числовых или строковых переменных, разделенных запятой или точкой с запятой.

 

Оператор считывает из файла последовательного доступа данные и присваивает их значения переменным из списка.

Пример: программа выборки из дискового файла последовательного доступа под именем ''список'' имен лиц с определенным годом рождения

OPEN ''А:\ SPISOK’’ FOR INPUT AS #1

N = 1

DO WHILE N <= 20

INPUT # 1, NAME$, GR

IF GR >= 1982 AND NOT EOF(1) THEN

PRINT NAME$

END IF

N = N + 1

LOOP

CLOSE #1

END

Функции, используемые при работе с файлами

EOF(номер открытого файла) – возвращает ''истину'' (отлична от 0), если достигнут конец файла.

LOC(номер открытого файла) – текущая позиция указателя файла

LOF(номер открытого файла) – длина файла в байтах





Поделиться с друзьями:


Дата добавления: 2015-11-05; Мы поможем в написании ваших работ!; просмотров: 583 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Человек, которым вам суждено стать – это только тот человек, которым вы сами решите стать. © Ральф Уолдо Эмерсон
==> читать все изречения...

2258 - | 2106 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.