Алгоритмічна мова.
Завдання 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. використання методу послідовної деталізації при складанні складних алгоритмів.
Алгоритмічна мова - це текстова форма опису алгоритму. Вона ближче до мов програмування, чим блок-схема. Однак це ще не мова програмування. Тому строгого синтаксису в алгор. язиці немає. Для структурування тексту в АЯ використовуються рядкові відступи. При цьому дотримується наступний принцип: всі конструкції одного рівня вкладеності записуються на одному вертикальному рівні, вкладені конструкції зміщаються щодо зовнішньої вправо.
Примітка: При описі алгоритму у вигляді блок-схеми або на АЯ строге дотримання синтаксичних правил не є обов'язковим. Алгоритм програміст пише для себе, як попередній етап роботи перед наступним складанням програми. Тому досить, щоб зміст алгоритму був зрозумілий його авторові. У той же час, у навчальному процесі потрібно деяка уніфікація способу опису алгоритму для взаєморозуміння. Але ця уніфікація не так жорстоко формалізована, як у мовах програмування.
Т.е. не слід вимагати від учнів строгості в описі алгоритму з точністю до крапки або коми. Наприклад, їли кожна команда в алгоритмі на АЯ записується в окремому рядку, те не обов'язково ставити наприкінці крапку з коми.