Ошибки при работе исполнителей
Работа исполнителя не всегда проходит гладко – иногда встречаются ошибки. Существует три вида ошибок исполнителей.
“НЕ ПОНИМАЮ” |
Заданной команды нет в списке команд исполнителя, и он ее не понял. Вероятно, мы ошиблись в записи текста команды. |
“НЕ МОГУ” |
Исполнитель понял команду, но не может ее выполнить. Например, роботу дана команда “вперед”, а впереди стоит стенка, и он не может идти. Или собаке скомандовали “Сидеть!”, а она уже сидит. |
ЛОГИЧЕСКИЕ ОШИБКИ |
Исполнитель понял команду и выполнил ее, но сделал не то, что мы от него хотели. Причина этого – наша ошибка в составлении задания (алгоритма). |
задать среду исполнителя – класс, столы, стулья;
составить СКИ.
Человек способен понимать смысл команды и часто может «додумать», что от него хотели даже тогда, когда команда задана неточно. Для того, чтобы алгоритм был понятен роботу, компьютеру или другой машине, недостаточно только написать команды, надо еще и оформить алгоритм в таком виде, в котором его понимает машина, то есть записать в формальном виде.
В формальной записи алгоритма можно использовать только те команды, которые входят в СКИ исполнителя. Кроме того, надо соблюдать специальные правила оформления, которые позволят исполнителю распознать команды и определить последовательность их выполнения.
Репка /* это название алгоритма */
{ /* эта скобка обозначает начало алгоритма */
посадить репку; /*команда заканчивается знаком ;*/
вырастить репку;
пытаться вытащить репку;
позвать Бабку; пытаться вытащить репку;
позвать Внучку; пытаться вытащить репку;
позвать Жучку; пытаться вытащить репку;
позвать Кошку; пытаться вытащить репку;
позвать Мышку; вытащить репку;
} /* здесь алгоритм заканчивается */
Исполнителем для этого алгоритма является дед — именно он должен выполнять эти команды.
Алгоритм можно записать разными способами и даже на разных языках. Хотя при этом исполнитель может, конечно, их не понять. Есть специальные виды исполнителей алгоритмов — компьютеры. Они выполняют программы.
Программа – это алгоритм, записанный в форме, понятной компьютеру.
Каждый шаг в программе Репка, в свою очередь, тоже можно расшифровать – составить более подробный план и оформить в качестве вспомогательного алгоритма. При решении задач по алгоритмизации в основном действуют по следующему сценарию (алгоритму) составляют общий алгоритм, некоторые этапы решения детализируют до уровня СКИ исполнителя и выделяют в отдельные вспомогательные алгоритмы (подпрограммы). Такой подход называется разработкой программы сверху-вниз. Детализация заключалось в том, что мы стремимся решить более мелкие задачи через линейные, условные и циклические алгоритмические структуры. Такой подход называется структурным программированием.
Положения структурного программирования следующие:
Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:
последовательное исполнение— однократное выполнение операций в том порядке, в котором они записаны в тексте программы;
ветвление— однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;
цикл— многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).
В программе базовые конструкции могут быть вложены друг в друга произвольным образом, но никаких других средств управления последовательностью выполнения операций не предусматривается.
Повторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки) могут оформляться в виде т. н. подпрограмм. В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы.
На практике наиболее распространены следующие формы представления алгоритмов:
словесная (записи на естественном языке);
графическая (изображения из графических символов);
псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
программная (тексты на языках программирования).
В настоящее время действует единая система программной документации (ЕСПД), которая устанавливает правила разработки, оформления программ и программной документации.
В пределах одной схемы рекомендуется изображать блоки одинаковых размеров. Все блоки нумеруются. Линии, соединяющие блоки и указывающие последовательность связей между ними, должны проводится параллельно линиям рамки. Стрелка в конце линии может не ставиться, если линия направлена слева направо или сверху вниз. В блок может входить несколько линий, то есть блок может являться преемником любого числа блоков. Из блока (кроме логического) может выходить только одна линия. Логический блок может иметь в качестве продолжения один из двух блоков, и из него выходят две линии. Если на схеме имеет место слияние линий, то место пересечения выделяется точкой. В случае, когда одна линия подходит к другой и слияние их явно выражено, точку можно не ставить.
Наименование |
Обозначение |
Начало, конец |
|
Блок ввода-вывода |
|
Процесс |
|
Блок условия (логический блок) |
|
Циклический блок |
|
Соединитель |
|
Блок-схема состоит из отдельных элементов, они называются блоки. Блок-схема обязательно начинается с блока НАЧАЛО (скругленный прямоугольник). Затем идут другие блоки. Блок в форме параллелограмма, называется блоком ввода. Сюда помещаются исходные данные. В блоке Процесс (прямоугольник) записываются действия. Результат записываем в блоке вывода. Он выглядит также как блок ввода. В конце блок-схемы находится блок КОНЕЦ. Все блоки соединяются между собой стрелочками от начала к концу.
Символы блок-схем: Дополнение\Блок-схема — Википедия.html
Контрольные вопросы:
Что такое алгоритм.
Чем отличаются формальные и неформальные исполнители.
Перечислите характеристики исполнителя.
Перечислите формы представления алгоритмов.
Перечислите основные алгоритмические структуры.
Методическая схема:
Исполнители, изучаемые в начальной школе ориентированы на структурное программирование, в соответствии с которым введены СКИ и команды управления выполнением операций (операторы): последовательное выполнение(линейный алгоритм), циклические операторы и ветвление.
Изучение раздела «Алгоритмы и исполнители» в первую очередь направлено на развитие алгоритмического мышления и тем самым формирование межпредметных компетенций.
Изучение содержательной линии «Алгоритмы и исполнители» в соответствии с Программой предусмотрено во 2, 3, 4 классах.
Как видно из приведенных выдержек алгоритмической линии из программы «Сходинки до інформатки» во 2-классе происходит формирование понятий «алгоритма», «команда», «исполнитель»; в 3-классе – формирование понятий «исполнитель» и «программа», написание линейных алгоритмов; в 4-классе – формирование понятия «высказывание», написание программ для алгоритмов с ветвлениями и циклических алгоритмов.
В учебно-развивающем программном пакете «Сходинки до інформатики» для начальной школы введены следующие исполнители:
Садовник (моделирования процесса посадки деревьев. Его система команд обеспечивает выполнение как линейных алгоритмов, так и алгоритмов с повторением);
Погрузчик (установка на корабль груза перед выходом из порта);
Кенгуру (выполняет алгоритмы для графических построений);
Осьминожка (может двигаться полем в клетку между коралловыми препятствиями и закрашивать ячейки в разные цвета).
Программы данной категории используют общие подходы частности, в них предусмотрена возможность изменения параметров настройки записи и воспроизведения программы и т.д. Эти общие подходы обеспечивают быструю адаптацию учащихся к использованию каждой из программ. Выполнение алгоритмов осуществляется в режиме диалога (интерактивный) и записи программы (программирования). Первоначальное знакомство желательно осуществлять в режиме диалога, более сложные в режиме записи программы, где есть возможность выполнения алгоритма полностью, пошагово и редактирования.
|
2 клас |
3 класс |
4 класс |
понятие алгоритма |
+ |
+ |
+ |
понятие команда |
+ |
- |
- |
понятие исполнителя |
введение понятия исполнителя |
введение характеристик исполнителя |
- |
формы представления алгоритма |
словесная |
словесная графическая алгоритмический язык |
словесная графическая алгоритмический язык |
виды алгоритмических структур |
линейные алгоритмы(этот термин явно ученикам не называется) |
линейные алгоритмы |
линейные алгоритмы циклические алгоритмы алгоритмы с ветвлением |
программные исполнители |
|
Садовник, Погрузчик (диалоговый режим) Ханойская башня |
Садовник, Кенгуру, Осьминожка |
При работе с программой "Ханойская башня" обсуждается потребность в эффективном алгоритме, т.е. таком, в котором результат может быть достигнут за наименьшее количество шагов.
Ознакомление с каждой алгоритмической структурой осуществляется по схожей схеме:
приведение примеров бытовых алгоритмов соответствующей структуры,
выяснения ключевых слов для записи структуры и их обозначений на блок-схемах,
реализация системы упражнений на выполнение, отыскания и исправления ошибок,
конструирования и видоизменение алгоритмов.
В ходе выполнения упражнений учащиеся учатся анализировать ситуации, синтезировать, сравнивать и оценивать результаты. Формируется алгоритмическое и структурно-логическое мышление школьников.
При изучении циклических алгоритмов учащимся можно предложить разработать алгоритмы для выполнения различных повторяющихся бытовых действий, по использованию циклических структур: мытье посуды, изготовление бумажных гирлянд для новогодней елки и др. Следующий этап выполнить упражнения, в которых будут повторяться действия усилиями Садовника посадить строку саженцев, выполнить построение одинаковых фигур с помощью Кенгуру, закрасить несколько одинаковых областей на поле Осьминожки.
Последней изучается команда ветвления. Примеры алгоритмов с ветвлением могут быть построены на основе правил правописания слов в украинском языке или на основе различных жизненных ситуаций, в которых нужно принимать решения и которые могут быть описаны предложениями в форме "если ..., то" или "если ..., то ..., иначе ... ". НЕ отмечаются, но на примерах демонстрируются особенности полной и сокращенной форм команды ветвления. Лишь один из исполнителей - Осьминожка - имеет в своей системе команд структуру ветвления, а потому обеспечивает выполнение алгоритмов с ветвлением.
Исполнители, которые изучались ранее в начальной школе(Садовник, Погрузчик, Кенгуру, Осминожек) были ориентированы на структурное программирование, в соответствии с которым введены СКИ и команды управления выполнением операций (операторы): последовательное выполнение(линейный алгоритм), условные и циклические операторы.
Учебники по новой программе и Рывкинда и Коршуновой содержательную линию «Алгоритмы и исполнители» изучают в среде учебного исполнителя Рыжего кота – Scratch. Скретч - это новая среда программирования, которая позволяет детям создавать собственные анимированные и интерактивные истории, презентации, модели, игры. В Скретче можно создавать фильмы, играть с различными объектами, видоизменять их вид, перемещать их по экрану, устанавливать формы взаимодействия между объектами. Это объектно-ориентированная среда, в которой блоки программ собираются из разноцветных кирпичиков команд точно так же, как собираются из разноцветных кирпичиков конструкторы Лего. Мы можем взять любой объект и осуществить над ним действия:
• видоизменить его внешний вид; • переместить его; • поместить команды перемещения и видоизменения внутрь блоков управления; • добавить звуки; • и т.д.
В результате выполнения простых команд может складываться сложная модель, в которой будут взаимодействовать множество объектов, наделенных различными свойствами.
Итак Скретч ориентирован на объектное программирование и блочное (т.е. ски и операторы выглядят как детали конструктора из которых собираю программу).
Практическая часть
Найдите в учебниках и запишите ответы на вопросы:
Что такое команда?
Кого или что называют исполнителем?
Что такое система команд исполнителя?
Что такое алгоритм?
Какие команды может содержать алгоритм для конкретного исполнителя?
Что происходит после выполнения последней команды алгоритма?
Приведите примеры алгоритмов, применяемых в обучении.
Для всех последующих заданий результат – оформление файл-отчёта по работе с программным средством, который содержит экранную копию решения задачи.
Изучить и составить инструкцию по работе со следующими программами, входящими в комплект «Сходинки до інформатики», которые составляют содержание практической части урока по информатике в начальной школе:
Сходинки – 3-4классы- Садівник
Сходинки – 3-4классы- Навантажувач
Сходинки – 3-4классы- Кенгуру
Сходинки – 3-4классы- Ханойська вежа
Сходинки – 3-4классы- Восьминіжка.
Составить алгоритм для исполнителя Погрузчик, выполнить в режиме записи программы. В тетрадь зарисовать среду (массу грузов), записать программу, зарисовать блок-схему.
Составить алгоритм для исполнителя Садовник, выполнив который, он посадит все саженцы. Чтобы убедиться, что алгоритм правильный, нажми кнопку Параметры изменения количество саженцев и выполни алгоритм еще раз. Программу и блок-схему записать в тетрадь.
Исполнитель Кенгуру может прыгать и ходить. Если он делает шаг, то оставляет за собой след, если прыгает – следа не будет. Кенгуру может поворачиваться. Перемещается в ту сторону куда смотрит. Написать программу для исполнителя Кенгуру, чтобы он изобразил следующий рисунок.
Какие составные части компьютера изображены?
Вычислите площадь монитора (в кв. кенгурухах).
Вычислите периметр монитора (в кенгурухах).
Вычислить площадь экрана.
Исполнитель Осьминожка работает на поле, которое разделено на равные квадраты. В некоторых клетках могут быть преграды. Клетка в которой находиться в данный момент Осьминожка, называется текущей.
Система команд Осьминожки содержит следующие команды:
Вліво Перемещается на 1 клетку влево
Вправо Перемещается на 1 клетку вправо
Вгору Перемещается на І клетку вверх
Вниз Перемещается на 1 клетку вниз
Зафарбуй Закрашивает установленным цветом текущую клетку.
Среду можно редактировать: перетаскивать Осьминожку мышкой и устанавливать/убирать кораллы – щелчок по клетке.
Осьминожка попал в тупик и растерялся: с трех сторон его окружали кораллы. Задание. Составь алгоритм для Осьминожки, выполнив который, он определит в каком направлении нет преград, и сделает шаг в этом направлении. Чтобы убедиться, что алгоритм правильный, измени расположение кораллов и выполни алгоритм еще раз.
Проанализируйте нижеприведенные начальное и результирующее состояние среды исполнителя Восьминіжка, сформулируйте условие задачи и решите.
Возможное исходное состояние среды
Результат выполнения
Осьминог находится в любой части пустого поля, необходимо провести его в правый нижний угол. Чтобы убедиться, что алгоритм правильный, измените расположение Осьминога и выполните алгоритм еще раз.
Проанализируйте нижеприведенный код программы и сформулируйте условие задачи для Кенгуру.
|
|
|
|
|
