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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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