Глава 9. ВВОД-ВЫВОД ДАННЫХ И ФАЙЛОВАЯ СТРУКТУРА Логический и физический файлы Типы файловой переменной Общие процедуры работы с файлами Текстовые файлы.

Презентация:



Advertisements
Похожие презентации
Файлы - именованная область внешней памяти ЭВМ, хранящая совокупность данных. Файл.
Advertisements

Файловая переменная. Файл – совокупность данных, записанная во внешней памяти под определенным именем. Любой файл имеет три характерные особенности: уникальное.
Файловый тип данных Turbo Pascal Операции для работы с файлами 11 класс.
Множества значений или переменных с одним общим именем называются структурированными типами. По способу организации и типу компонентов выделяют: 1. Массивы.
Работа с файлами.. Процедура Assign(var f; name : String); Связывает внешний файл с именем name и переменную файлового типа f. Все дальнейшие операции.
Файловый тип данных Файл – это область памяти на внешнем носителе, в которой хранится некоторая информация. В языке Паскаль файл представляет собой последовательность.
Лабораторная работа 8. Файлы. Задание на лабораторную работу Добавить к программе из лабораторной работы 7 следующие действия: сохранение информации в.
Текстовые файлы Вербицкая Ольга Владимировна, Заозерная школа 16.
Нетипизированный файл рассматривается в Паскале как совокупность символов или байтов. Выбор char или byte не играет никакой роли, важен лишь объем занимаемых.
1 Программирование на языке Паскаль Тема: Файлы. Integer, Real, Boolean, Character, String, Text.
Программирование типовых алгоритмов вычислений Информатика.
1 Файловый тип данных Файл – это область памяти на внешнем носителе, в которой хранится некоторая информация. Файл – это набор данных, хранящихся во внешней.
Тип данных файл 1 курс. План: 1.Понятие типа данных файл. Дескриптор файла. 2.Классификация файлов в Паскале. 3.Структура описания типа данных файл. 4.Действия.
ТЕКСТОВЫЕ ФАЙЛЫ Turbo Pascal 7.0. Операции с текстовыми файлами Выделение буфера обмена Установка связи Открытие файла Чтение из файла Запись в файл Закрытие.
Структурные типы данных 1.Массивы 2.Строки 3.Записи 4.Множества 5.Файлы.
Файловый ввод- вывод данных в Pascalе Средства обработки файлов 11 класс Дугина Ирина Радиковна, учитель информатики и ИКТ, МБОУ СОШ с.Камышки Александрово-Гайского.
Работа с файлами PASCAL. Понятие файл Физический файл – это именованная область внешней памяти, содержащая информацию. Логический файл – это структура.
Файловый ввод- вывод данных в Pascalе Средства обработки файлов 11 класс.
Программирование на языке Паскаль Типизированные файлы.
Текстовые файлы. Определение. Файлы символьных данных называются текстовыми файлами (можно также сказать что это «файлы байтов»). Структура текстового.
Транксрипт:

Глава 9. ВВОД-ВЫВОД ДАННЫХ И ФАЙЛОВАЯ СТРУКТУРА Логический и физический файлы Типы файловой переменной Общие процедуры работы с файлами Текстовые файлы Обмен данными с консолью Типизированные файлы Нетипизированные файлы.

2 Гл. 9. ВВОД-ВЫВОД ДАННЫХ И ФАЙЛОВАЯ СТРУКТУРА Файловая система, реализуемая в Тurbo Рascal, состоит из двух уровней: логических файлов и физических файлов. Логический файл – это переменная одного из файловых типов, определенных в Тurbo Рascal. Введенная файловая переменная может быть использована как средство общения с любым физическим файлом. Специальной процедурой Assign устанавливается, что объявленный логический файл будет служить средством доступа к конкретному физическому файлу. Физический файл – это: - именованная область на устройствах внешней памяти (адресная часть в виде строковой константы оформляется в соответствии с правилами MS-DOS – 'С:\PASCAL\program.pas'); - логическое устройство MS-DOS. Var F : Text; {файловая переменная – лог. файл} Begin Assign(F,'A:\text.txt');... {связывается физический файл text.txt на диске А: с логическим файлом F} End.

3 Гл. 9. ВВОД-ВЫВОД ДАННЫХ И ФАЙЛОВАЯ СТРУКТУРА Логические устройства используются для обмена информацией с основными устройствами ввода-вывода, такими как дисплей, клавиатура, и т.п. Они имеют стандартные имена (также записываются в виде строковой константы): 'CON' – консоль (клавиатура и экран); 'LPT1', 'LPT2'… – параллельные порты (типа Centronix); 'PRN' – принтер (синоним имени LPT1); 'COM1', 'COM2' – последовательные порты; 'NUL' – фиктивное устройство (пустой файл), используется для отладки. Физически операции ввода-вывода с файлами выполняются с использованием специального буфера. Стандартный объем буфера 128 байт. Физическая за- пись на внешнее устройство происходит только тогда, когда информацией бу- дет занят последний байт буфера. Этим достигается компромисс между коли- чеством и длительностью обращений к диску. Буферизация – накопление данных с целью обмена ими между программой и внешними устройствами.

4 Гл. 9. ВВОД-ВЫВОД ДАННЫХ И ФАЙЛОВАЯ СТРУКТУРА Тurbo Рascal поддерживает три файловых типа: - текстовые файлы ( Var F1 : Text; ); - типизированные файлы ( Var F2 : file of Real; ); - нетипизированные файлы ( Var F3 : file; ). file text тип компонента of

5 Гл. 9. ВВОД-ВЫВОД ДАННЫХ И ФАЙЛОВАЯ СТРУКТУРА Общие процедуры работы с файловыми переменными ASSIGN(Var F :, St : String). Инициализирует файло- вую переменную F, связывая ее с физическим файлом, определенным строкой St. RESET(Var F : ). Открывает файл, определенный файловой переменной F для чтения. Для корректного выполнения процедуры необходимо иметь файл с соответствующим именем на диске. REWRITE(Var F : ). Открывает файл, определенный файловой переменной F для записи. При открытии для записи существующего файла старый файл уничтожается. APPEND(Var F : Text). Открывает текстовый файл, определенный файловой переменной F, для добавления строк. CLOSE(Var F : ). Закрывает файл, открытый для записи или чтения. Связь файла с файловой переменной сохраняется.

6 Гл. 9. ВВОД-ВЫВОД ДАННЫХ И ФАЙЛОВАЯ СТРУКТУРА Текстовые файлы Физический текстовый файл трактуется в Тurbo Рascal как совокупность строк переменной длины, состоящих из символов кодовой таблицы. В конце каждой строки ставится маркер конца строки EOLN (End Of Line – последовательность кодов ASCII #13 и #10), а в конце всего файла – маркер конца файла EOF (End Of File – код ASCII #26). Строка 1Строка 2Строка 3Строка N... маркер конца строки маркер конца файла Физические текстовые файлы связываются с файловыми переменными, принадлежащими типу Text. Для ввода и вывода информации в текстовые файлы используют процедуры Read (ReadLn) и Write (WriteLn), первым параметром которых является имя логического файла, после чего следует список переменных, относящихся к символьному (Char) или строковому (String) типу, а также к любому целому или вещественному. WriteLn(Var F : Text; X1, X2,…, Xn)

7 Гл. 9. ВВОД-ВЫВОД ДАННЫХ И ФАЙЛОВАЯ СТРУКТУРА При считывании информации из текстового файла (Read и ReadLn): - Если переменные ввода относятся к типу Char, то символы считываются поочередно в соответствующие переменные (без разделителей). - Для строкового типа String[N] количество "заносимых" символов в строковую переменную зависит от ее объявленной длины. Но если попался символ конца строки #13, то чтение строки прекращается. - При введении числовых значений два числа считаются разделенными, если между ними есть пробел, символ табуляции (#9) или символ конца строки (#13). Если нарушен формат, то фиксируется ошибка ввода-вывода. Процедура ReadLn считывает значения в текущей строке, и затем переводит позицию в начало следующей строки, даже если в текущей строке остались непрочитанные данные. Var X1, X2 : Real; F : Text; {F } Begin... ReadLn(F,X1,X2); {X1 12.3; X2 13.4} End.

8 Гл. 9. ВВОД-ВЫВОД ДАННЫХ И ФАЙЛОВАЯ СТРУКТУРА При записи информации в текстовый файл (процедуры Write и WriteLn) список вывода может включать выражения типа Char, String, Boolean, а также целого или вещественного типов. Процедура Write выводит данные в текущую строку и не закрывает ее, т.е. следующие данные запишутся в ту же строку. Процедура WriteLn выводит строку данных и закрывает ее, приписывая символы #13 и #10 в ее конец. Имеется возможность управлять форматом вывода числовых данных. Список вывода может содержать не только переменные, но и константы, выражения, вызовы функций. Write(F,RealVar,'номер',RealVar + Cos(5*5)); Обмен данными с консолью В модуле System определены две переменные Input и Output типа Text, которые заранее связаны с физическим файлом-устройством 'CON' - консолью, которое объединяет клавиатуру и дисплей. Если в процедурах ввода данных Read (ReadLn) опущено имя файла, то считается, что ввод идет из системного файла Input, что физически означает набор на клавиатуре. Аналогично, если в процедурах вывода данных Write (WriteLn) опущено имя файла, то они выводятся через файловую переменную Output на экран. Write(Output, 23) = Write(23)

9 Гл. 9. ВВОД-ВЫВОД ДАННЫХ И ФАЙЛОВАЯ СТРУКТУРА Типизированные файлы Типизированный файл – это файл, все компоненты которого одного типа, заданного при объявлении файловой переменной. Тип данных может быть любым, кроме файлов, объектов и структурированных компонентов (массивов, записей, и т.д.), содержащих файлы или объекты Компоненты файла хранятся на диске во внутреннем (двоичном) формате. Компонент 0... маркер конца файла Компонент 1Компонент 2Компонент N Так как каждый компонент занимает в файле одинаковый объем (равный размеру его типа), имеется возможность организовать прямой доступ к каждому из них. Процедура позиционирования Seek(Var F : ; ) смещает указатель файла к требуемому компоненту. Ввод-вывод данных осуществляется стандартными процедурами Read, Write, параметрами которых кроме файловой переменной являются переменные такого же типа, как и тип файла.

10 Гл. 9. ВВОД-ВЫВОД ДАННЫХ И ФАЙЛОВАЯ СТРУКТУРА Нетипизированные файлы Нетипизированные файлы также состоят из машинных представлений данных, однако объявлены без указания типа его компонентов. Нетипизированный файл - это высокоскоростной низкоуровневый канал ввода-вывода для доступа к любым файлам с любым типом. С его помощью можно записывать на диск произвольные участки рабочей памяти компьютера и считывать их в память. Операции чтения и записи осуществляется блоками с помощью процедур BlockRead и BlockWrite.