Алгоритмічна мова.

Завдання 3.

Завдання 2.

Методичні рекомендації з рішення завдань.

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

· виконати роль виконавця: даний алгоритм, формально виконати його;

· визначити виконавця й систему команд для даного виду роботи;

· у рамках даної системи команд побудувати алгоритм;

· визначити необхідний набір вихідних даних для рішення завдання.

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

Завдання 1.

1. Розгадати загадку алгоритму, тобто пояснити чому 2-й гравець завжди виграє?

Відповідь - 2-й гравець завжди виграє, якщо загальне число каменів визначається формулою: N=5k+1, де k - будь-яке натуральне число.

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

Відповідь – потрібно перехопити ініціативу, тобто виявитися в положенні 2 гравці, що доповнює попередній хід суперника на 5 каменів. Це можливо у випадку помилки суперника.
- взяти 1 камінь

- хід суперника, він взяв n каменів

- якщо n+1<5, то взяти 5-(n+1)
- хід суперника
- грати по виграшному алгоритмі для 2 гравці.

 

Назвати виконавця наступного виду роботи - видача заробітної плати, визначити систему команд виконавця (СКИ).

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

При побудові СКИ вирішуються 2 проблеми: проблема елементарності команд і проблема повноти системи команд.

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

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

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

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

Може бути виконавцем КРЕСЛЯР з пакета програм для курсу Гейна,

КЕНГУРЕНОК. реалізований фірмою КУДИЦ для IBM PC

РОБОТ з пакета Кумир

КУКАРАЧА з РОБОТЛАНДИИ

Підійде будь-який виконавець, що задовольняє наступним умовам6

1. це повинен бути виконавець, що працює «в обстановці»

2. виконавець повинен імітувати процес керування деяким реальним об'єктом (черепаха, робот)

3. у системі команд виконавця повинні бути всі структурні керування (розгалуження, цикли)

4. виконавець дозволяє використовувати допоміжні алгоритми.

 

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

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

· від простого до складного: поступове ускладненння завдань

· новизна: кожне завдання вносить якийсь новий елемент знань (нова команда, новий прийом)

· спадкування: наступне завдання вимагає використання знань, отриманих при рішенні попередніх завдань.

 

Порядок вивчення тим:

1. складання лінійних алгоритмів

2. використання розгалужень в алгоритмах

3. складання циклічних алгоритмів

4. величини, відношення між величинами

5. опис і використання допоміжних алгоритмів

6. використання методу послідовної деталізації при складанні складних алгоритмів.

 

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

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

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