- •Оглавление
- •Тема1 41
- •Тема 2 Условный оператор, оператор выбора 41
- •Тема 4. Строки и символы 43
- •Предисловие
- •1 Основы построения программы на языке Турбо-Паскаль
- •1.1 Алфавит языка и специфика его использования
- •1.2 Этапы решения задачи на эвм
- •1.3 Общая структура программы на языке Паскаль
- •1.4 Выражения
- •1.4.1 Арифметические выражения
- •1.4.2 Логические выражения
- •1.5 Стандартные функции
- •2 Типы данных
- •2.1 Стандартные типы данных
- •2.1.1 Целочисленные типы
- •2.1.2 Логический тип (булевый тип).
- •2.1.3 Символьный тип
- •2.1.4 Перечисляемый тип
- •2.1.5 Интервальный тип
- •2.1.6 Вещественный тип
- •2.2 Объявление констант
- •2.3 Объявление переменных
- •3 Алгоритмизация вычислительных процессов
- •3.1. Понятие алгоритма
- •3.2 Операторы для записи линейных процессов
- •3.2.1 Оператор присваивания
- •3.2.2 Оператор ввода числовых данных
- •3.2.3 Оператор вывода числовых данных
- •3.2.4 Вывод числовых данных с форматом
- •4 Разветвляющиеся вычислительные процессы
- •4.1 Типы разветвляющихся алгоритмов
- •4.2 Операторы перехода
- •4.2.1 Условный оператор
- •4.2.3 Оператор выбора
- •4.2.4 Метка. Оператор перехода
- •5 Итерационные циклические процессы
- •5.1 Типы циклических процессов
- •5.2 Итерационные циклические процессы
- •5.2.1 Оператор цикла с предварительным условием
- •5.2.2 Оператор цикла с последующим условием
- •5.3 Оператор цикла с параметром
- •6 Структурированные типы данных
- •6.1 Массивы
- •6.2 Записи
- •6.2.1 Оператор присоединения
- •6.3 Множества
- •6.4 Строки
- •6.4.1 Основные операции
- •7 Подпрограммы
- •7.1 Процедуры
- •7.2 Функции
- •8 Работа с файлами
- •8.1 Инициация файла
- •8.2 Процедуры и функции для работы с файлами
- •8.3 Текстовые файлы
- •8.4 Типизированные файлы
- •8.5 Нетипизированные файлы
- •9 Указатели и динамическая память
- •9.1 Выделение и освобождение динамической памяти
- •10 Модули
- •10.1 Компиляция модулей
- •10.2 Стандартные модули
- •10.2.1 Модуль crt
- •10.2.2 Модуль Graph
- •10.2.3 Модуль Overlay
- •Индивидуальные задания
- •Тема 2 Условный оператор, оператор выбора
- •Тема 3.
- •Задание в - обработка числовых последовательностей
- •Тема 4. Строки и символы
- •Тема 5. Массивы
- •Тема 6. Файлы
- •Тестовые задания
- •Электронные образовательные интернет-ресурсы Дистанционные курсы
- •Электронные учебники
8.1 Инициация файла
Инициировать файл означает указать для этого файла направление передачи данных. В Турбо- Паскале можно открыть файл для чтения и записи одновременно.
Для чтения файл инициируется с помощью стандартной процедуры Reset:
Reset (<ф. п.>);
Здесь <ф.п.>- файловая переменная, связанная ранее процедурой Assign с уже существует файлом или логическим устройством- приемником информации.
В Турбо-Паскале разрешается обращаться к типизированным файлам, открытым процедурой RESET (т.е. для чтения информации), с помощью процедуры WRITE (т.е. для записи информации). Такая возможность позволяет легко обновлять ранее созданные типизированные файлы и при необходимости расширять их. Для текстовых файлов, открытых процедурой RESET, нельзя использовать процедуру WRITE и WRITELN.
Стандартная процедура:
REWRITE (<ф.п.>);
инициирует запись информации в файл или в логическое устройство, связанное раннее с файловой переменной <ф.п.>. Процедурой REWRITE нельзя инициировать запись информации в ранее существовавший дисковый файл: при выполнении этой процедуры старый файл уничтожается и никаких сообщений об этом в программу не передается. Новый файл подготавливается к приему информации и его указатель принимает значение 0.
Стандартная процедура:
APPEND(<ф.п.>)
инициирует запись в ранее существовавший текстовый файл для его расширения, при этом указатель файла устанавливается в его конец. Процедура APPEND применима только к текстовым файлам, т.е. их файловая переменная должна иметь тип TEXT. Процедурой APPEND нельзя инициировать запись в типизированный и нетипизированный файл. Если текстовый файл ранее уже был открыт с помощью RESET или REWRITE, использование процедуры APPEND приведет к закрытию этого файла и открытию его вновь, но уже для добавления записей.
8.2 Процедуры и функции для работы с файлами
Ниже описываются процедуры и функции, которые можно использовать с файлами любого вида. Специфика работы с типизированными текстовыми и нетипизированными файлами рассматривается в следующих разделах.
1. ReName(< файловая переменная >,< новое имя файла >) - переименование файла.
2. Erase(<файловая переменная>) - удаление файла.
3. ChDir(< путь >) - изменение директория, где <путь> - путь к новой директории.
4. GetDir(< устройство >, < директорий >) - определение текущего каталога, где <устройство> задается следующим образом:
0 - текущее устройство;
1 - устройство A;
2 - устройство В ит.д..
5. MkDir(< директорий >) - создание нового каталога. В аргументе < директорий > указывается полный путь до того каталога, который создается.
6. PmDir(< директорий >) - удаление каталога. В качестве аргумента указывается полный путь до удаляемого каталога. При этом удаляемый каталог должен быть обязательно пустым.
7. IOResult - проверка правильности завершения работы той или иной операции ввода-вывода. Эта функция имеет тип WORD и возвращает значение 0, если операция ввода-вывода выполнилась успешно, и в противном случае следующие значения:
1 - файл не найден,
2 - путь не найден,
3 - слишком много открытых файлов,
5 - запрет доступа к файлу,
12 - некорректный код доступа к файлу.
При применении этой функции в программе необходимо с помощью директивы компилятора отключить стандартную проверку - {$I-}, а после выполнения операций ввода-вывода включить - {$I+}. Данная функция записана в стандартном модуле SYSTEM.
8. DiskFree(< устройство >) - определение числа свободных байтов на заданном диске. Эта функция типа LONGINT. В качестве аргумента указывается номер устройства. Если указано несуществующее устройство, то вместо объема свободной памяти на диске эта функция возвращает значение -1. Функцию рекомендуется применять перед созданием файла, чтобы выяснить, достаточно ли места для создаваемого файла на указанном накопителе.
9. DiskSize(< устройство >) - определение числа свободных байтов на диске. Тип функции LONGINT. Аргумент задается так же, как и в предыдущей функции.
10. FindFirst(< уточненное имя файла>, < атрибуты >, < доп. инф-я >) - поиск указанного файла. В процедуре входным параметром является только первый. Два последних параметра являются выходными. Тип параметра < атрибуты > BYTE, параметр < дополнительная информация > должен быть объявлен как SearchRec. Этот тип описан в стандартном модуле Dos.
11. FindNext(< следующий файл>) - поиск указанного файла.
Процедуры FindFirst и FindNext зачастую используются для просмотра всех файлов, находящихся в каталоге.