Множества значений или переменных с одним общим именем называются структурированными типами. По способу организации и типу компонентов выделяют: 1. Массивы 2. Записи 3. Файлы 4. множества
Файл –это область памяти на внешнем носителе, в которой хранится некоторая информация В языке Паскаль файл представляет собой последовательность элементов одного типа – файлы последовательного доступа. Чтобы получить доступ к элементу, необходимо последовательно просмотреть все предыдущие. Объем информации, которую можно хранить в файле, значительно больше, чем объем, который можно хранить в оперативной памяти, например, при использовании массивов.
Объявление файловой переменной в разделе описания переменных: Var : file of ; Например: Var F1: file of integer; {файл, элементами которого являются целые числа} Var М: file of char; {файл, элементами которого являются символы} Такие файлы называются типизированными.
файловый указатель С каждым файлом связан файловый указатель Это неявно описанная переменная, которая указывает на некоторый элемент файла. (0)(1) (…) (k)(k)(k+1) Файловый указатель Все операции производятся с элементом, который определен файловым указателем.
Связь переменной файлового типа с файлом на диске. Используется стандартная процедура Assign. Assign (, ); Например: Assign (F1, C:INT.DAT); После установления такого соответствия все операции, выполняемые над переменной F1, будут выполняться над файлом, хранящимся на диске С: и имеющим имя C:INT.DAT.
Чтение из файла Под чтением понимается пересылка данных из внешнего файла, находящегося на диске, в оперативную память. Для чтения из файла, необходимо открыть файл: Reset ( ); И прочитать данные из файла: Read (, ); Потом необходимо закрыть файл: Close ( );
Признак конца файла Так как число элементов файла заранее не известно, то для определения конца файла используется логическая функция: EOF ( ); (End Of File) Она принимает значение True – если достигнут конец файла; False – в противном случае.
Программа чтения из файла целых чисел: Program chtenie; Var n:integer; F1: file of integer; Begin Assign(F1,Int.dat);{ связываем файловую переменную с файлом на диске} Reset (F1); {открываем файл для чтения} While not eof (F1) do { пока не достигнут конец файла F1} Begin Read(F1,n); {считываем очередное число} Write (n, ); {выводим его на экран} End; Close (F1); {закрываем файл} end.
Запись в файл Под записью в файл понимается вывод результатов программы из оперативной памяти в файл на диске. Для записи в файл, необходимо открыть файл: Rewrite ( ); И записать данные в файл: write (, ); Потом необходимо закрыть файл: Close ( );
Программа записи в файл целых чисел Program zapis; Var n: integer; F1: file of integer; Begin Assign(F1,Int.dat); { связываем файловую переменную с файлом на диске} Rewrite (F1); {открываем файл для записи} Writeln(конец ввода чисел -0); Repeat { пока не будет веден 0} writeln (введите число); Readln(n); If n0 then write(F1,n); { если введено число 0, то записываем его в файл} Until n=0; { если введено 0, то выходим их цикла } Close (F1); {закрываем файл} end.
Создать файл можно так: Создать новый файл File – New Записать числа, разделяя их пробелами Сохранить файл, например, под именем INT1.DAT
Процедуры работы с файлами Определение количества элементов в файле Filesize ( ) Удаление файла Erase ( ) Переименование файла Rename (, )
Обработка текстовых файлов Кроме перечисленных процедур и функций при обработке текстовых файлов могут использоваться: логическая функция Eoln ( ), которая принимает значение True, если достигнут конец строки. Процедура Append ( ) открывает файл для «дозаписи».
Программа создания текстового файла Program zapis; Var n: char; F1: file of char; Begin Assign(F1,fpc:dan.txt); { связываем файловую переменную с файлом на диске} Rewrite (F1); {открываем файл для записи} Writeln(конец ввода символов -0); Repeat { пока не будет веден 0} writeln (введите символ); Readln(n); If n0 then write(F1,n); { если введен символ 0, то записываем его в файл} Until n=0; { если введено 0, то выходим их цикла } Close (F1); {закрываем файл} end.