- •Курс лекций Язык программирования Turbo Pascal
- •Тема 1 «Языки программирования»
- •Тема 2 «Основные понятия языка»
- •2.1 Алфавит языка
- •2.2 Основные определения языка
- •2.3 Служебные слова
- •2.4 Стандартные имена
- •2.5 Идентификатор
- •2.5 Элементы данных
- •Тема 3 «Общая структура программы на языке Turbo Pascal»
- •3.1 Общая структура программы на Паскале.
- •3.2 Некоторые правила оформления программ
- •Тема 4 «Типы данных, выражения»
- •4.1. Типы данных
- •4.2 Целочисленные типы данных
- •4.3 Вещественные типы данных
- •4.4 Символьный тип данных
- •4.5 Булевский тип (Логический) данных
- •4.6 Перечисляемый тип.
- •4.7 Интервальный тип.
- •4.8 Выражения.
- •1. Умножение, деление;
- •3. Сложение, вычитание.
- •1) Арифметические операции;
- •2) Операции отношений;
- •3) Логические операции.
- •4.9 Объявление констант
- •4.10 Объявление переменных
- •Тема 5 «Операторы для записи линейных процессов»
- •5.1 Оператор присваивания
- •5.2 Оператор ввода числовых данных
- •5.3 Оператор вывода числовых данных
- •5.4 Вывод числовых данных с форматом и без формата
- •1. Вывод данных без формата.
- •2. Вывод данных с форматом.
- •Контрольные вопросы и задания
- •Тема 6 «Разветвляющиеся вычислительные процессы»
- •6.1 Типы разветвляющихся алгоритмов
- •6.2 Оператор выбора case
- •Тема 7 «Операторы цикла»
- •7.1. Типы циклических процессов
- •7.2 Цикл с известным числом повторений for
- •Оператор повтора for.
- •Домашнее задание:
- •7.3 Итерационные циклы
- •7.4 Оператор цикла с предварительным условием
- •7.5 Оператор цикла с последующим условием Repeat
- •Домашнее задание:
- •8.1 Модуль crt. (Процедуры и функции управления экраном)
- •8.2 Константы цветов.
- •Процедуры управления цветом.
- •Тема № 9: «Структурированные типы данных»
- •9.1. Массивы
- •9.2. Записи
- •9.2.1. Оператор присоединения
- •9.2.2. Записи с вариантами.
- •9.3. Множества
- •9.4. Строки
- •9.4.1. Основные операции
- •9.4.2. Доступ к элементам строковых данных
- •9.4.3. Пустой стринг
- •9.4.4. Функции преобразования
- •9.4.5. Стандартные процедуры и функции
- •Тема № 10: Работа с файлами
- •10.1. Доступ к файлам
- •10.1.1. Имена файлов
- •Инициация файла
- •10.2.Процедуры и функции для работы с файлами
- •10. 3. Текстовые файлы
- •Типизированные файлы
- •Нетипизированные файлы
- •Тема № 11: «Процедуры и функции»
- •11.1. Процедуры
- •11.2. Функции
- •Тема №12: Указатели и динамическая память.
- •12.1. Выделение и освобождение динамической памяти.
- •Тема № 13: Модули.
- •13.1.Компиляция модулей.
- •13.2. Стандартные модули.
- •13.2.1.Модуль crt.
- •13.2.2. Модуль Graph
- •13.2.3. Модуль Overlay
- •Задания для самостоятельной работы по теме «линейные алгоритмы»
- •Задания для самостоятельной работы по теме «разветвляющиеся алгоритмы»
- •Задания для самостоятельной работы по теме «циклические алгоритмы»
- •Задания для самостоятельной работы «векторы»
- •Задания для самостоятельной работы «строки»
- •Задания для самостоятельной работы «процедуры и функции»
- •Задания для самостоятельной работы «записи»
- •Задания для самостоятельной работы по теме «множества»
- •Задания для самостоятельной работы по теме «файлы»
- •Задания для самостоятельной работы по теме «модуль graph»
- •Задания для самостоятельной работы по теме «модули, определяемые пользователем»
10.2.Процедуры и функции для работы с файлами
Ниже описываются процедуры и функции , которые можно использовать с файлами любого вида. Специфика работы с типизированными текстовыми и нетипизированными файлами рассматривается в следующих разделах.
- ReName(< файловая переменная >,< новое имя файла >) - переименование файла.
- Erase(<файловая переменная>) - удаление файла.
- ChDir(< путь >) - изменение директория, где <путь> - путь к новой директории.
- GetDir(< устройство >, < директорий >) - определение текущего каталога, где <устройство> задается следующим образом:
0 - текущее устройство;
1 - устройство A;
2 - устройство В ит.д..
- MkDir(< директорий >) - создание нового каталога. В аргументе < директорий > указывается полный путь до того каталога, который создается.
- PmDir(< директорий >) - удаление каталога. В качестве аргумента указывается полный путь до удаляемого каталога. При этом удаляемый каталог должен быть обязательно пустым.
- IOResult - проверка правильности завершения работы той или иной операции ввода-вывода. Эта функция имеет тип WORD и возвращает значение 0, если операция ввода-вывода выполнилась успешно, и в противном случае следующие значения:
1 - файл не найден,
2 - путь не найден,
3 - слишком много открытых файлов,
5 - запрет доступа к файлу,
12 - некорректный код доступа к файлу.
При применении этой функции в программе необходимо с помощью директивы компилятора отключить стандартную проверку - {$I-}, а после выполнения операций ввода-вывода включить - {$I+}. Данная функция записана в стандартном модуле SYSTEM.
- DiskFree(< устройство >) - определение числа свободных байтов на заданном диске. Эта функция типа LONGINT. В качестве аргумента указывается номер устройства. Если указано несуществующее устройство, то вместо объема свободной памяти на диске эта функция возвращает значение -1. Функцию рекомендуется применять перед созданием файла, чтобы выяснить, достаточно ли места для создаваемого файла на указанном накопителе.
- DiskSize(< устройство >) - определение числа свободных байтов на диске. Тип функции LONGINT. Аргумент задается так же, как и в предыдущей функции.
- FindFirst(< уточненное имя файла>, < атрибуты >, < доп. инф-я >) - поиск указанного файла.
В процедуре входным параметром является только первый. Два последних параметра являются выходными. Тип параметра < атрибуты > BYTE, параметр < дополнительная информация > должен быть объявлен как SearchRec. Этот тип описан в стандартном модуле Dos.
- FindNext(< следующий файл>) - поиск указанного файла.
Процедуры FindFirst и FindNext зачастую используются для просмотра всех файлов, находящихся в каталоге.
- FSearch(< имя файла>,<список каталогов >) - поиск файла в списке каталогов. Функция имеет тип PathStr (описана в стандартном модуле Dos).
- FSplit(< уточненное имя файла >, < путь >,< имя >,< расширение >) - выделение из уточненного имени файла трех переменных: < путь >, < имя файла >, < расширение >.
- FExpand(< имя файла >) - добавление к имени файла, находящегося в текущем каталоге, полного пути доступа к нему.
Примечание: перед использованием первых четырех процедур файл должен быть обязательно закрыт.
