Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.О.П / ооп / 4_кол / Лекції / 1. Об'єктно-орієнтоване програмування, л1.1 - 1.2.ppt
Скачиваний:
51
Добавлен:
30.05.2020
Размер:
371.2 Кб
Скачать

Перший крок декомпозиції

Основна програма:

Почати роботу.

Вивести меню на екран.

Ввести команду.

Виконати цикл обробки команд, що вводяться.

Завершити роботу.

Цикл обробки команд, що вводяться

цикл-початок доки команда ≠ «завершити роботу»

Виконати команду. Ввести команду

цикл-кінець.

Виконати команду:

якщо команда= «відкрити книжку» то Відкрити книжку

інакше якщо команда= «додати» то Додати запис

інакше якщо команда= «знайти» то Знайти запис

все-якщо все-якщо

все-якщо.

Кінцева розробка

Основна програма:

Почати роботу. Вивести меню на екран. Ввести команду.

цикл-доки команда ≠ «завершити роботу» якщо команда= «відкрити книжку» то Відкрити книжку

інакше якщо команда = «додати» то Додати запис

інакше якщо команда= «знайти» то Знайти запис

все-якщо все-якщо

все-якщо

Ввести команду

все-цикл

Завершити роботу.

Передпосилки виникнення модульного програмування

Подальше зростання складності і розмірів

програмного забезпечення, що розробляється, потребувало розвитку структуризації даних і,

відповідно, в мовах з'являється можливість визначення призначених для користувача типів даних. Одночасно посилюється прагнення розмежувати доступ до глобальних даних програми для зменшення кількості помилок.

Результатом була поява і розвиток технології

модульного програмування.

Алгоритмічна декомпозиція системи «записник»

Модульне програмування

Модульне програмування припускає виділення груп підпрограм, що використовують одні і ті ж глобальні дані, в окремо компільовані модулі (бібліотеки підпрограм).

Вузьким містом модульного програмування є

те, що помилка в інтерфейсі при виклику підпрограми виявляється тільки при виконанні програми (із-за роздільної компіляції модулів виявити ці помилки раніше неможливо).

Архітектура програми, що складається з модулів

Подпрограммы с локальными данными

 

Подпрограммы с локальными данными

 

 

 

Модули с локальными данными