Методика работы над алгоритмической задачей
алг Закрашивание
дано | робот где-то в горизонтальном коридоре
надо | закрасить все клетки коридора;
робот в исходном положении
Словесное описание алгоритма
Вопросы, обобщение учителя |
Ожидаемые ответы |
Обстановка |
|
Робот находится где-то в горизонтальном коридоре. |
|
|
Шаг вправо. Пока сверху стена робот закрашивает клетку и делает шаг вправо. |
|
|
Шаг влево. Пока клетка закрашена, робот делает шаг влево. |
|
|
Шаг влево. Пока сверху стена робот закрашивает клетку и делает шаг влево. |
|
|
Шаг вправо. Пока клетка закрашена, робот делает шаг вправо. |
|
|
Закрасить исходную клеточку. |
|
Модель части алгоритма в форме блок-схемы
Давайте составим блок-схему для алгоритма закрашивания клеточек справа от робота. Что мы делаем сначала?
Шагаем вправо.
Что идет дальше?
Цикл «пока»
Что пишется в ромбике?
Условие
Какое у нас условие?
Пока сверху стена
Если условие выполняется?
Закрашиваем клеточку, затем идем вправо
Если условие не выполняется?
Конец цикла
Сколько раз выполнится условие?
4 раза
нет
да
Измените этот алгоритм, чтобы робот закрашивал клеточки слева от робота.
Давайте составим блок-схему для алгоритма возвращения робота в исходное положение. Что мы делаем сначала?
Шагаем влево.
Что идет дальше?
Цикл «пока»
Что пишется в ромбике?
Условие
Какое у нас условие?
Пока клетка закрашена
Если условие выполняется?
Идем влево
Если условие не выполняется?
Конец цикла
Сколько раз выполнится условие?
4 раза
нет
да
Измените этот алгоритм, чтобы робот возвращался в исходное положение с другой стороны.
Итак, сколько всего будет циклов в нашей программе?
В каком порядке мы их расположим?
Напишите общий алгоритм решения задачи на языке КУМИР и проверьте его правильность на компьютере. Чего не хватает?
Запись алгоритма решения задачи на языке программирования
алг Закрашивание
нач
вправо
нц пока сверху стена
закрасить; вправо
кц
влево
нц пока клетка закрашена
влево
кц
влево
нц пока сверху стена
закрасить; влево
кц
вправо
нц пока клетка закрашена
вправо
кц
закрасить
кон
Как вы думаете, если робот будет стоять в другом месте коридора, правильно ли будет выполняться алгоритм? Проверьте на компьютере.
Вариант 1
Вариант 2
Вариант 3
Вариант 4
Вариант 5
Вариант 6
Вариант 7
Вариант 8
Вариант 9
Запись алгоритма решения задачи на языке программирования
алг Закрашивание
нач
вправо
нц пока сверху стена
закрасить; вправо
кц
влево
нц пока клетка закрашена
влево
кц
влево
нц пока сверху стена
закрасить; влево
кц
вправо
нц пока клетка закрашена
вправо
кц
закрасить
кон
© ООО «Знанио»
С вами с 2009 года.