- •Контрольное задание
- •Вариант 1
- •Основы языка паскаль. Конструкция условного оператора.
- •If условие then оператор1 else оператор2
- •If условие then оператор
- •Структура оператора цикла с предусловием:
- •Операции над строками:
- •Обработка записей
- •Подпрограммы
- •Описание функций
- •Var {локальные вспомогательные переменные}
- •Описание процедур
- •Файлы на магнитном диске
- •Типизированные файлы
- •Var имя: file of базовый тип
Типизированные файлы
Файлы произвольного доступа в ТП носят название типизированных. Элементами таких файлов могут быть числа, массивы, записи, но только не файлы.
Все элементы типизированного файла одного типа, а значит, и одного размера. Именно благодаря этому возможен произвольный доступ к элементам типизированного файла, т.к. по номеру элемента однозначно определяется его местоположение на магнитном диске. Нумеруются элементы файла целыми числами, начиная с нуля.
Типизированная файловая переменная описывается предложением
Var имя: file of базовый тип
. Связь файловой переменной с набором данных на диске выполняется, как и для текстовых файлов, оператором Assign.
В отличие от текстовых, типизированные файлы допускают чередование операций записи и чтения независимо от того, каким оператором, Reset или Rewrite, был открыт файл. Оператором Reset открываются уже существующие файлы, а оператором Rewrite - новые. Закрывается файл оператором Close. Внешне все 4 оператора не отличаются от таких же операторов для текстовых файлов.
Чтение из типизированного файла выполняется оператором
Read (файл, v1 [v2,...,vn],
запись — оператором
Write (файл, vl [,v2,...,vn],
где v1, v2,.., vn — переменные базового типа.
Запись и чтение из типизированных файлов выполняются без преобразования данных, что существенно ускоряет эти операции. За это мы лишаемся важного преимущества текстовых файлов — возможность хранить в файле разнотипные данные.
Произвольный доступ к элементам файла выполняется оператором
Seek <файл, номер элемента: longint)
Этот оператор устанавливает указатель файла на элемент, номер которого является вторым параметром. Именно этот элемент будет считан при записан при очередном вводе или выводе.
Текущее положение указателя файла возвращается функцией
FlePos (файл) : longint,
а общее количество записей — функцией fileSize(файл): longint
Как и для текстовых файлов, ситуация «конец файла» диагностируется функцией EOF (файл),
Поскольку типизированные файлы не нуждаются в разделителях элементов, функция EOF и дополнительные операторы ReadLn и WriteLn для них не имеют смысла.
Список рекомендуемой литературы:
Семакин И.Г., Шестаков А.П. Основы алгоритмизации и программирования: Учебник для сред. проф. образования / И.Г. Семакин, А.П. Шестаков. — М.: Издательский центр "Академия", 2008. — 400 с. (Допущено Министерством образования и науки Российской Федерации)
Рапаков Г.Г., Ржеуцкая С.Ю. Программирование на языке Pascal. – СПб.: БХВ-Петербург, 2005. – 480 с.
Культин Н.Б. Turbo Pascal в задачах и примерах – СПб.: БХВ – Санкт-Петербург, 2010. – 256 с.
Попов В.Б. Turbo Pascal для школьников: Учеб. пособие. - 3-е изд., доп. – М.: Финансы и статистика, 2010. – 352 с.
Основы языка Pascal. Учебный курс. П.И. Рудаков, М. А. Федотов, М., "Радио и связь", 2000.
Епанешников А. М., Епанешников В. А. Turbo Pascal 7.0. – М.:Диалог-Мифи, 1998.
Профильные периодические издания:
Информатика
Информатика и образование
Специализированные порталы:
http://www.intuit.ru
http://habrahabr.ru/blogs/programming/