Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методика вивчення_413ш.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.59 Mб
Скачать

Тема 7.1 Поняття алгоритма, властивості, сспособи запису алгоритмів.

План проведення практичного заняття

  1. Бесіда з метою актуалізувати знання студентів з теми «Алгоритм».

  2. Міні-лекція викладача (див. «Теоретичні відомості»)

  3. Групова робота: розробка дидактичного матеріалу (на електронному та паперовому носіях) для ведення поняття алгоритму. Рекомендується використовувати «Теоретичні відомості».

  4. Взаємооцінювання розробленого дидактичного матеріалу.

  5. Рефлексія: Чому учням поняття алгоритму вводиться поетапно? Яких принципів навчання при цьому дотримуються?

Теоретичні відомості

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

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

Хоча розгляд теми, що стосується поняття алгоритму, на перший погляд не викликає методичних труднощів, в процесі її вивчення існує ризик несподіваних ситуацій з «підводним камінням». Почати пояснен­ня доцільно з кількох прикладів алгоритмів зі звичайного життя. Од­нак добирати такі приклади слід дуже ретельно. Справа в тому, що зав­дання побудувати чіткий формальний опис знайомої і зрозумілої учням інструкції може виявитись нездоланним для більшості учнів. Типова методична помилка — пропозиція скласти правила переходу через вулицю, з якої часто починають перший урок. Школяр відразу стикаєть­ся з цілим набором труднощів.

По-перше, це — відсутність розуміння необхідності чіткого викла­дання думок. Таке розуміння необхідне для побудови формальних сло­весних описів інтуїтивно зрозумілих речей: в уяві учня є цілісний об­раз, а вимагається дати його формальний опис. По-друге, учні не знають відповідних вимог і правил щодо описування дій: вони не зна­йомі з правилами формального описування розгалужень, циклів тощо. По-третє, в задачах такого типу важко виділити «елементарні» дії, із яких складатиметься алгоритм.

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

Тому перш ніж запропонувати учням такі завдання, необхідно уваж­но і ретельно їх проаналізувати. При обговоренні різних алгоритмів можна застосувати ролевий метод навчання. Алгоритми слід добирати так, щоб найпростіші зміни порядку дій приводили до не виконуваних алгоритмів або до алгоритмів, які дають неправильні результати. На­приклад, завдання може бути таким: «Уявіть собі, що вам слід пояс­нити молодшому брату, як відкрити двері ключем. Сформулюйте по­слідовність виконання таких дій».

Після обговорення кількох алгоритмів розв'язування задач з різних предметних галузей для виділення суттєвих ознак алгоритму доціль­но запропонувати учням дати відповіді на запитання:

З чого складається кожен з поданих наборів операцій (дій)?

У чому полягає мета виконання деякого набору дій?

Чи можна сказати про конкретний (час) виконання набору дій?

Кількість дій, які виконуються, скінченна чи нескінченна?

Чи можна змінювати порядок дій у наборі?

На кого розрахований кожен з наборів дій? Хто їх може виконати?

Як можна назвати того, хто виконує запропонований впорядко­ваний набір дій?

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

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

Алгоритм — скінченний, впорядкований набір дій (операцій).

Набір дій, направлений на досягнення певного результату.

Виконання кожної дії і всього набору дій повинно закінчуватися через скінченний час.

Кількість дій в наборі — скінченна.

Виконавцем алгоритму може бути людина, автомат, комп'ютер.

Дії описуються у вигляді вказівок.

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

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

Тільки потім учням пропонується самостійно дати описове означен­ня поняття алгоритму.

Важливо, щоб учні усвідомили його, а не формально завчили текст, в якому сказано, що слід розуміти під алгоритмом. Методичною помил­кою є намагання дати строге означення поняття алгоритму та потім вимагати від учнів його відтворення. Такого означення не існує. Понят­тя алгоритму є первісним, не означуваним, фундаментальним понят­тям, яке не визначається через простіші поняття. Доцільно ознайомити учнів з різними існуючими описами поняття алгоритму і в кожному з них виділити одні й ті самі суттєві ознаки. Наприклад:

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

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

Правила, які описують послідовність дій, що ведуть до досягнен­ня деяких необхідних результатів, називають алгоритмами.

Алгоритм — це конструктивно задане правило (закон), за яким вхідним даним (умовам задачі) ставляться у відповідність нові вихідні дані (розв'язок задачі).

Алгоритм — сукупність правил виконання певних дій, які забез­печують розв'язання задачі.

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

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

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

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

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

Алгоритм повинен бути застосовним до будь-яких допустимих на­борів вхідних даних. Така властивість алгоритмів називається масо­вістю.

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

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

Далі необхідно продемонструвати учням зв'язок поняття алгорит­му з поняттями «дані» та «комп'ютер», і так пов'язати в одне ціле су­купність основних понять інформатики. Наприклад, доцільно з учнями серед великого розмаїття варіацій існуючих описів поняття алгоритму проаналізувати таке: «Алгоритм — це деяке правило щодо опрацю­вання даних», чи «Алгоритм — це конструктивно заданий закон відпо­відності, згідно з яким вхідним даним (умовам задачі) ставляться у відповідність нові вихідні дані (розв'язок задачі)».

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

Вивчення поняття «виконавець» виконує в навчанні інформатики кілька функцій:

1) цей дидактичний прийом дозволяє унаочнити процес виконання

алгоритмів;

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

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

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

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

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

На прикладах учням доцільно показати, що в ролі виконавців різних алгоритмів можуть виступати люди, різні автомати, комп'ютери. Кожен комп'ютер повинен забезпечувати приймання, зберігання, опрацюван­ня та виведення інформації за спеціально розробленими алгоритма­ми. Таким чином поняття курсу, які вже знайомі учням, об'єднуються до такого ланцюжка: інформація — повідомлення (дані) — модель — алгоритм — комп'ютер.

Для демонстрації системи вказівок виконавця алгоритмів можна ви­користовувати програмне забезпечення з курсу інформатики: показа­ти, наприклад, виконавців «Черепашка», «Робот» тощо.

Значну допомогу при формуванні вказаних понять можуть надати усні вправи типу: «Знайти помилку», задачі на здійснення дії підведен­ня під поняття, розпізнавання і пошук наслідків. Доцільно, щоб впра­ви якомога менше носили репродуктивний характер, а більше залу­чали учнів до частково-пошукової навчальної діяльності. Цей етап є найвідповідальнішим із точки зору формування в учнів пізнавального інтересу до предмету інформатики. Тому слід особливо уважно відно­ситися до змістової частини задач, які пропонуються учням. Практика показує, що цікавий зміст задач значно активізує діяльність учнів.

При вивченні поняття алгоритму слід використовувати різні форми описів алгоритмів: словесне подання, графічне, словесно-формульованою, мовою програмування. Використання кількох форм описів алго­ритмів розкриває учням множину способів описування алгоритмів, привчає їх використовувати ту форму, яка при розв'язуванні конкрет­ної задачі є найдоцільнішою. Уявлення учнів про різні форми опису ал­горитмів полегшує в подальшому засвоєння конкретних мов програ­мування. Кожна з форм доповнює інші, розкриває та розширює поняття алгоритму. Тому доцільно використовувати методичний прийом, який полягає в паралельному вивченні двох чи трьох форм описів алго­ритмів: спочатку може розглядатися словесна і графічна форми, опис навчальною алгоритмічною мовою і мовою програмування. При цьо­му для осмислення учнями незмінності логічної структури алгоритму доцільно особливу увагу приділяти питанням переходу від однієї фор­ми опису алгоритму до іншої.

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

На першому етапі формування поняття алгоритму вивчаються ал­горитми, в яких не акцентується увага на опрацюванні тих чи інших ве­личин. При цьому доцільно дотримуватися такої послідовності при вве­денні вказівок: вказівка про безумовне виконання деякої дії чи набору дій; вказівка багатократного повторення деякого набору дій; вказівка розгалуження. Це означає, що узагальнюються знання, вміння і навич­ки учнів при роботі з різними типами алгоритмічних процесів — лінійни­ми, циклічними, з розгалуженнями.

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