Тема уроку. Розв'язування задачі методом поділу на підзадачі
Актуалізація опорних знань
Дати означення понять, виділені жирним шрифтом.
Алгоритм — це запис скінченої послідовності вказівок, виконання яких призводить до розв'язання певної задачі.
Вказівка (алгоритму) — це спонукальне речення, що вказує, яку дію має виконати виконавець алгоритму.
Виконавець (алгоритму) — це жива істота (людина або тварина) або автоматичний пристрій (робот, електронна обчислювальна машина тощо), спроможна діяти відповідно з алгоритмом.
Система вказівок виконавця — це множина (сукупність) всіх вказівок, які може виконувати даний виконавець.
Середовище виконання алгоритму — об'єкти, з якими працює виконавець у процесі виконання алгоритму.
Властивості алгоритму: дискретність, визначеність, виконуваність, скінченність, результативність, масовість, ефективність.
Дискретність (латинською discretus — розділений, розривний) алгоритму означає, що виконання алгоритму зводиться до виконання окремих дій (кроків) у певній послідовності. Причому, кожну вказівку алгоритму виконують за скінченний проміжок часу.
Визначеність (однозначність) означає, що алгоритм однозначно визначає порядок дій виконавця, результат цих дій і не потребує додаткового тлумачення..
Виконуваність означає, що алгоритм, призначений для певного виконавця, може містити лише вказівки, які входять до системи вказівок цього виконавця.
Скінченність означає, що виконання алгоритму закінчиться після скінченної (можливо, досить великої) кількості кроків і за скінченний час для довільних вхідних даних.
Результативність алгоритму означає, що після закінчення виконання алгоритму обов’язково:
- або одержують розв'язок-результат відповідно до поставленої мети;
- або встановлюють відсутність таких розв'язків (множина розв'язків порожня);
- або встановлюють неможливість розв'язання задачі.
Масовість алгоритму означає, що алгоритм можна застосувати до цілого класу однотипних задач, для яких спільними є умова та хід розв’язування та які відрізняються лише початковими (вхідними) даними. Наприклад, алгоритмом дій, складеним для одного касира, можуть успішно скористатися всі касири супермаркету. А програмою пошуку коду і підрахунку суми вартостей товарів, придбаних покупцем, — усі комп'ютери супермаркету
Ефективність алгоритму описує час виконання і об'єм ресурсів, необхідних для виконання алгоритму: чим менше часу (часова ефективність) і ресурсів (просторова ефективність), тим ефективність вища.
Вивчення нового матеріалу
Вступ
Головний алгоритм — це такий алгоритм, виконання якого веде до досягнення основної мети.
Розглянемо головний алгоритм День. Він викликає три допоміжні алгоритми. Частини, з яких складається алгоритм, називаються модулями.
Алгоритм Тиждень
- Доки не настала субота, виконати алгоритм День.
- Виконати алгоритм Субота.
- Виконати алгоритм Неділя.
Цей алгоритм стане визначеним, якщо будуть складені допоміжні алгоритми Субота, Неділя. Для розв'язання задачі потрібно два кроки (рівні, етапи) деталізації. На першому кроці деталізують алгоритми День, Субота, Неділя, а на другому деталізують або використовують алгоритми Ранок, Школа, Вечір.
Метод покрокової деталізації конструювання алгоритмів не враховує явно конкретні особливості поставленої задачі та вибір певного виконавця. Але сукупність вказівок вибраного виконавця істотно впливає на ступінь деталізації алгоритму та на його структуру. Допоміжний алгоритм (як і будь-який інший алгоритм) повинен мати лише один вхід і один вихід. Потрібно щоб усі вказівки допоміжного алгоритму входили до системи вказівок обраного виконавця. У реальному житті допоміжні алгоритми можуть виконувати навіть інші виконавці.
Закріплення вивченого матеріалу
Немає коментарів:
Дописати коментар