Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 основи програмування книга.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.77 Mб
Скачать

Приклад 1.7. Атд Планіметрія (виконавець Геометр)

Примітивні типи об'єктів: точка, пряма, коло.

Примітивні операції:

Пряма: (точка, точка)  пряма

l = Пряма(A, B) визначає пряму l, що проходить через точки A, B

Коло: (точка, точка)  коло

o = Коло(A, B) визначає коло о з центром у точці А, що проходить через точку В.

Коло: (точка, точка, точка)  коло

o = Коло(A, B, C) визначає коло о з центром у т. А, побудоване розчином циркуля з ніжками, встановленими у B, C.

Точка (пряма, пряма)  точка

A = Точка(l, m) визначає точку А перетину прямих l і m

ПеретинКіл(коло, коло)  (точка, точка)

ПеретинКіл(o, p, A, B) визначає точки A, B перетину кіл o і p.

ПеретинПрямаКоло(пряма, коло)  (точка, точка)

ПеретинПрямаКоло (l, o, A, B) визначає точки A, B перетину прямої l і кола o.

З примітивних типів об'єктів АТД Планіметрія можна тепер будувати складені (похідні) типи. Наприклад тип трикутник можна визначити як трійку точок (вершин)

Трикутник = (точка, точка, точка)

З примітивних (основних) операцій АТД можна визначати похідні операції. Наприклад, операція

ParallelLine: (точка, пряма)  пряма,

результатом якої є пряма, що проходить через дану точку і паралельна даній прямій, може бути визначена через примітивні операції і використана потім в алгоритмах рішення задач на побудови. Відзначимо, що реалізацію (інтерпретацію) АТД можна здійснювати окремо, використовуючи структури даних, орієнтовані на структуру пам'яті комп'ютера.

Використання АТД приводить до застосування модульного підходу до алгоритмізації (програмування), тобто до практики розбивки алгоритму на окремі модулі (бібліотеки) з добре відпрацьованим інтерфейсом.

1.15. Структурне програмування

Опис алгоритмів у термінах структур даних і структур управління називають структурним програмуванням. Особливу роль у структурному програмуванні грають процедури і функції – основні семантичні одиниці проектованого алгоритму, які містять описи окремих підзадач, що мають самостійне значення. Процедури містять описи інтерпретацій (реалізацій) АТД. Тому структурний підхід називають також процедурним програмуванням.

Програмування управління здійснюється комбінуванням основних структур управління. Наприклад, комбінування розгалуження і повторення приводить до блок-схеми

В реальних мовах структурного програмування застосовують і інші управляючі структури, кожну з яких можна віднести до одного з трьох основних типів. Наприклад, у мові Pascal оператори вибору – умовний оператор, короткий умовний оператор, оператор варіанту; оператори повторення – оператор циклу з параметром, оператор циклу з передумовою, оператор циклу з післяумовою. Наявність додаткових управляючих структур породжує надмірність у виразних можливостях мови, що дозволяє робити програми більш природними.

Відзначимо, що оператор переходу Перейти_<N> (оператор Goto) не включений ні до списку основних, ні додаткових операторів управління. Це – не випадковість. Як ми бачили, безконтрольне застосування цього оператора приводить до того, що алгоритм втрачає властивості, зазначені вище. Тому структурне програмування іноді називають програмуванням без Goto.

Проблема проектування набору команд Виконавця як опису властивостей і методів відповідної предметної області відіграє центральну роль у теорії і практиці алгоритмізації. Саме їй присвячені практично всі наукові дослідження і навчальні курси з програмування.