русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Файлы и наборы данных


Дата добавления: 2014-11-27; просмотров: 1894; Нарушение авторских прав


 

Для ЭВМ любая информация: программа, исходные данные и результаты является набором данных (НД).

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

Наборы данных различаются по следующим параметрам:

1) типу носителя (бумага, НМД);

2) типу составляющих их элементов (записей);

3) способу организации.

Сведения об этих характеристиках необходимы операционной системе ЭВМ для того, чтобы обеспечить работу с набором.

В программе на Паскале наборам данных соответствуют файлы.

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

Любой файл и соответствующий ему набор данных представляют собой линейную последовательность элементов (называемых, как правило, записью). Число элементов не устанавливается описанием файлового типа. Каждый элемент файла имеет номер. Первый элемент файла имеет номер 0.

Таким образом, запись – основная единица набора. В программе одной записи могут соответствовать:

а) данное скалярного типа (обычно число);

б) массив;

в) данное типа Record.

В Паскале определены три типа файлов:

1) текстовые;

2) типизированные;

3) нетипизированные.

Различие между ними заключается в следующем.

1)Текстовый файл состоит из строк символов. Конец записи определяется концом строки. Чтение и запись в файл осуществляется посимвольно.

2)Типизированный файл может состоять из записей любого типа.

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

 

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



Таким образом, обработка файла может производиться двумя способами:

1) с использованием последовательного доступа;

2) с использованием прямого (произвольного) доступа.

Когда программа завершает обработку файла, его нужно закрыть. Только после этого связанный с ним внешний набор данных будет обновлен. Затем файловая переменная может быть связана с другим набором данных, или обновленный набор данных может быть связан с другой файловой переменной.

Основными операциями над файлами являются:

 

1) связь с набором данных;

2) открытие;

3) чтение;

4) запись;

5) закрытие;

6) усечение.

 

1. Связь файла с набором данных осуществляется с помощью специальной процедуры Assign, которая в общем виде записывается так:

Assign(имя_файла, имя_НД);

Эта процедура присваивает имя внешнего набора данных имя_НД переменной файлового типа имя_файла.

Пример.Assign(dan,’Isx.txt’);

Assign(datain,’Anketa.dat’);

 

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

В операционной системе определены следующие устройства:

Con – консоль, посредством которой выводимая информация пересылается на экран дисплея, а вводимая информация воспринимается с клавиатуры;

Lpt1 или Prn – построчное устройство печати.

Кроме того, когда начинается выполнение программы, всегда автоматически открываются два текстовых файла Input и Output. Input (ввод) – это доступный только для чтения файл, связанный с клавиатурой, а Output (вывод) – это доступный только для записи файл, связанный с дисплеем.

 

2. Процедура Rewrite (имя_файла) создает и открывает новый файл.

Параметр имя_файлаявляется файловой переменной, соответствующей любому типу файла. Процедура Rewriteсоздает новый набор данных (внешний файл), имя которого присвоено параметру имя_файлапроцедуройAssign. Если внешний файл с указанным именем уже существует, то он удаляется и на его месте создается новый пустой файл. Текущая позиция в файле устанавливается на начало файла.

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

 

3. Процедура Reset(имя_файла) открывает существующий файл. Параметр имя_файлаявляется файловой переменной, соответствующей любому типу файла. Если файл уже открыт, то он сначала закрывается, а затем открывается вновь. Текущая позиция файла устанавливается на начало файла.

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

 

4. Процедура Append(имя_файла)открывает существующий текстовый файл для добавления записей в конец файла. Если файл уже открыт, то он сначала закрывается, а затем открывается вновь. Текущая позиция устанавливается на конец файла.

 

5. Чтение из файла осуществляется с помощью известного оператора Read, который в общем виде записывается так:

Read(имя_файла, список); или

Readln(имя_файла, список); только для текстового файла!

Пример.Read (dan,str);

Readln (datain,a,b,c);

 

6. Запись в файл осуществляется с помощью известного оператора Write, который в общем виде записывается так:

Write(имя_файла, список);

Writeln(имя_файла, список); - только для текстового файла

 

Пример.Write (fl,x,y);

 

7. Закрытие выполняется процедурой Сlose(имя_файла) для открытого файла.

Параметр имя_файла может соответствовать файлу любого типа, который был предварительно открыт с помощью процедур Reset, ReWrite или Append. В момент закрытия осуществляется полное обновление внешнего набора данных, связанного с файловой переменной имя_файла, после чего связь с набором данных разрывается. Потом файл можно открыть снова.

Пример. Close(fl);

8. Усечение файла выполняется процедурой Truncate(имя_файла). Параметр имя_файламожет соответствовать файлу любого типа. Все записи после текущей позиции в файле имя_файлаудаляются и текущая позиция становится концом файла (т.е. функция EoF(имя_файла) принимает значение True).

 



<== предыдущая лекция | следующая лекция ==>
Алгоритм | Текстовые файлы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.252 сек.