- •Содержание
- •Раздел 1.Подпрограммы Общие сведения
- •Процедуры Описание процедур
- •Вызов процедур
- •Процедуры без параметров
- •Процедуры с параметрами
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Параметры-переменные без типа
- •Параметры процедурного типа
- •Использование производных типов в качестве параметров подпрограмм
- •Принцип локализации имен
- •Функции Описание функций
- •Вызов функции
- •Рекурсивные подпрограммы
- •Директивы
- •Библиотечные модули пользователя Общие сведения
- •Структура модуля Unit
- •Особенности работы с модулями
- •Подключение к программе внешнего файла
- •Раздел 2.Простейший ввод-вывод Процедуры ввода из стандартного текстового файла Input
- •248 15 4 70 Значения 1-й строки
- •11 Значения 2-й строки
- •Процедуры вывода в стандартный текстовый файл Output
- •Раздел 3.Записи Структура записи
- •Записи без вариантной части
- •Записи с вариантами
- •Оператор присоединения With
- •Константа-запись
- •Раздел 4.Множества Общие сведения
- •Конструктор множества
- •Задание множественного типа
- •Операции над множествами
- •Ввод / вывод значения множественной переменной
- •Типизованные константы-множества
- •Раздел 5.Файлы Общие сведения
- •Процедура Assign
- •Файлы с типом
- •Процедура Assign
- •Процедура Rewrite (f)
- •Процедура Write (f, v1 [, v2, … , vn])
- •Процедура Reset (f)
- •Процедура Read (f, V [, v2, …, vn])
- •Функция Eof(f)
- •Процедура Seek (f, n)
- •Функция Filepos (f)
- •Функция Filesize(f)
- •Процедура Close (f)
- •Текстовые файлы
- •Процедура Assign (f, Name)
- •Процедура AssignСrt(f)
- •Процедура Append (f)
- •Процедура Rewrite (f)
- •Процедура Reset (f)
- •Процедура Read ([f,] v1 [, v2, …, vn])
- •Процедура Readln [([f] [,] [v1, v2, …, vn])]
- •Процедура Write ([f,] e1 [, e2, …, en])
- •Процедура Writeln([f,][e1,e2, …,en])
- •Процедура Close(f)
- •Процедура SetTextBuf (f, Buf [, Size])
- •Процедура Flush (f)
- •Сравнительная характеристика представления информации в файлах с типом и текстовых файлах
- •I. Представление числовой информации.
- •II. Представление текстовой информации.
- •Файлы без типа
- •Процедуры Reset и Rewrite
- •Процедура Blockread
- •Процедура Blockwrite
- •Проверка операций ввода-вывода
- •Раздел 6.Ссылочный тип (тип указатель) Общие сведения
- •Методы работы с динамическими переменными
- •Процедуры New и Dispose
- •Процедуры Getmem и Freemem
- •Процедуры Mark и Release
- •Раздел 7.Динамические структуры данных Динамические цепочки Структура динамической цепочки
- •Формирование цепочки
- •Поиск элемента в цепочке
- •Удаление элемента из цепочки
- •Вставка элемента в цепочку
- •Линейный однонаправленный список
- •Двунаправленные списки
- •Вставка элемента
- •Создание двунаправленного кольцевого списка с заглавным звеном
- •Удаление элемента
- •Поиск элемента
- •Очереди и стеки
- •Очередь lifo
- •Очередь fifo
- •Общие сведения
- •Способы организации таблиц
- •Однонаправленный список.
- •Однонаправленный список с упорядоченными записями.
- •Однонаправленный список с отдельным хранением текста записи.
- •Представление в виде массива.
- •Двоичное дерево.
- •Двоичные деревья Структура двоичного дерева
- •Построение дерева
- •Поиск записи в дереве
- •Включение записи в дерево
- •Удаление записи из дерева
- •Раздел 8.Оверлеи Общие сведения
- •Правила оформления оверлейных программ
- •Инициализация работы оверлеев
- •Включение администратора оверлеев
- •Обработка ошибок администратора
- •Размещение оверлейного файла в ems-памяти
- •Управление оверлейным буфером
- •Литература Основная и дополнительная литература
- •Перечень наглядных пособий, методических указаний, методических материалов и используемых в учебном процессе технических средств
УЧЕБНОЕ ПОСОБИЕ
по дисциплине
Основы алгоритмизации и программирования
Часть 2
Для студентов дистанционной формы обучения
специальности I-40 01 01
«Программное обеспечение информационных технологий»
Минск 2009
Автор – Глухова Лилия Александровна, канд. техн. наук, доцент кафедры «Программное обеспечение информационных технологий» Белорусского государственного университета информатики и радиоэлектроники.
Содержание
Раздел 1. Подпрограммы 4
Раздел 2. Простейший ввод-вывод 47
Раздел 3. Записи 53
Раздел 4. Множества 67
Раздел 5. Файлы 77
Раздел 6. Ссылочный тип (тип указатель) 106
Раздел 7. Динамические структуры данных 122
Раздел 8. Оверлеи 167
Литература 174
Раздел 1.Подпрограммы Общие сведения
В программировании часто возникает необходимость в повторении отдельных участков вычислений несколько раз в различных точках программы при разных исходных данных. Чтобы не повторять одни и те же операторы несколько раз, используются подпрограммы.
Подпрограмма – поименованная логически законченная группа операторов языка, которую можно вызвать для выполнения по имени любое количество раз из различных мест программы.
В общем случае программный модуль состоит из заголовка и тела модуля. Тело модуля называют еще блоком. Блок состоит из раздела описаний и раздела операторов.
Блок может содержать в себе другие блоки. Блок, который не входит ни в какой другой блок, называется глобальным. Блоки, входящие в состав других блоков, называются локальными или вложенными.
Глобальный блок – это основная программа (программный модуль).
Локальные блоки – это подпрограммы.
В соответствии с этим все элементы программы (типы, переменные, константы и т.д.) подразделяются на глобальные и локальные.
Объявление называется локальным для подпрограммы, если оно содержится в данной подпрограмме. Объявление называется глобальным, если оно содержится в объемлющей подпрограмме или модуле.
С каждым объявлением имени (идентификатора) объекта программы связана область его действия. Вне своей области действия имя не существует.
Областью действия имени является часть модуля или блока от точки объявления и до конца текущего уровня вложенности, включая вложенные блоки, за исключением тех вложенных подпрограмм, в которых имеются другие объявления этого же имени. Не допускаются повторные объявления имени на одном уровне вложенности.
Считается, что хороший стиль программирования предполагает минимальное использование глобальных переменных.
В идеальном случае программа на языке Паскаль состоит только из подпрограмм, которые вызываются для выполнения из раздела операторов основной программы.
Существуют два вида подпрограмм – процедуры и функции.
Все процедуры и функции подразделяются на две группы – встроенные и определенные пользователем.
Встроенные (стандартные) процедуры и функции являются частью языка и используются в программе без предварительного описания в разделе объявлений блока.
Процедуры и функции пользователя организуются самим программистом и являются локальными блоками. Их предварительное описание обязательно.
Процедуры Описание процедур
Процедура должна быть описана в разделе объявления процедур и функций программы. Формат ее объявления представляет Рисунок 1 .1.
Рисунок 1.1 – Синтаксическая диаграмма объявления процедуры
Процедура состоит из заголовка и тела.
Заголовок процедуры определяет ее имя и список формальных параметров. Его формат иллюстрирует Рисунок 1 .2.
Формальные параметры определяют тип данных, передаваемых процедуре при ее вызове, и способ передачи данных. Список формальных параметров имеет формат, который представляет Рисунок 1 .3.
Тело процедуры состоит из объявлений локальных для нее идентификаторов и составного оператора, описывающего действия процедуры.
Рисунок 1.2 – Синтаксическая диаграмма объявления заголовка процедуры
Рисунок 1.3 – Синтаксическая диаграмма списка формальных параметров