- •2 Организация программ линейной структуры. Примеры. Ввод-вывод различных типов данных и матриц.
- •3 Операторы передачи управления. Организация программ разветвляющейся структуры. Примеры.
- •4 Организация программ циклической структуры. Виды циклов. Примеры использования.
- •6 Классификация типов данных. Описание характеристик каждого типа данных. Описание конструкций пользовательских типов данных с помощью синтаксических диаграмм. Примеры использования.
- •7 Файловые типы данных. Работа с файлами различных типов в режиме последовательного доступа. Работа с файлами в режиме прямого доступа. Обработка ошибок.
- •8 Процедуры и функции. Сравнительная характеристика. Примеры использования.
- •9 Структура программ с использованием подпрограмм. Виды параметров. Использование массивов в качестве параметров. Параметр – открытый массив.
- •10 Параметры процедурного типа. Примеры использования.
- •11 Локальные и глобальные переменные. Процедуры без параметров. Побочные эффекты. Примеры.
- •12 Рекурсивные подпрограммы в языке Паскаль: организация, примеры использования. Взаимная рекурсия. Директива forward.
- •13 Задание начальных значений переменным. Примеры использования в программах для различных типов данных, определяемых пользователем.
- •14 Общая характеристика модуля и примеры его использования. Структура программы и структура модуля.
7 Файловые типы данных. Работа с файлами различных типов в режиме последовательного доступа. Работа с файлами в режиме прямого доступа. Обработка ошибок.
Работ с файлами в режиме прямого доступа используется в типизированных и нетипизированных файлах. Нетипизированные файлы дают возможность прямого доступа к любому файлу на диске, независимо от его типа и структуры. Типизированные файлы дают возможность прямого доступа к любому компоненту файла по его порядковому номеру.
Работа в режиме последовательного доступа используются текстовые файлы. В текстовых, для того чтобы добраться до нужного маркера(указателя, символа), нужно прочитать все предыдущие строки.
Ошибки, возникающ9ие при работе с файлами:
2 – Файл не найден
3 – Путь не найден
4 – Открыто более 15 файлов
5 – Попытка записи в файл, открытого только для чтении,. ИЛИ файл с указанным именем не существует, ИЛИ Попытка перезаписи в файл, открытого только для чтении, ИЛИ попытка удаления каталога или файла, открытого только для чтения, ИЛИ каталог с указанным именем не существует
6 – Файл повреждён
8 – Недостаточно памяти
12 – Неправильный тип файла
15 – Неправильное устройство
16 – Удаление текущего каталога
17 – Попытка переноса файла на другое место
100 – Попытка чтения после признака конца файла
101 – Нет места на диске
102 – Не выполнено связывание файлового переменного с внешним файлом
103 – Файл не был открыт
104 – Не открыть для чтения текстовый файл
105 – Не открыт для вывода записи текстовый файл
106 – Ошибка ввода числового значения
Обработка файл: До открытия файла выключаем директиву компилятора {$I-}, а после открытия включаем {$I+}, после с помощью функцииIOResult(Возвращает 0, если нет ошибок) определяем код ошибки, который мы будем дальше обрабатывать. Директивы компилятора {$I-}и{$I+} выключают и включают автоматическую проверку ошибок, мы выключаем авт. проверку ошибок, чтобы не прервать работу программы.
8 Процедуры и функции. Сравнительная характеристика. Примеры использования.
Объявление процедуры
Заголовок процедуры
Имя процедуры строится так же, как и прочие имена в языке Pascal. Блок процедуры строится так же, как блок основной программы, а именно, в нём могут присутствовать объявления меток, констант, типов, переменных, подпрограмм и обязательно – составной оператор (begin … end), представляющий алгоритм подпрограммы.
Обращение к процедуре
Список формальных параметров
Объявление функции
Заголовок функции
Обращение к функции
Отличие функции от процедуры состоит в том, что
в заголовке функции после списка параметров необходимо указать тип функции (то есть тип вычисляемого ею результата) именем ранее объявленного или стандартного типа,
в вызывающей программе имя функции одновременно рассматривается как имя переменной, представляющей результат вычислений, и по этой причине обращение к функции можно записывать в правой части оператора присваивания и в выражениях, если тип результата простой (но присваивать значение имени функции в вызывающей программе запрещено),
в объявлении функции её имя (а не обращение к ней, делающее подпрограмму рекурсивной) не должно встречаться в правой части операторов присваивания или в выражениях,
в объявлении функции должен быть хотя бы один оператор, присваивающий её имени, или объявленной по умолчанию локальной (известной только внутри функции) переменной Result того же типа, что и тип функции, результат вычислений,
в отличие от имени функции, переменную Result можно использовать в правых частях операторов присваивания и в выражениях как дополнительную переменную, представляющую результат вычислений.