КУМИР

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

 

Сегодня ты научишься:

  •  использовать метод последовательного уточнения при составлении сложных алгоритмов; 
  •  создавать и вызывать вспомогательные алгоритмы;
  •  составлять вспомогательные алгоритмы с аргументами. 


 

 Для начала пройди тест, состоящий из трех заданий.

 

На прошлом уроке Чережик научился строить "домик". А рядом с домом можно вырастить ёлку.

 

Было бы здорово, если бы программа для Чережника выглядела так:

 

Но при запуске такой программы система выдаст сообщение об ошибке:

 

 

 Набери этот программный код и убедись в том, что он не будет выпелнен.

 

Действительно, Чертежник не умеет выполнять команды "домик" и "ёлка". Но если детализировать алгоритм (то  есть, объяснить исполнителю, что означают эти команды), то Чертежник справится с поставленной задачей.

 


 

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

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


 

 Набери первое уточнение:

 

Обрати внимание, что команда "домик" в 6-й строке изменила цвет.

Примечание. Закончив рисование домика Чертежник поднял перо и переместил его в начало рисования ёлки (строки 28, 29). После рисования ёлки, будет использован этот же приём. Можно этого не делать, но тогда придется организовать перемещение пера в начало рисования ёлки в основном алгоритме (между командами "домик" и "ёлка").

 

Осталось создать второе уточнение и ещё раз запустить программу на исполнение:

 

 

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

 


 

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

Алгоритм, в котором есть обращение к вспомогательным алгоритмам, называется основным.


 

Один и тот же алгоритм может выступать в роли вспомогательного, и в роли основного.

Например, если созданному алгоритму задать имя "домик_ёлка", то можно использовать этот алгоритм в качестве вспомогательного в алгоритме "улица":

 

А теперь попробуем вырасить ёлку. Для этого в алгоритм "ёлка" введём вещественный аргумент а, который будет отвчать за размер дерева.

 

 Измени программу рисования ёлки так, как показано на схеме:

 

Теперь достаточно в качестве аргумента указать в скобках числовой параметр при вызове алгоритма "ёлка" и получить ёлку нужного размера:

 

 

Рассмотрим ещё один пример использования вспромогательных алгоритмов для исполнителя Робот.

Пусть требуется написать алгоритм, который переводит Робота из клетки А в клетку Б и закрашивает клетки, отмеченные точками:

Н следующем рисунке показан один из возможных путей перемещения Робота при решении этой задачи:

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

Воспользуемся методом последовательного уточнения. Составим основной алгоритм:

Теперь составим вспомогательные алгоритмы:

Результат работы алгоритма:

Пришло время самостоятельно выполнить задания к уроку 4 из задачника.

Дата последнего обновления страницы 21.12.2018
Сайт создан по технологии «Конструктор сайтов e-Publish»