Інформатика
Алгоритмізація
Технології програмування
Для полегшення роботи зі складними задачами процес підготовки завдання для розв’язання на комп’ютері можна розділити на два етапи: створення укрупненого алгоритму (вимоги до початкових даних та результату, постановка завдання, опис точної схеми розв’язання з вказівкою всіх особливих ситуацій) і написання програми.
Розробляючи програми для розв’язання складних сучасних задач, застосовують різні технології програмування, наприклад низхідне програмування (“зверху
Структурний підхід до проектування алгоритмів
Поняття про структурний підхід. Для розробки алгоритму складних задач використовується принцип структурного проектування алгоритмів.
Структурний підхід до створення алгоритмів – це метод розробки алгоритму, який забезпечує легкість читання алгоритму, простоту перевірки правильності виконання алгоритму, зручність у його модифікації. Цей метод передбачає:
– конструювання алгоритму з використанням трьох
– використання методу покрокової деталізації, тобто подрібнення задачі на більш прості задачі, потім подрібнення цих задач на ще більш прості складові й т. д. (розробка алгоритму “зверху вниз”);
– аналіз алгоритму, тобто контроль правильності кожної структури алгоритму і взаємозв’язків структур.
Перевагою структурного підходу є його модульність. Модуль – це послідовність логічно пов’язаних команд, яка оформлена у вигляді окремого алгоритму. Ці допоміжні алгоритми можна конструювати й аналізувати окремо та незалежно, використовуючи їх потім в основному алгоритмі або інших допоміжних алгоритмах.
Структурний підхід привів до ідеї розподілу роботи серед розробників алгоритмів. Структурний підхід застосовується при використанні процедурних мов програмування.
Метод покрокової деталізації. Для створення алгоритму складної задачі застосовується метод покрокової деталізації (“проектування зверху вниз”). При цьому методі складна задача розбивається на декілька простих. Ці задачі, у свою чергу, можуть розбиватися на серію ще простіших і т. д. Процес покрокової деталізації вважається закінченим, коли задачі чергового рівня стають досить простими для незалежного розв’язання. Потім результати проектування простих задач компонуються в загальний алгоритм.
Допоміжні алгоритми. При структуруванні алгоритму виникає необхідність у розв’язанні додаткових завдань. Назвемо алгоритм для виконання основної задачі основним алгоритмом. Тоді алгоритм для розв’язання допоміжної задачі, виділеної в окрему структуру, назвемо допоміжним алгоритмом. Цей алгоритм призначений для досягнення допоміжної мети на шляху розв’язання основної задачі. Один і той самий допоміжний алгоритм може бути використаний і в основному, і в іншому допоміжному алгоритмі.
Кожний допоміжний алгоритм має своє унікальне ім’я, за яким його можна розпізнати серед інших допоміжних алгоритмів і на це ім’я викликати його з іншого алгоритму за допомогою команди виклику допоміжного алгоритму.
Виконання допоміжного алгоритму з потрібними початковими даними та/або передавання результатів в основний алгоритм здійснюється за допомогою параметрів алгоритму.
Параметри, які необхідно вказати перед початком роботи допоміжного алгоритму, називаються аргументами алгоритму. Ці параметри дають можливість змінити вхідні дані перед початком роботи допоміжного алгоритму.
Параметри, значення яких визначаються внаслідок роботи алгоритму, називаються результатами алгоритму. Допоміжний алгоритм може зовсім не мати параметрів або мати якийсь один тип параметрів. Параметри, які використовуються для опису вхідних і вихідних даних алгоритму, називаються формальними. Формальні параметри складають список формальних параметрів.
При конкретному виконанні допоміжного алгоритму формальні параметри замінюються на фактичні, тобто при виклику допоміжного алгоритму потрібно вказати фактичні параметри алгоритму.
Результатом виконання деякого допоміжного алгоритму може бути одна або декілька результуючих величин, які містяться в списку параметрів, або деяка дія (наприклад виведення звуку) без результуючої величини. Такі допоміжні алгоритми називаються алгоритмами-процедурами.
Алгоритми-функції – це допоміжні алгоритми, які виконують деякі дії, результатом виконання яких є один-єдиний результат, що присвоюється безпосередньо імені функції. Ім’я функції використовується в командах як ім’я звичайної змінної або константи.
Алгоритми-процедури і алгоритми-функції забезпечують можливість практичної реалізації методу структурного програмування.
Виклик допоміжного алгоритму має різний вигляд у разі виклику алгоритму-функції чи алгоритму-процедури:
– виклик допоміжного алгоритму-процедури здійснюється за допомогою спеціальної команди;
– виклик алгоритму-функції здійснюється безпосередньою вказівкою імені функції з фактичними аргументами в деякому виразі.
Виконання цих команд відбувається так:
– формальні аргументи допоміжного алгоритму замінюються фактичними значеннями, указаними в команді виклику алгоритму в списку фактичних параметрів; якщо в списку фактичних аргументів присутні вирази – вони спочатку обчислюються;
– виконуються всі команди допоміжного алгоритму з використанням фактичних аргументів;
– отримані результати присвоюються фактичним іменам результатів (іменам фактичних змінних, які використовуються як фактичні результати в алгоритмах-процедурах або імені самого алгоритму-функції).
Після виконання допоміжного алгоритму виконується команда основного алгоритму, записана після команди виклику допоміжного алгоритму.