Вспомогательный алгоритм в кумире

Вспомогательный алгоритм в кумире

Рассмотрим задание: необходимо нарисовать несколько, например три, квадрата.


Алгоритм может выглядеть так (см. ниже). Но получается слишком много одних и тех же строк, выделим их желтым цветом. А если нам захочется нарисовать десять одинаковых квадратов? Сто?

использовать Чертежник
алг квадраты 1
нач
. сместиться в точку (-4,1)
. опустить перо
. сместиться на вектор (0,2)
. сместиться на вектор (2,0)
. сместиться на вектор (0,-2)
. сместиться на вектор (-2,0)
. поднять перо
. сместиться в точку (-1,1)
. опустить перо
. сместиться на вектор (0,2)
. сместиться на вектор (2,0)
. сместиться на вектор (0,-2)
. сместиться на вектор (-2,0)
. поднять перо
. сместиться в точку (2,1)
. опустить перо
. сместиться на вектор (0,2)
. сместиться на вектор (2,0)
. сместиться на вектор (0,-2)
. сместиться на вектор (-2,0)
. поднять перо
. сместиться в точку (0,0)
кон

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

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

Блоки кода выделенные желтым цветом запишем отдельным алгоритмом. Назовем его квадрат. Таким образом, мы как бы научим Чертежника новой команде квадрат.

использовать Чертежник
алг квадраты
нач
. сместиться в точку (-4,1)
. квадрат
. сместиться в точку (-1,1)
. квадрат
. сместиться в точку (2,1)
. квадрат
. сместиться в точку (0,0)
кон
алг квадрат
нач
. опустить перо
. сместиться на вектор (0,2)
. сместиться на вектор (2,0)
. сместиться на вектор (0,-2)
. сместиться на вектор (-2,0)
. поднять перо
кон

Получили более компактный и понятный алгоритм. Там, где какие-то части программы повторяются (используются) несколько раз, удобно использовать вспомогательные алгоритмы.

Обратите внимание — если нам потребуется изменить алгоритм так чтобы рисовались квадраты со стороной не два, а три, то при использовании вспомогательного алгоритма количество правок заметно уменьшается.

Примечание: все алгоритмы в программе на КуМире пишутся друг за другом, для удобства их можно отделять пустой строкой, главным считается алгоритм записанный первым, именно он начинает выполняться после запуска программы.

Читайте также:  Как снять пин код с телевизора lg

Метод последовательной детализации

Использованный нами подход облегчает программирование сложных задач. Задача разбивается на более простые подзадачи. Решение каждой оформляется в виде вспомогательного алгоритма, а основной алгоритм организует связку между ними.

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

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

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

Описанный метод называется сборочным программированием.

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

Задание 1. Измените полученный алгоритм, так чтобы рисовалось 5, 7 или 10 квадратов.

Задание 2. Составьте программы лес, используя вспомогательный алгоритм елка, и улица, используя вспомогательный алгоритм домик.

Задание 3. Цифры в почтовом индексе записываются следующим образом:

Составьте вспомогательные алгоритмы рисования этих цифр. Можно сделать это с одноклассниками — каждому по цифре, а потом объедините их вместе.
Составьте программу рисования индексов городов Унеча (243300), Елец (399770), Таганрог (347900), Торжок (172011), Плёс (155555). В программе используйте вспомогательные алгоритмы.

Цели урока:

  • закрепить представления учащихся об исполнителях алгоритмов;
  • научить учащихся управлять исполнителем Чертежник с использованием вспомогательных алгоритмов;
  • сформировать умение записи, исполнения и отладки алгоритмов с использованием команд Чертежника в среде «Кумир»

Обеспечение урока:

  • система Кумир;
  • мультимедийный проектор;
  • презентация урока (приложение 1)
  • карточки-задания;
  • компьютеры.

Ход урока

1. Проверка домашнего задания.

  • Блиц-опрос учащихся на знание основных определений: исполнитель, формальный исполнитель, неформальный исполнитель.
  • Ученики приводят примеры неформальных и формальных исполнителей.
Читайте также:  Пожалеть проголодался вычитание уравнять шансы

2. Объяснение нового материала.

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

Вспомогательный алгоритм – это подпрограмма, которая выполняет какое-то действие, предусмотренное исходным заданием (слайд 2).

Мы создадим два вспомогательных алгоритма:

  1. Построим алгоритм «Забор»
  2. Построим алгоритм «Ель»
  3. Соединим два алгоритма и применим Цикл N раз.

Описание действий, которые могут повторятся указанное число раз или пока не выполнено заданное условие, называется циклом.

При составлении алгоритмов довольно часто встречаются случаи, когда некоторую последовательность команд нужно выполнить несколько раз подряд. Для упрощения записи алгоритма в таких случаях можно использовать специальную конструкцию повторения N раз.

Общий вид цикла:

нц раз

кц (слайд 4).

2. Проработка содержания темы обучающимися:

Задание: Создать следующий рисунок в программе Кумир, используя исполнитель Чертежник (слайд 3).

алг забор
нач
нц 10 раз
опустить перо
сместиться на вектор (0,10)
сместиться на вектор (2,2)
сместиться на вектор (2,-2)
сместиться на вектор (0,-10)
кц
кон

алг ель
нач
нц 5 раз
опустить перо
сместиться на вектор (0,15)
нц 5 раз
сместиться на вектор (-2,-2)
поднять перо
сместиться на вектор (2,0)
опустить перо
кц
нц 5 раз
поднять перо
сместиться на вектор (2,0)
опустить перо
сместиться на вектор (-2,2)
кц
поднять перо
сместиться на вектор (8,-15)
кц
кон

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

использовать Чертежник
алг
нач
нц 10 раз
забор
кц
поднять перо
сместиться на вектор (-36,10)
нц 5 раз
опустить перо
ель
кц
кон

алг забор
нач
опустить перо
сместиться на вектор (0,10)
сместиться на вектор (2,2)
сместиться на вектор (2,-2)
сместиться на вектор (0,-10)
кон

алг ель
нач
опустить перо
сместиться на вектор (0,15)
нц 5 раз
сместиться на вектор (-2,-2)
поднять перо
сместиться на вектор (2,0)
опустить перо
кц
нц 5 раз
поднять перо
сместиться на вектор (2,0)
опустить перо
сместиться на вектор (-2,2)
кц
поднять перо
сместиться на вектор (8,-15)
кон

Дополнительное задание: Создать вспомогательный алгоритм «ДОМ» и дополнить картинку (слайд 7).

4. Домашнее задание: повторить конспект (придумать свои рисунки с применением вспомогательного алгоритма).

Данная разработка позволяет изучить возможности программирования на примере конкретного исполнителя Робот с использованием среды КУМИР; дать практические навыки работы с исполнителем. В этом занятии вводится понятие основного и вспомогательного алгоритма; объясняются правила использования вспомогательного алгоритма.

Читайте также:  Кам модуль билайн тв

Содержимое разработки

Исполнитель Робот. Вспомогательные алгоритмы (2ч)

Цель: ввести понятие основного и вспомогательного алгоритма; объяснить правила использования вспомогательного алгоритма; разобрать примеры алгоритмов с использованием вспомогательного. Отработать практические навыки построения алгоритмов методом последовательного уточнения.

1.Ввод новых терминов (основного и вспомогательного алгоритма, вызова) и объяснение новых понятий.

2.Разбор примеров решения задач с применением вспомогательного алгоритма.

3. Практическая работа

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

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

Команда выполнения вспомогательного алгоритма называется вызовом и записывается в теле основного алгоритма.

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

Робот находится в верхнем левом углу поля. Стен и закрашенных клеток нет. Составить алгоритм, с использованием вспомогательного, рисующий четыре крестика на одной горизонтали. Конечное положение Робота может быть произвольным.

Решение

Разбор на доске:

Задача2. Робот находится в верхнем левом углу поля. Стен и закрашенных клеток нет. Составьте алгоритм, который закрашивает в шахматном порядке квадрат 8 х 8. Конечное положение Робота может быть произвольным.

Практическая работа на ПК «Решение задачи с использованием вспомогательных алгоритмов»

Задача1. Робот находится в нижнем левом углу поля. Стен и закрашенных клеток нет. Составьте алгоритм, который закрашивает 6 вертикальных полос одинаковой длины в 6 клеток. Конечное положение Робота может быть произвольным.

Задача2. Используя вспомогательные, составьте алгоритм для закрашивания клеток, образующих число 1212.

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

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