- •Технология программирования (pascal)
- •IV. Парадигмы программирования
- •4. Подпрограммы
- •4.7. Переменные, обрабатываемые при вызове подпрограмм:
- •Прямая рекурсия на примере вычисления факториала
- •4. Этапы выполнения рекурсивной функции вычисления факториала.
- •5. Основные понятия парадигмы модульного программирования
- •5.1. Понятие модуля.
- •5.2. Некоторые стандартные библиотеки.
- •6. Структура модуля
- •6.1. Заголовок модуля.
- •6.2. Интерфейсная часть.
- •6.3. Часть реализации.
- •6.4. Часть инициализации.
- •6.5. Пример реализации модуля.
- •1. Постановка задачи.
- •2. Математическая модель задачи.
6.3. Часть реализации.
В части реализации, начинающейся с зарезервированного слова Implementation, следуют определения всех подпрограмм, объявленных в интерфейсной части, а также в ней могут быть объявлены локальные для модуля объекты:
Implementation
<определения>
За словом Implementation может также следовать предложение Uses.
Определение подпрограммы, объявленной в интерфейсной части, начинается с заголовка, в котором можно опустить список формальных параметров и тип результата для функций, т. к. они описаны в интерфейсной части.
6.4. Часть инициализации.
Часть инициализации является необязательной, начинается с операторной скобки begin и состоит из операторов, исполняемых до передачи управления основной программе и обычно используемых для подготовки к ее работе (например, могут инициироваться переменные, открываться необходимые файлы и т. д.). В случае отсутствия части инициализации не рекомендуется делать ее пустой, т. е операторную скобку begin вообще не следует писать.
Заканчивается модуль операторной скобкой end с точкой.
6.5. Пример реализации модуля.
1. Постановка задачи.
Написать модуль, который содержит подпрограммы, обеспечивающие работу с комплексными числами.
2. Математическая модель задачи.
a, b и c – комплексные числа вида r + m∙i, где i2 = -1.
При реализации на PASCAL можно представить комплексное число как запись, состоящую из двух вещественных полей r и m.
Над комплексными числами можно выполнять следующие унарные операции:
1) получения комплексно-сопряженного числа:
c.r=a.r;
c.m=-a.m;
2) вычисления модуля комплексного числа:
Над комплексными числами можно выполнять следующие бинарные операции вычисления:
1) суммы с=a+b:
c.r=a.r+b.r;
c.m=a.m+b.m;
2) разности с=a-b:
c.r=a.r-b.r;
c.m=a.m-b.m;
3) произведения с=a*b:
c.r=a.r*b.r-a.m*b.m;
c.m=b.r*a.m+a.r*b.m;
4) частного с=a/b:
c.r=(a.r*b.r+a.m*b.m)/(b.r2+b.m2);
c.m=(b.r*a.m-a.r*b.m)/(b.r2+b.m2);