Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Razdel_3_2007.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
179.19 Кб
Скачать

22.23. Зміст і методика навчання основ структурного програмування (в межах програми академічного рівня) (поглибленого)

Ідеї та методи структурного програмування (Морзе )

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

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

При обговоренні таких проблем можна задати учням запитання: «Чи може статися, що система допустимих для конкретного виконавця операцій недостатня для виконання вихідного завдання, і що робити в такому випадку?» Учні повинні розуміти, що за таких умов алгоритм виконання завдання цим виконавцем побудувати немажливо. Це означає, що в опису алгоритму, який орієнтований на конкретного виконавця, дозволяється використовувати лише такі вказівки, які він може виконати. Можна запропонувати учням навести відповідні приклади і на підтвердження цього положення, і доцільно обговорити з учнями питання про те, які вказівки допустимі в опису алгоритму, якщо за виконавця передбачається вико­нувати комп'ютер. У цьому випадку для виконання вказівок алгоритму в пам'яті комп'ютера повинні бути всі необхідні відповідні вказівки, записані мовою комп'ютера (машинною мовою) чи скінченні ані набори таких вказівок (програми). Якщо до пам'яті комп’ютера і введено програму для розв'язування деякої задачі, то можна і, що комп'ютер «може» («навчений») виконувати вказівку про Хизування такої задачі. При цьому набір допустимих операцій залежить також і від набору зовнішніх пристроїв та виконавчих механізмів, які під'єднані до комп'ютера. При цьому доцільно дібрати формулювання різних завдань, при виконанні яких за допомогою комп’ютера використовуються графічні, текстові та музичні редактори, і системи, бази даних тощо, та дібрати відповідні вказівки чи і вказівок комп'ютеру. Учні повинні дійти висновку, що при такому методі, який називають (зверху вниз) методом конструювання алгоритмів, спо- і задачу розглядають як одне ціле. На кожному етапі розв'язуваня в разі необхідності задачу поділяють на простіші задачі—під задачі, і під задачу в разі потреби поділяють на ще простіші підзадачі, (діють до тих пір, поки не будуть одержані такі підзадачі, які легко і обраною алгоритмічною мовою чи мовою програмування і для виконання яких вже є відповідні вказівки чи скінченні впорядковані набори вказівок (тобто вже раніше розроблені алгоритми чи програми, які є в запам'ятовуючому просторі, доступному для даного комп 'ютера). При цьому на кожному кроці побудови алгоритму розв'я- ння задачі в разі потреби уточнюються все нові й нові деталі (покрокова деталізація).

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

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

Академічний рівень

7.2. Основи структурного програмування (19 год.)

Основні поняття математичної логіки: логічні константи, логічні змінні, логічні вирази. Логічні операції: кон’юнкція, диз’юнкція, заперечення. Логічні формули. Табличі істинності.

Запис логічних виразів мовою програмування. Операції порівняння. Алгоритмічна конструкція розгалуження та її графічне подання. Оператори розгалуження. Прапорці та групи перемикачів. Реалізація розгалужень з використанням прапорців та груп перемикачів.

Поняття підпрограми та її аргументів. Поняття локальних і глобальних змінних. Формальні і фактичні параметри підпрограм. Стандартні підпрограми та підпрограми користувача. Створення і виклик підпрограм.

Алгоритмічна конструкція повторення та її графічне подання. Оператори циклів. Складання та програмна реалізація алгоритмів з циклами.

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

Практична робота №8. Складання програм з розгалуженнями.

Практична робота №9. Використання підпрограм.

Практична робота №10. Програмування циклічних обчислень.

Практична робота №11. Опрацювання одновимірних масивів.

Учень пояснює:

  • форми подання алгоритмів;

  • поняття підпрограми;

  • поняття аргументів підпрограми;

описує:

  • поняття логічної константи, логічної змінної та логічного виразу;

  • синтаксис та семантику операцій порівняння;

  • синтаксис та семантику операторів розгалуження;

  • призначення таких елементів управління як прапорець та група перемикачів;

  • семантику алгоритмічної структури повторення;

  • синтаксис та семантику операторів циклів з лічильником, з передумовою та післяумовою;

  • синтаксис виклику підпрограми й передавання аргументів за значенням;

  • різницю між локальними і глобальними змінними;

  • різницю між формальними і фактичниими параметрами підпрограм;

  • синтаксис оголошення і виклику процедур та функцій;

  • графічні позначення лінійних алгоритмів, алгоритмічних конструкцій розгалуження та повторення;

вміє:

  • складати та записувати мовою програмування алгоритми, в яких використовуються структури розгалуження та повторення, зокрема вкладені одна в одну;

  • записувати мовою програмування складені логічні вирази;

  • розв’язувати задачі, де передбачається вибір варіанта обчислень залежно від істинності складеної умови;

  • використовувати в програмах оператори циклу з лічильником, передумовою та післяумовою;

  • вибирати оператор циклу, що є найбільш доцільним для розв’язування певної обчислювальної задачі;

  • розв’язувати задачі на обчислення сум, добутків, середніх значень для наборів чисел, які вводить користувач;

  • розв’язувати задачі на обчислення кількості елементів із заданою властивістю та виконання різноманітних операцій для наборів однотипних даних, які вводить користувач;

  • створювати та викликати процедури та функції, зокрема з аргументами;

  • визначати повторювані обчислення, що потребують створення підпрограм;

  • застосовувати стандартні процедури та функції для перетворення типів, генерування випадкових чисел та ін.;

  • графічно подавати лінійні алгоритми, алгоритми з розгалуженнями та з циклами.

  • використовувати стандартні функції сортування масивів.

  • шукати елементи впорядкованого массиву за певними критеріями;

Поглиблений рівень

Тема: «Структури даних», 10 годин

Зміст навчального матеріалу теми:

проста змінна; масив; стек; черга; зв’язний список; дерево;

поповнення власної бібліотеки навчальних завдань

Лабораторні роботи:

«Стек»,

«Черга»,

«Зв’язний список»,

«Дерево»

називає: просту змінну, масив, стек, чергу, зв’язний список, дерево

наводить: власні приклади простих змінних, масивів, стеків, черг, зв’язних списків, дерев

розпізнає: прості змінні, масиви, стеки, черги, зв’язні списки, дерева

характеризує: відмінність між простою змінною, масивом, стеком, чергою, зв’язним списком, деревом

описує: просту змінну, масив, стек, чергу, зв’язний список, дерево

пояснює: особливості використання простих змінних, масивів, стеків, черг, зв’язних списків, дерев

формулює: поняття простої змінної, масиву, стека, черги, зв’язного списку, дерева

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

порівнює: доцільність та ефективність використання простих змінних, масивів, стеків, черг, зв’язних списків, дерев у заданих алгоритмах

класифікує: змінні за структурами даних

аналізує: відмінність між використанням простих змінних, масивів, стеків, черг, зв’язних списків, дерев у заданих алгоритмах

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

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

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

спостерігає: за зміною значень елементів простих змінних, масивів, стеків, черг, зв’язних списків, дерев

використовує: можливості середовища програмування для налагодження алгоритмів з використанням простих змінних, масивів, стеків, черг, зв’язних списків, дерев

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

показує на комп’ютері: покрокове виконання створеної програми з використанням простих змінних, масивів, стеків, черг, зв’язних списків, дерев

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]