- •Содержание
- •Методические рекомендации по оформлению отчета по практическим и лабораторным работам
- •Тематика практических и лабораторных работ
- •Перечень практических и лабораторных работ
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Методика разработки алгоритмов
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Структура программы на Турбо Паскаль
- •Операторы ввода и вывода Ввод данных:
- •Вывод данных:
- •Оператор условного перехода
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Расположение матрицы в памяти компьютера
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Тема: Организация процедур и функций.
- •Краткие теоретические сведения
- •Передаваемые параметры процедур и функций
- •Параметры-значения
- •Параметры-переменные
- •Краткие теоретические сведения
- •Оператор with
- •Краткие теоретические сведения
- •Стандартные процедуры и функции
- •Краткие теоретические сведения Организация работы с файлом
- •Организация работы с файлом
- •Запись в файл
- •Чтение из файла
- •Общие процедуры работы с файлами
- •Процедура открытия
- •Процедура закрытия
- •Процедура переименования
- •Функция анализа состояния файла
- •Чтение и запись в текстовых файлах
- •Процедуры Write / WriteLn
- •Чтение и запись в компонентном файле
- •Лабораторная работа №15(2 часа)
- •Рекомендуемая литература
Организация работы с файлом
Структурно файл организован как последовательность элементов.
|
|
|
|
|
|
|
|
|
… |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
|
Последовательный файл
Файл – это линейная структура, элементы в нем лежат один за другим. В файле не может быть «дыр».
У файла есть, связанный с ним указатель, установленный перед элементом, с которым будет выполняться действие. При открытии файла он всегда находится в начале файла перед самым первым элементом. При выполнении действия с элементом файла (записи или чтения) указатель автоматически передвигается и устанавливается перед следующим элементом. Элементы в файле нумеруются, начиная с 0
После работы с последним элементом файла логическая функция
EOF (Имя_Формального_Файла) выдает значение True.
Каждый цикл работы с файлом содержит, как правило, четыре действия:
Связывание формального и фактического файлов.
Открытие файла (для записи или для чтения).
Непосредственно работа с файловыми данными (запись в файл или
чтение из файла).
Закрытие файла.
Запись в файл
Файл создается или пополняется, когда в него что-нибудь записывают. Каждая операция записи добавляет к файлу новый элемент.
Элементы могут добавляться только к концу последовательности
При открытии файла для записи считается, что файл пуст, указатель стоит в начале и указывает на позицию в файле, в которую будет производиться запись нового элемента. Далее изображена ситуация, когда в файле уже присутствуют 5 элементов, и указатель установлен на ту позицию, куда будет помещаться шестой элемент.
|
|
|
|
|
|
|
|
|
|
Запись в файл
Операция установки указателя на начало файла и подготовки файла для записи в него новых элементов выполняется с помощью стандартной процедуры
Rewrite (Имя_Формального_Файла).
Эта операция одновременно уничтожает всю информацию, имеющуюся в файле.
Запись в файл осуществляется поэлементно с помощью процедуры
Write (Имя_Формального_Файла, Переменная_Для_Записи).
Записать в файл можно только весь элемент (компонент) целиком
Если элемент имеет сложную структуру (массив, строка, запись), он также записывается в файл целиком, предварительно получив свои значения в оперативной памяти.
Var |
|
||
F : Text; |
{ Объявляем файловую переменную f } { вводим формальный файл типа «Текст»} |
||
Ch : Char; |
{ Объявляем переменную символьного } { типа для записи в файл } |
||
Begin |
|
||
Assign (f, ‘C:\Data.txt’); |
{ Связываем формальный файл f с } {фактическим, имеющим имя Data.txt и } {расположенном на диске С } |
||
Rewrite(f); |
{ Открываем файл для записи } |
||
Ch := Readkey; |
{ Вводим символ с клавиатуры } |
||
Write (f, ch); |
{ Записываем в файл f значение } { переменной ch } |
||
Close (f); |
{ Закрываем файл f } |
||
End. |
|
||
|
|
|