logo
Методика викладання iнформатики

4.5.3. Ідеї і методи структурного програмування

Як теоретичні та методологічні основи, а також принципи побудови алгоритмів і програм, доцільно обрати ідеї і методи структурного програмування. Використання методів структурного програмування формує навички чіткого дотримання дисципліни праці при конструюванні алгоритмів, що в значній мірі сприяє розвиткові логічного мислення учнів вже на ранніх етапах вивчення основ алгоритмізації [60, 62,177, 179].

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

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

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

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

При обговоренні таких проблем можна задати учням питання: Чи може статися, що система допустимих для конкретного виконавця операцій недостатня для виконання вихідного завдання, і що робити в такому випадку? Учні повинні розуміти, що в такому випадку алгоритм виконання завдання даним виконавцем побудувати неможливо. Це означає, що в опису алгоритму, який орієнтований на конкретного виконавця, дозволяється використовувати лише такі вказівки, які він може виконати. Можна запропонувати учням навести відповідні приклади на підтвердження цього положення.

При такому методі, який називають спадаючим (згори донизу) методом конструювання алгоритмів, спочатку задачу розглядають як єдине ціле. На кожному етапі розв'язування в разі необхідності задачу поділяють на простіші задачі - підзадачі, кожну підзадачу в разі потреби поділяють на ще простіші підзадачі, і так діють до тих пір, поки не будуть одержані такі підзадачі, які легко програмуються вибраною алгоритмічною мовою чи мовою програмування або для виконання яких вже є відповідні вказівки чи скінченні впорядковані набори вказівок (тобто вже раніше розроблені алгоритми чи програми, які є в запам'ятовуючому просторі, доступному для даного комп'ютера). При цьому на кожному кроці побудови алгоритму розв'язування задачі в разі потреби уточнюються все нові І нові деталі (покрокова деталізація).

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

Метод покрокової деталізації застосовується при будь-якому конструюванні складних об'єктів. Це природна логічна послідовність мислення конструктора, вченого і людини взагалі: поступове заглиблення в деталі конструкції чи характеристики досліджуваного об'єкта. Досить складний алгоритм іншим способом побудувати практично неможливо. Саме такого підходу слід дотримуватися при побудові алгоритмів всіх типів, незалежно від їх складності.

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