Навчання інформатики


Навчання основ алгоритмізації та програмування



Сторінка22/23
Дата конвертації03.11.2017
Розмір7.73 Mb.
1   ...   15   16   17   18   19   20   21   22   23

4.5. Навчання основ алгоритмізації та програмування

4.5.1. Загальні методичні підходи

Вивчення інформатики формує елементи операційного стилю мислення, який полягає в умінні:

  • формалізувати задачу;

  • виділити в ній логічно самостійні частини;

  • визначити S3ac*v!O3B язки цих частин;

  • спроектувати алгоритм розв'язування за допомогою технологій "згори-донизу" та "знизу-догори";

  • дібрати якомога ефективніший шлях отримання розв'язку;

  • інтерпретувати та аналізувати результати.

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

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

Під час вивчення основ алгоритмізації основна увага насамперед повинна приділятися:

виявленню загальних закономірностей і принципів алгоритмізації за допомогою



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

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

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

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

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

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

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

Сучасний підхід до вивчення основ алгоритмізації повинен будуватися на таких основних положеннях:

  1. Процес вивчення основ алгоритмізації слід орієнтувати на використання комп'ютера як дидактичного засобу навчання.

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

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

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

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

У змісті навчання основ алгоритмізації можна виділити такі компоненти:

  • навчання відомих алгоритмів і їх використання;

  • навчання класичних алгоритмів;

  • навчання побудови описів алгоритмів як з використанням, так і без використання відомих алгоритмів.

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

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

Теоретичною базою навчання вже відомих алгоритмів і їх використання є: теорії Ж.Піаже, М. Паська, С.Пейперта, які об'єднує наступна ідея: для того, щоб оволодіти алгоритмом, потрібно описати його: а) будь-якою з "своїх" мов (Ж.Піаже, М. Паськ); б) мовою "Черепашки" (С.Псйперт).

Наведемо один із варіантів класифікації мов, які можуть бути покладені в основу вивчення та застосування для навчання основ алгоритмізації:

  • природна мова (словесний опис алгоритму);

  • мова графічних схем;

  • структура програми;

  • шкільна навчальна алгоритмічна мова;

  • мови програмування.

Класифікацію виконавців алгоритмів можна подати так:

  • людина;

  • комп'ютер, що працює на основі використання компіляторів(інтерпретаторів) мов різних рівнів.

Звідси випливає, що для вивчення відомих алгоритмів і їх використання необхідно передусім вибрати виконавця і вивчити систему його вказівок (мову для запису алгоритмів), тобто набір

операцій, які може виконувати такий виконавець у зв'язку з задачею, яку необхідно розв'язати.

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

До класичних алгоритмів можна віднести алгоритми таких типів:

  1. для створення, зміни і руйнування інформаційних структур(лінійні списки, дерева, графи);

  2. напівчисельні алгоритми - алгоритми теорії чисел, арифметика багаторазової точності (за Д.Кнутом);

  3. генерації псевдо випадкових чисел (за Д.Кнутом);

  4. пошуку і впорядкування (за Д.Кнутом);

  5. пошуку підрядка в рядкові (за Д.Кнутом);

  6. стиснення інформації;

  7. побудови графічних примітивів.

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

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

  1. Учням пропонується задача для програмування, яка легко розв'язується за допомогою деякого класичного алгоритму (сам алгоритм учневі не повідомляється).

  2. Учень розв'язує задачу, записуючи алгоритм, розроблений самостійно.

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

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

Наведемо деякі міркування щодо добору вправ для навчання класичних алгоритмів.

1. Вправи на тестування (процес пошуку помилок у, програмі). Учневі надається текст програми, в якому описано класичний алгоритм, і словесний опис алгоритму. Потрібно побудувати систему тестів для його перевірки.

2. Вправи на оптимізацію. Учневі для роботи пропонується програма (з можливими помилками). Потрібно виявити помилки без її реалізації на комп'ютері і оптимізувати програму за часом виконання.

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

Побудувати алгоритм - означає: 1) продумати план деякої майбутньої діяльності; 2) зафіксувати його за допомогою деякої системи позначень, так званою формальною мовою.

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

Як правило написанню програми деякою мовою програмування передує розробка алгоритму. Алгоритм можна записувати навчальною алгоритмічною мовою або відповідною реальною мовою програмування. Передбачається, що мова, яка використовується в таких цілях, містить правила опису основних управляючих конструкцій структурного програмування, зокрема виклику процедур, що дозволяє реалізувати структурний підхід до розробки алгоритмів. У цьому випадку мова програмування не є самостійним об'єктом вивчення, а виступає лише як система позначень, з використанням якої ведеться обговорення проблем і шляхів їх розв'язування. Доцільно виділити такі етапи навчання основ алгоритмізації [189,208-210]:

7-м етап. Вступ до алгоритмізації. Алгоритми над найпростішими типами даних. Проектування алгоритмів "згори-донизу". Базові алгоритмічні конструкції: послідовне виконання вказівок, цикл, розгалуження. Побудова алгоритмів методом покрокової деталізація з використанням раніше описаних.

2-й етап. Навчання класичних алгоритмів (раніше описаних) та їх використання.

Зазначимо, що при навчанні основ алгоритмізації потрібно виділяти три класи вправ

1)задано текст задачі і алгоритм її розв'язування, потрібно виконати алгоритм і з'ясувати особливості роботи за алгоритмом (вправи на тестування);

2)задано лише опис алгоритму, потрібно виконати алгоритм і встановити його призначення (вправи на "відгадування" формулювання задачі);

3)задано лише призначення алгоритму, потрібно написати текст алгоритму - скласти алгоритм і виконати його - протестувати

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



4.5.2. Методика ознайомлення учнів з поняттям моделі

Змістова лінія моделювання поруч з лінією інформації і інформаційних процесів відноситься до теоретичних основ курсу інформатики. Разом з тим не слід вважати, що тема моделювання носить лише теоретичний характер і відокремлена від всіх інших тем. Програмні засоби інформаційних технологій - СУБД, табличні редактори та інші - слід розглядати як засоби для опрацювання інформаційних моделей. Алгоритмізація і програмування також мають пряме відношення до моделювання.

Головна мета вивчення поняття моделі пов'язана з подальшим розглядом основних етапів розв'язування задач за допомогою комп’ютера.

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

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

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

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

Моделі можуть бути матеріальними (фізичними), знаковими, мысленными. Прикладами фізичних моделей можна вважати: для земної кулі - глобус; для реального автомобіля - іграшковий автомобіль; для реальної людини - лялька: для великої будівлі - маленька пластикова чи картонна і т.д.

Розширивши список матеріальних моделей, доцільно обговорити їх спільні властивості. Всі ці моделі до деякої міри характеризують з того чи Іншого боку об'єкт-оригінал. Часто модель відтворює лише форму реального об'єкта у зменшеному масштабі. Але можуть існувати моделі, які відтворюють деякі функції об'єкта. Наприклад, маленький автомобіль може їздити, модель корабля може плисти. Модель не обов'язково повинна мати всі характеристики такі ж, як у реального об'єкта, а лише ті, які необхідні для її майбутнього застосування з метою вивчення деяких характеристик реального об'єкта. Тому важливим поняттям в моделюванні є поняття мети. Мета моделювання - призначення майбутньої моделі. Мета моделювання визначає ті властивості об'єкта-оригіналу, які повинні бути відтворені в моделі.

Важливо, щоб учні зрозуміли зміст ланцюга "об'єкт моделювання - мета моделювання - модель'.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Аналітична модель зв'язує формульними залежностями різні параметри процесу або явища, що моделюється. Одні параметри при цьому відомі, інші - шукані.

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

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

При опрацюванні моделі за допомогою комп'ютера можна піти одним з двох шляхів - написати спеціальну програму для комп'ютера мовою програмування або скористатися вже розробленим прикладним програмним забезпеченням. При виборі шляху враховуються різні обставини, зокрема: мета дослідження; поставлені завдання; можливості використання програмного забезпечення.

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

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

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

Можна виділити три типи задач з галузі інформаційного моделювання, які за зростанням ступеня складності для сприйняття учнями розташовуються в такому порядку;

1)задано інформаційну модель об'єкта; потрібно навчитися її аналізувати, робити висновки, використовувати для розв'язування задач;

2)дано набір несистематизованих даних про реальний об'єкт (систему; процес); потрібно систематизувати їх і таким чином створити інформаційну модель;

3)дано реальний об'єкт (процес, систему); потрібно розробити його інформаційну модель.

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

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

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

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

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

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

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

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

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

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

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

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

4.5.4. Навчальна алгоритмічна мова

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

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

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

  2. Вивчення програмування машиноорієнтованими мовами.

  3. Вивчення мови схем, освоєння конкретних мов програмування і схем.

  4. Навчання на основі спеціально розробленої навчальної алгоритмічної мови.

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

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

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



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

Початкове вивчення основних концепцій програмування доцільно організувати на основі спеціально розробленої навчальної алгоритмічної мови. З точки зору загальноосвітніх цілей курсу інформатики важливо, щоб надбані учнями знання при вивченні такої мови дозволили їм швидко і без принципових утруднень опанувати будь-яку мову програмування, яка можливо знадобиться в майбутньому [60, 62].

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

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

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

Таким чином, особливого значення набуває і методика вивчення навчальної алгоритмічної мови. Виділимо основні переваги цієї мови;

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

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

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

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

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

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

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

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

  2. Елементи навчальної алгоритмічної мови, основні службові слова і описи вказівок повинні вводитися поступово, за мірою їх необхідності для побудови алгоритмів різних обчислювальних процесів. Спочатку доцільно вивчити правила оформлення опису заголовка алгоритму. Знання цього і вказівок про надання значення дасть можливість описувати навчальною алгоритмічною мовою алгоритми лінійної структури. На наступному етапі вивчення навчальної алгоритмічної мови вводиться поняття вказівки про виконання раніше вже описаного алгоритму (чи звернення до алгоритму), правила її опису і виконання. Далі вивчається команда повторення, що дає можливість розширити знання і вміння учнів стосовно оформлення навчальною алгоритмічною мовою описів алгоритмів циклічних процесів. Приєднання потім до цієї підмножини правил мови ще і правил описування повної і скороченої форм вказівок розгалуження і вказівок вибору дозволяє записати навчальною алгоритмічною мовою будь-які алгоритми. Вивчення правил опису навчальною алгоритмічною мовою різних типів даних, зокрема табличних величин, дає можливість проілюструвати на конкретних прикладах конструювання алгоритмів для роботи з величинами різних типів, зокрема, з табличними величинами. Потім вивчаються правила опису вказівок для роботи з літерними величинами і можливість опрацювання графічної інформації.

3. Таке послідовне поетапне розширення знань учнів про правила опису алгоритмів різних обчислювальних процесів та даних відповідних типів повинно супроводжуватися вправами і задачами на закріплення кожного нового поняття. Це відповідає вимогам теорії поетапного формування розумових дій.

4.5.5. Методика вивчення середовища візуального програмування

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

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

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

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

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

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

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

Такс середовище якраз повинно стати містком між алгоритмічною (теоретичною) та "користувацькою" (практичною) інформатикою.

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

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

Використання середовища візуального програмування (наприклад, Visual Basic) дозволяє звести воєдино "старий", математико-алгоритмічний, і "новий", інформаційно-технологічний, підходи до вивчення інформатики, які до цього часу існували в єдиному курсі практично незалежно один від одного. Повна відмова від математико-алгоритмічного підходу призвела би до скорочення інтелектуально-логічного аспекту навчання, в той же час відмова від вивчення сучасних інформаційних технологій утруднила би формування основ загальної інформаційної культури.

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

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

* відокремлення елементів (об'єктів) програми, які пов'язані з інтерфейсом користувача, від її алгоритмічної частини;



» швидкість і простота створення, модернізація інтерфейсу програм, в якому використовуються готові елементи (блоки), що реалізують деякі великі функції (процедури) управління програмою,

використання вже існуючих кодів, описаних іншими мовами програмування.



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

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

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

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

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

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

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

Створення та виконання програм - проектів в середовищі візуального програмування дозволяє реально здійснювати міжпредметні зв'язки курсу інформатики та інших навчальних дисциплін: математики, фізики, історії, географії, літератури, ботаніки, музики, рідної та іноземних мов тощо.
ЛІТЕРАТУРА

  1. Абдсев Р.Ф. Философия информационной цивилизации. - М.,І994.

  2. Бабанский Ю.К. Избранные педагогические труды. -М.:Педагогика, 1989.-331 с.

  3. Балл Г.О. Гуманізація загальної та професійної освіти; суспільна актуальність і психолого - педагогічні орієнтири //Неперервна професійна освіта: проблеми, пошуки, перспективи. -К.: Віпол, 2000.-С. 134-157.

  4. Буняев М.А. Подготовка учителя - решение проблемы информатизации//Информатика и образование - 1991. -№4. -С.93.

  5. Барбина Е.С, Семиченко В.А. Идеи интеграции, системности и целостности в теории и практике высшей школы. - Киев, 1996. - 261с.

  6. Бауэр Ф.Л., Гооз Г. Информатика. Вводный курс: В 2 ч.: Пер. снем.-М.: Мир, 1990.

  7. Бевз Г. П. Методика викладання математики: Навч. посіб. -3-евид., перероб. і доп. -К.: Вища шк., 1989 -367 с.

  8. Белошапка В. К. Мир как информационная структура //Информатика и образование. -1988. - №5. - С. 3-9.

  9. Белошапка В, К. Информатика как наука о буквах // Информатика и образование. -1992. - №1. - С. 6-12.

    Каталог: ftp -> kabinet -> info -> На%20допомогу%20вчителю%20інформатики -> 2015-2016
    2015-2016 -> Інформатика пояснювальна записка
    На%20допомогу%20вчителю%20інформатики -> Навчально-методичне забезпечення курсу інформатики у 2013/2014 навчальному році
    На%20допомогу%20вчителю%20інформатики -> Інструктивно-методичні нарада вчителів інформатики 2017-2018 н р
    2015-2016 -> Програма поглибленого вивчення інформатики для учнів 10-11 класів
    На%20допомогу%20вчителю%20інформатики -> Міське методичне об’єднання вчителів інформатики
    На%20допомогу%20вчителю%20інформатики -> Інформатика а. М. Гуржій


    Поділіться з Вашими друзьями:
1   ...   15   16   17   18   19   20   21   22   23




База даних захищена авторським правом ©uchika.in.ua 2020
звернутися до адміністрації

    Головна сторінка