Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие ИТМО-ПАС.doc
Скачиваний:
6
Добавлен:
15.11.2019
Размер:
769.54 Кб
Скачать

Контрольные вопросы и задания

Вопросы:

1. Что такое файл.

2. Какие типы файлов применяются в TP?

3. Основные функции для работы с файлами.

4. Основные правила использования файлов в программах

5. Назовите общие и отличительные черты типизированного и текстового файла.

6. Зачем используется специальная файловая переменная? Как устанавливается соответствие файловой переменной файлу во внешней памяти?

7. Что общего у процедуры Reset и Rewrite и чем они отличаются?

8. Какие отличия существуют в использовании процедуры Reset при открытии различных типов файлов (текстовых, типизированных)?

9. Зачем применяется процедура Close?

Задания:

1. Составьте программу, которая создает файл, состоящий из 10 значений типа integer. Прочитайте файл и вычислите сумму его элементов.

2. Составьте программу, которая создает файл, состоящий из неопределенного количества значений типа integer. Для ввода используйте цикл, выход из цикла — значение 999. После записи выведите файл на экран.

3. Составьте программу, которая создает файл из элементов типа Char с помощью цикла while. Признак выхода из цикла — буква 'z'. Скопируйте созданный файл в другой файл и выведите его на экран.

4. Составьте программу, которая создает файл, состоящий из пяти значений типа real. Выведите файл на экран.

5. Составьте программу, которая создает файл, состоящий из N значений типа integer. Прочитайте файл и выведите только четные элементы. Тип record не используйте.

6. Составьте программу, которая создает файл из элементов типа Char с помощью цикла while. Признак выхода из цикла — буква 'z'. Выведите его содержимое на экран.

7. Составьте программу, которая построчно выводит содержимое текстового файла на экран, печатает на бумаге.

2.7. Записи

Для хранения в одном файле данных различного типа в Паскале применяется комбинированный тип данных – записи.

Запись это структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов. Определение типа записи начи­нается идентификатором record и заканчивается зарезервированным словом end. Между ними заключен список компонентов, называемых полями, с указанием идентификаторов полей и типа каждого поля.

Формат:

type

<имя типа> = record

<идентификатор поля>:<тип компонента>;

...

<идентификатор поля>:<тип компонента>

end;

Пример:

type

Car = record

Number : integer; {Номер}

Marka : string[20]; {Марка автомобиля}

FIO : string[40]; {Фамилия, инициалы владельца}

Address ; string[60] {Адрес владельца}

end;

В данном примере запись Car содержит четыре компонента: номер, название марки машины, фамилию владельца и его адрес. Доступ к полям записи осуществляется через переменную типа "запись". В нашем случае это переменные М и V типа Car.

Значения полей записи могут быть использованы в выражениях. Имена отдельных полей не применяются по аналогии с идентификаторами переменных, поскольку может быть несколько записей одинакового типа. Обращение к значению поля осуществляется с помощью идентификатора переменной и идентификатора поля, разделенных точкой. Такая комбинация называется составным именем. Например, чтобы получить доступ к полям записи Car, надо записать:

М.Number, M.Marka, M.FIO, М.Address

Составное имя можно использовать везде, где допустимо применение типа поля. Для присваивания полям значений используется оператор присваивания.

Пример:

М.Number := 1678;

M.Marka := 'ГАЗ - 24';

M.FIO := 'Демьяшкин В.А. ';

Пример ввода записей с клавиатуры в файл и чтение записей из файла на экран схематично показан на диаграмме.