Планирование уроков на учебный год (по учебнику К.Ю. Полякова, Е.А. Еремина, углубленный уровень)



Урок 42
§34. Вспомогательные алгоритмы


Содержание урока


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

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

Выводы. Интеллект-карта

Вопросы и задания

Практическая работа № 23 «Вспомогательные алгоритмы»


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



Ключевые слова:

• вспомогательный алгоритм 
• процедура	
• вызов процедуры уточнения
• возврат из процедуры
• метод последовательного

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

Рис. 6.16

Рис. 6.16

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

алг Два сапога

нач

Сапог

вправо; вправо; вправо

Сапог

кон

Для сокращения длины программы мы записали несколько команд в одной строке, разделив их точкой с запятой.

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

Но в системе команд Робота нет команды Сапог! Однако всё можно исправить, если объяснить Роботу, что ему нужно делать по команде Сапог. Для этого достаточно записать в конце программы (после служебного слова кон) вспомогательный алгоритм:

алг Сапог

нач

вниз; закрасить

вниз; закрасить

вправо; закрасить

влево; вверх; вверх

кон

Теперь программа запускается и работает.

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

Вспомогательный алгоритм часто называют процедурой.

Давайте разберёмся, что будет происходить при запуске этой программы. Алгоритм, записанный в самом начале программы (у нас это алгоритм Два сапога), называется основной программой. Компьютер выполняет основную программу. В первой же строке он встречает неизвестную команду Сапог, которая не входит в СКИ исполнителя Робот. Значит, это вызов вспомогательного алгоритма (процедуры).

Для того чтобы вызвать вспомогательный алгоритм (процедуру), нужно записать его название в теле другого алгоритма.

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

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

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

После завершения работы процедуры управление передаётся обратно, к следующей команде вызывающей программы.

Для того чтобы увидеть, как передаётся управление, в КуМире можно использовать пошаговый режим с входом в процедуры (клавиша F7).

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

Следующая страница Два метода составления программ



Cкачать материалы урока







Наверх