- •1.Концепция типов данных.
- •3.Множества. Операции над множествами.
- •Множество имеет зарезервированное слово set of.
- •Сравнение множеств
- •Проверка включения
- •4.Записи. Записи с вариантами.
- •2.Структурированные типы данных
- •5.Файлы. Виды файлов. Доступ к файлам. Описание файлового типа. Файловая переменная. Общая схема работы с файлами.
- •30. Файлы
- •6.Текстовые файлы. Процедуры и функции для работы с текстовыми файлами.
- •Способы обмена с текстовыми файлами
- •II Операции записи в файл
- •III Логическая функция Eoln
- •IV Процедура открытия файла для дополнения
- •7.Процедуры и функции модуля dos для работы с файлами.
- •8.Типизированные файлы. Процедуры и функции для типизированных файлов.
- •Процедуры и функции для работы с типизированными файлами
- •Функция ioResult
- •9.Нетипизированные файлы. Процедуры и функции для нетипизированных файлов.
- •11.Модульное программирование: понятие, принципы.
- •12.Модуль crt: процедуры и функции управления экраном, работа с окнами, задержка выполнения программы.
- •Процедуры работы с экраном
- •13.Модуль graph: общ.Сведения, перекл. В граф. Режим и обратно, вывод текста в граф. Реж., система координат граф. Экрана.
- •15.Динамические структуры данных. Распределение памяти для программы и её данных.
- •16.Динамически формируемые массивы и строки.
- •18.Линейные списки.
- •19.Нелинейные списки. Создание и удаление динамических переменных.
- •23.Объектно – ориентированное программирование (ооп): понятие, принципы
- •24.Технология программирования
- •25.Этапы решения задач на эвм
- •26.Жизненный цикл программы
- •17.Структуры данных на основе указателей.
- •20.Связанные списки: общие сведения. Действия со списками.
- •21.Двоичные поисковые деревья: общие сведения, индексы, пример построения двоичного поискового дерева.
- •22.Внешние и внутренние сортировки.
- •14.Модуль dos: работа с системной датой и временем, функции для обработки параметров командной строки.
6.Текстовые файлы. Процедуры и функции для работы с текстовыми файлами.
С каждым файлом на диске должна быть связана файловая переменная, которая описывается в соответствии с типом файла на диске. Представителем же текстового файла в Pascal-программе является переменная файлового типа, которая должна быть описана с указанием стандартного типа text:
Var TextFile : text;
Обращение к файлу в дальнейшем идёт через файловую переменную.
Далее доступ к файлу требуется открыть. Открыть любой файл можно на чтение и на запись. Для этого существуют процедуры reset, rewrite.
К примеру, пусть на диске создан текстовой файл text.txt.
Для Turbo Pascal описание и связывание файловой переменной f с файлом text.txt, будет выглядеть так:
Var
f: text;
Begin
assign(f, 'd:\tp7\bin\text.txt'); {Полный путь до файла}
reset(f);{Открыть на чтение]
. . .
End.
assign([файл. пер. ], [полный путь до файла на диске]) - связывает файл на диске с файловой переменной f типа текст.
Примечание. Процедура assign не должна использоваться для открытого файла.
Способы обмена с текстовыми файлами
I Операции чтения из файла : reset(f) - открывает существующий файл на чтение. Файловая переменная должна быть связана с внешним файлом с помощью процедуры assign.
Если существующий файл уже открыт, то он закрывается, а затем открывается вновь. Текущая позиция в файле устанавливается на начало файла.
Если f было присвоено пустое имя, например, assign((f),' '), то после обращения к процедуре Rezet(f) будет ссылкой на стандартный файл ввода (канал 0).
Текстовой файл становится доступным только по чтению.
II Операции записи в файл
rewrite(f) - создает и открывает новый файл. Файловая переменная должна быть связана с внешним файлом с помощью процедуры assign.
Если внешний файл уже существует, то он удаляется и на его месте создаётся новый пустой файл. Если файл уже открыт, то он закрывается, а затем открывается вновь. Текущая позиция в файле устанавливается на начало файла.
Если f было присвоено пустое имя (например, assign((f),' '), то после обращения к процедуре rewrite(f) будет ссылкой на стандартный файл вывода (канал 1).
Примечание: файл должен быть открыт для вывода.
III Логическая функция Eoln
Часто для обработки текстовых файлов используется специфичная для них функция Eoln, позволяющая определить достигнут ли конец строки. Если достигнут – значение функции равно True, а если нет – False.
IV Процедура открытия файла для дополнения
append(f : Тext) – процедура открывает существующий файл для присоединения. Если файл уже открыт, то он сначала закрывается, а затем открывается заново. Текущая позиция устанавливается на конец файла.
7.Процедуры и функции модуля dos для работы с файлами.
Переменные файлового типа используются в программе только в качестве параметра собственных и стандартных процедур и функций. Все фактические действия с файлами основаны на наборе стандартных процедур языка, входящих в состав модулей System и Dos.
Сначала рассмотрим процедуры модуля System.
Напомним, что он подключен к программам по умолчанию, то есть его не требуется подключать к программе в разделе Uses.
До начала работы с файлами устанавливается связь файловой переменной МуFilе с именем дискового файла. Очень важно различать собственно файл (область памяти на магнитном носителе с некоторой информацией) и переменную файлового типа в некоторой Turbo Pascal-программе. Считается, что файловая переменная является представителем некоторого дискового файла в программе. Для того, чтобы реализовать доступ к файлу на магнитном диске, программа должна связать его с файловой переменной. Для этого необходимо сопоставить переменную с именем файла. Это имя представляется в виде строки, содержащей полное имя файла и, может быть, маршрута к файлу, который формируется по общим правилам MS-DOS.
Например,
assign (МуFilе, 'с:\МуDirectory\Result.dat');
здесь приведено полное (с указанием пути) имя пользовательского файла Result.dat.
Если путь не указан, программа будет искать файл только в своем рабочем каталоге и, как это принято в системе DOS, по указанным в файле аutoехес.bat путям. Кроме указания имени файла на дисковом накопителе может быть указано стандартное имя одного из устройств ввода-вывода: «соn» – консоль, то есть дисплей и клавиатура, «рrn» – или «lpt1» – принтер.
Не разрешается связывать с одним физическим файлом различные файловые переменные в программе.
До тех пор, пока файловая переменная не связана с каким-либо дисковым файлом, никакие операции с ней в программе невозможны. Заметим, что можно связать файловую переменную с еще не существующим дисковым файлом. Это делается в случае последующего создания Turbo Pascal-программой файла с данным именем с помощью специальной системной процедуры.
После того, как файловая переменная с помощью процедуры Аssign связана с конкретным дисковым файлом, можно выполнить любую допустимую операцию с ним.
Все файлы, открытые в результате работы программы, должны быть закрыты при завершении программы процедурой
closе (МуFilе);
При выполнении этого оператора закрывается физический файл на диске и фиксируются изменения, связанные с использованием данного файла. Обратите внимание на необходимость закрытия файлов во всех ветвях программы, в том числе в различных аварийных ситуациях. Незакрытые файлы нарушают файловую структуру на диске, что может приводить к серьезным проблемам с настройкой компьютера.