Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая работа № 12.DOC
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
79.87 Кб
Скачать
    1. В текстовом редакторе создать файл, содержащий данные, указанные в вашем варианте. Поля записей записывать с новой строки.

    2. Объявить файловую переменную указанного типа.

    3. Объявить тип данных «запись». Поля записи выбрать по своему усмотрению и согласно своему варианту.

    4. Объявить массив записей.

    5. Написать процедуру чтения данных из файла в массив записей.

    6. Написать процедуру поиска в массиве по заданному ключу или условию (согласно варианту).

    7. Выполнить запись в новый текстовый файл (предварительно его нужно объявить и инициализировать) или добавление в уже существующий файл найденной информации.

    8. Просмотреть содержимое выходных текстовых файлов.

    9. Оформить отчет.

  1. Содержание отчета.

    1. Текст программы с комментариями.

    2. Результаты тестирования программы.

  1. Контрольные вопросы

8.1. Виды файлов в Паскале.

8.2. Способы доступа к файлам.

8.3. Что выведет программа, если перед выводом содержимого на экран файл открыть оператором Rewrite?

8.4. Операции, определенные над текстовыми файлами.

  1. Приложение работа с файлами Файлы на магнитном диске

Данные, размещаемые программой в памяти компьюте­ра, недолговечны; когда питание выключат, они исчезнут, если еще раньше их не сотрет следующая программа. Для сохранения информации всерьез и надолго ее записыва­ют на магнитный диск.

Единицей хранения информации в библиотеке служит книга, единицей хранения информации на диске служит файл. Он имеет имя и занимает на диске область, размер кото­рой зависит от объема файла. В файлах хранят документы, программы, изображения, — одним словом, все, что можно записать при помощи чисел или символов.

Различают два вида файлов: последовательного и про­извольного доступа. Последовательные файлы состоят из элементов различной длины, между которыми стоят раз­делители. Чтобы найти элемент последовательного файла, надо просмотреть все, что ему предшествует.

Файлы произвольного доступа состоят из однотипных эле­ментов, как массивы. Найти любой элемент можно по его

порядковому номеру.

В Паскале последовательные файлы называют текстовы­ми, а файлы произвольного доступа — типизированными.

Программа может обрабатывать существующий файл или создать новый файл. В любом случае работа с файлом скла­дывается из трёх пунктов:

1) открытие файла;

2) чтение или запись;

3) закрытие файла.

Текстовые файлы

Текстовые файлы хранят информацию в виде последова­тельности символов. Символы составляют строки произвольной длины. В конце каждой строки находятся два особых символа: #13 #10, которые отделяют строку от следующей. Текстовые файлы широко распространены, их способен создавать любой экранный редактор. В программе на Паскале текстовый файл представляет файловая временная типа TEXT. Ее описывают предложением

VAR имя: TEXT

Файловой переменной назначают имя файла при помо­щи оператора

assign (файловая переменная, имя файла),

где имя файла — строка, содержащая дисковое имя файла.

Больше нигде в программе не появится имя файла, всюду его заменит файловая переменная.

Теперь файл необходимо открыть. Текстовый файл можно открыть:

для чтения — оператором

reset (файловая переменная);

для записи — оператором rewrite (файловая переменная);

для пополнения — оператором

append (файловая переменная).

В файл, открытый для записи или пополнения, можно только писать, из файла, открытого для чтения, можно только читать. Если необходимо прочесть из файла, от­крытого для записи, его сначала надо закрыть оператором

close (файловая переменная),

а затем снова открыть уже для чтения.

Чтение из текстового файла

Чтение из файла выполняется хорошо знакомым нам опе­ратором READ. Если перед списком ввода в операторе READ стоит файловая л временная, он вводит данные не с клавиатуры, а из файла. Например,

var ft:text;

a,b,c: integer;

read (a,b,c); {ввод с клавиатуры}

read (f,a,b,c); {ввод из файла}

Текстовый файл для оператора READ такой же источник символов, как и клавиатура, только эти символы следуют друг за другом не во времени, а в пространстве файла. Во времени можно перемещаться лишь в одну сторону, по фай­лу — тоже. Движение допускается последовательное, от на­чала к концу, поэтому текстовые файлы называют после­довательными.

Чтобы уяснить, что прочтет из файла тот или иной опера­тор READ, введем понятие указателя файла. Фактически указатель — это номер очередного символа файла, но лучше вообразить его в виде стрелки, направленной в определен­ную точку файла.

Сразу после открытия стрелка указывает на первый символ файла. Чтение очередной порции данных всегда выпол­няется, начиная с символа, на который показывает стрел­ка. После чтения стрелка автоматически передвигается впе­ред на длину прочитанного участка. Так продолжается, пока стрелка не достигнет конца файла. Дальнейшие по­пытки чтения вызовут сообщение об сшибке.

Как узнать, можно ли еще читать из файла? Для этого в Пас­кале есть логическая функция

EOF (файловая переменная)

Она возвращает true, если достигнут конец файла, и false в противном случае. Название функции сокращает слова «End Of File» — конец файла.

Дополнительный оператор чтения READLN вводит все, предусмотренное списком ввода, и продвигает указатель до начала следующей строки.