Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР5_Мвт_Алгоритмы_и_исполнители.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Ошибки при работе исполнителей

Работа исполнителя не всегда проходит гладко – иногда встречаются ошибки. Существует три вида ошибок исполнителей.

“НЕ ПОНИМАЮ”

Заданной команды нет в списке команд исполнителя, и он ее не понял. Вероятно, мы ошиблись в записи текста команды.

“НЕ МОГУ”

Исполнитель понял команду, но не может ее выполнить. Например, роботу дана команда “вперед”, а впереди стоит стенка, и он не может идти. Или собаке скомандовали “Сидеть!”, а она уже сидит.

ЛОГИЧЕСКИЕ ОШИБКИ

Исполнитель понял команду и выполнил ее, но сделал не то, что мы от него хотели. Причина этого – наша ошибка в составлении задания (алгоритма).

задать среду исполнителя – класс, столы, стулья;

составить СКИ.

Человек способен понимать смысл команды и часто может «додумать», что от него хотели даже тогда, когда команда задана неточно. Для того, чтобы алгоритм был понятен роботу, компьютеру или другой машине, недостаточно только написать команды, надо еще и оформить алгоритм в таком виде, в котором его понимает машина, то есть записать в формальном виде.

В формальной записи алгоритма можно использовать только те команды, которые входят в СКИ исполнителя. Кроме того, надо соблюдать специальные правила оформления, которые позволят исполнителю распознать команды и определить последовательность их выполнения.

Репка /* это название алгоритма */

{ /* эта скобка обозначает начало алгоритма */

посадить репку; /*команда заканчивается знаком ;*/

вырастить репку;

пытаться вытащить репку;

позвать Бабку; пытаться вытащить репку;

позвать Внучку; пытаться вытащить репку;

позвать Жучку; пытаться вытащить репку;

позвать Кошку; пытаться вытащить репку;

позвать Мышку; вытащить репку;

} /* здесь алгоритм заканчивается */

Исполнителем для этого алгоритма является дед — именно он должен выполнять эти команды.

Алгоритм можно записать разными способами и даже на разных языках. Хотя при этом исполнитель может, конечно, их не понять. Есть специальные виды исполнителей алгоритмов — компьютеры. Они выполняют программы.

Программа – это алгоритм, записанный в форме, понятной компьютеру.

Каждый шаг в программе Репка, в свою очередь, тоже можно расшифровать – составить более подробный план и оформить в качестве вспомогательного алгоритма. При решении задач по алгоритмизации в основном действуют по следующему сценарию (алгоритму) составляют общий алгоритм, некоторые этапы решения детализируют до уровня СКИ исполнителя и выделяют в отдельные вспомогательные алгоритмы (подпрограммы). Такой подход называется разработкой программы сверху-вниз. Детализация заключалось в том, что мы стремимся решить более мелкие задачи через линейные, условные и циклические алгоритмические структуры. Такой подход называется структурным программированием.

Положения структурного программирования следующие:

  1. Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:

последовательное исполнение— однократное выполнение операций в том порядке, в котором они записаны в тексте программы;

ветвление— однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;

цикл— многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).

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

  1. Повторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки) могут оформляться в виде т. н. подпрограмм. В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы.

    На практике наиболее распространены следующие формы представления алгоритмов:

  • словесная (записи на естественном языке);

  • графическая (изображения из графических символов);

  • псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);

  • программная (тексты на языках программирования).

В настоящее время действует единая система программной документации (ЕСПД), которая устанавливает правила разработки, оформления программ и программной документации.

В пределах одной схемы рекомендуется изображать блоки одинаковых размеров. Все блоки нумеруются. Линии, соединяющие блоки и указывающие последовательность связей между ними, должны проводится параллельно линиям рамки. Стрелка в конце линии может не ставиться, если линия направлена слева направо или сверху вниз. В блок может входить несколько линий, то есть блок может являться преемником любого числа блоков. Из блока (кроме логического) может выходить только одна линия. Логический блок может иметь в качестве продолжения один из двух блоков, и из него выходят две линии. Если на схеме имеет место слияние линий, то место пересечения выделяется точкой. В случае, когда одна линия подходит к другой и слияние их явно выражено, точку можно не ставить.

Наименование

Обозначение

Начало, конец

Блок ввода-вывода

Процесс

Блок условия

(логический блок)

Циклический блок

Соединитель

Блок-схема состоит из отдельных элементов, они называются блоки. Блок-схема обязательно начинается с блока НАЧАЛО (скругленный прямоугольник). Затем идут другие блоки. Блок в форме параллелограмма, называется блоком ввода. Сюда помещаются исходные данные. В блоке Процесс (прямоугольник) записываются действия. Результат записываем в блоке вывода. Он выглядит также как блок ввода. В конце блок-схемы находится блок КОНЕЦ. Все блоки соединяются между собой стрелочками от начала к концу.

Символы блок-схем: Дополнение\Блок-схема — Википедия.html

Контрольные вопросы:

  1. Что такое алгоритм.

  2. Чем отличаются формальные и неформальные исполнители.

  3. Перечислите характеристики исполнителя.

  4. Перечислите формы представления алгоритмов.

  5. Перечислите основные алгоритмические структуры.

Методическая схема:

Исполнители, изучаемые в начальной школе ориентированы на структурное программирование, в соответствии с которым введены СКИ и команды управления выполнением операций (операторы): последовательное выполнение(линейный алгоритм), циклические операторы и ветвление.

Изучение раздела «Алгоритмы и исполнители» в первую очередь направлено на развитие алгоритмического мышления и тем самым формирование межпредметных компетенций.

Изучение содержательной линии «Алгоритмы и исполнители» в соответствии с Программой предусмотрено во 2, 3, 4 классах.

Как видно из приведенных выдержек алгоритмической линии из программы «Сходинки до інформатки» во 2-классе происходит формирование понятий «алгоритма», «команда», «исполнитель»; в 3-классе – формирование понятий «исполнитель» и «программа», написание линейных алгоритмов; в 4-классе – формирование понятия «высказывание», написание программ для алгоритмов с ветвлениями и циклических алгоритмов.

В учебно-развивающем программном пакете «Сходинки до інформатики» для начальной школы введены следующие исполнители:

  • Садовник (моделирования процесса посадки деревьев. Его система команд обеспечивает выполнение как линейных алгоритмов, так и алгоритмов с повторением);

  • Погрузчик (установка на корабль груза перед выходом из порта);

  • Кенгуру (выполняет алгоритмы для графических построений);

  • Осьминожка (может двигаться полем в клетку между коралловыми препятствиями и закрашивать ячейки в разные цвета).

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

2 клас

3 класс

4 класс

понятие алгоритма

+

+

+

понятие команда

+

-

-

понятие исполнителя

введение понятия исполнителя

введение характеристик исполнителя

-

формы представления алгоритма

словесная

словесная

графическая

алгоритмический язык

словесная

графическая

алгоритмический язык

виды алгоритмических структур

линейные алгоритмы(этот термин явно ученикам не называется)

линейные алгоритмы

линейные алгоритмы

циклические алгоритмы

алгоритмы с ветвлением

программные исполнители

Садовник, Погрузчик (диалоговый режим)

Ханойская башня

Садовник,

Кенгуру,

Осьминожка

При работе с программой "Ханойская башня" обсуждается потребность в эффективном алгоритме, т.е. таком, в котором результат может быть достигнут за наименьшее количество шагов.

Ознакомление с каждой алгоритмической структурой осуществляется по схожей схеме:

  • приведение примеров бытовых алгоритмов соответствующей структуры,

  • выяснения ключевых слов для записи структуры и их обозначений на блок-схемах,

  • реализация системы упражнений на выполнение, отыскания и исправления ошибок,

  • конструирования и видоизменение алгоритмов.

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

При изучении циклических алгоритмов учащимся можно предложить разработать алгоритмы для выполнения различных повторяющихся бытовых действий, по использованию циклических структур: мытье посуды, изготовление бумажных гирлянд для новогодней елки и др. Следующий этап выполнить упражнения, в которых будут повторяться действия усилиями Садовника посадить строку саженцев, выполнить построение одинаковых фигур с помощью Кенгуру, закрасить несколько одинаковых областей на поле Осьминожки.

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

Исполнители, которые изучались ранее в начальной школе(Садовник, Погрузчик, Кенгуру, Осминожек) были ориентированы на структурное программирование, в соответствии с которым введены СКИ и команды управления выполнением операций (операторы): последовательное выполнение(линейный алгоритм), условные и циклические операторы.

Учебники по новой программе и Рывкинда и Коршуновой содержательную линию «Алгоритмы и исполнители» изучают в среде учебного исполнителя Рыжего кота – Scratch. Скретч - это новая среда программирования, которая позволяет детям создавать собственные анимированные и интерактивные истории, презентации, модели, игры. В Скретче можно создавать фильмы, играть с различными объектами, видоизменять их вид, перемещать их по экрану, устанавливать формы взаимодействия между объектами. Это объектно-ориентированная среда, в которой блоки программ собираются из разноцветных кирпичиков команд точно так же, как собираются из разноцветных кирпичиков конструкторы Лего. Мы можем взять любой объект и осуществить над ним действия:

• видоизменить его внешний вид; • переместить его; • поместить команды перемещения и видоизменения внутрь блоков управления; • добавить звуки; • и т.д.

В результате выполнения простых команд может складываться сложная модель, в которой будут взаимодействовать множество объектов, наделенных различными свойствами.

Итак Скретч ориентирован на объектное программирование и блочное (т.е. ски и операторы выглядят как детали конструктора из которых собираю программу).

Практическая часть

  1. Найдите в учебниках и запишите ответы на вопросы:

  • Что такое команда?

  • Кого или что называют исполнителем?

  • Что такое система команд исполнителя?

  • Что такое алгоритм?

  • Какие команды может содержать алгоритм для конкретного исполнителя?

  • Что происходит после выполнения последней команды алгоритма?

  • Приведите примеры алгоритмов, применяемых в обучении.

Для всех последующих заданий результат – оформление файл-отчёта по работе с программным средством, который содержит экранную копию решения задачи.

  1. Изучить и составить инструкцию по работе со следующими программами, входящими в комплект «Сходинки до інформатики», которые составляют содержание практической части урока по информатике в начальной школе:

Сходинки – 3-4классы- Садівник

Сходинки – 3-4классы- Навантажувач

Сходинки – 3-4классы- Кенгуру

Сходинки – 3-4классы- Ханойська вежа

Сходинки – 3-4классы- Восьминіжка.

  1. Составить алгоритм для исполнителя Погрузчик, выполнить в режиме записи программы. В тетрадь зарисовать среду (массу грузов), записать программу, зарисовать блок-схему.

  2. Составить алгоритм для исполнителя Садовник, выполнив который, он посадит все саженцы. Чтобы убедиться, что алгоритм правильный, нажми кнопку Параметры изменения количество саженцев и выполни алгоритм еще раз. Программу и блок-схему записать в тетрадь.

  3. Исполнитель Кенгуру может прыгать и ходить. Если он делает шаг, то оставляет за собой след, если прыгает – следа не будет. Кенгуру может поворачиваться. Перемещается в ту сторону куда смотрит. Написать программу для исполнителя Кенгуру, чтобы он изобразил следующий рисунок.

  • Какие составные части компьютера изображены?

  • Вычислите площадь монитора (в кв. кенгурухах).

  • Вычислите периметр монитора (в кенгурухах).

  • Вычислить площадь экрана.

  1. Исполнитель Осьминожка работает на поле, которое разделено на равные квадраты. В некоторых клетках могут быть преграды. Клетка в которой находиться в данный момент Осьминожка, называется текущей.

Система команд Осьминожки содержит следующие команды:

Вліво Перемещается на 1 клетку влево

Вправо Перемещается на 1 клетку вправо

Вгору Перемещается на І клетку вверх

Вниз Перемещается на 1 клетку вниз

Зафарбуй Закрашивает установленным цветом текущую клетку.

Среду можно редактировать: перетаскивать Осьминожку мышкой и устанавливать/убирать кораллы – щелчок по клетке.

Осьминожка попал в тупик и растерялся: с трех сторон его окружали кораллы. Задание. Составь алгоритм для Осьминожки, выполнив который, он определит в каком направлении нет преград, и сделает шаг в этом направлении. Чтобы убедиться, что алгоритм правильный, измени расположение кораллов и выполни алгоритм еще раз.

  1. Проанализируйте нижеприведенные начальное и результирующее состояние среды исполнителя Восьминіжка, сформулируйте условие задачи и решите.

    Возможное исходное состояние среды

    Результат выполнения

  2. Осьминог находится в любой части пустого поля, необходимо провести его в правый нижний угол. Чтобы убедиться, что алгоритм правильный, измените расположение Осьминога и выполните алгоритм еще раз.

  3. Проанализируйте нижеприведенный код программы и сформулируйте условие задачи для Кенгуру.