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

Урок 11. Контрольная работа

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

Дополнительные задачи:

  1. Н апишите программу, которая заключит портрет в золотую рамочку из стенок по краям поля.

  1. Н апишите программу перекрашивания красный коридор в синий цвет, и огородите его стенками.

  1. Напишите программу, которая закрасит светофор.

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

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

алг АНАНАС

дано! чистое поле

надо! написать слово АНАНАС

нач

букваА

…

кон

Команда букваА не входит в СКИ Робота. Нет описания этой команды и в программном листке. Следовательно, при попытке выполнить алгоритм АНАНАС последует сообщение «Незнакомый идентификатор».

Напишем после алгоритма АНАНАС новый алгоритм букваА, например, так:

а лг букваА

дано! чистое поле

надо! написать букву А

нач

нц 2 раз

построить(0);

построить(1);

построить(2);

вниз;

кц

вправо;

вверх(2);

вправо;

кон

Теперь будет все в порядке. По команде букваА Робот будет исполнять команды, записанные в алгоритме букваА.

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

алг АНАНАС

дано! чистое ! поле

н адо!написать ! АНАНАС

н ач

б укваА

б укваН

б укваА

б укваН

б укваА;

б укваС;

к он

а лг букваА

дано! поле

надо!написать А

нач

кон

алг букваН

дано! поле

надо!написать Н

нач

кон

алг букваС

дано! поле

надо!написать С

нач

кон

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

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

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

а лг задача

дано!

н

Основной алгоритм

адо!

нач

…

V1; …; V1;

V2; …; V1; …; V2;

кон

а лг V1

дано!

н

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

адо!

н ач

…

кон

а лг V2

дано!

надо!

нач

…

кон

Правила использования вспомогательного алгоритма:

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

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

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

  4. Одна программа может иметь несколько вспомогательных алгоритмов.

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

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

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

Тогда блок-схема алгоритма АНАНАС будет выглядеть следующим образом:

П опробуем решить еще одну задачу с использованием вспомогательного алгоритма: Написать программу, в результате которой Робот создаст такое поле.

Для начала определим, какие действия удобно вынести в отдельный алгоритм при создании данного поля? Какой элемент повторяется?

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

Итак, алгоритм решения данной задачи будет выглядеть следующим образом:

алг Узор

дано! чистое поле

надо! нарисовать узор

нач

краска(9);

квадрат;

краска(10);

квадрат;

краска(12);

квадрат;

краска(13);

квадрат;

краска(14);

квадрат;

краска(1);

квадрат;

краска(5);

квадрат;

кон

алг квадрат

дано! поле

надо! нарисовать квадрат

нач

нц 4 раз

закрасить;

вправо;

кц

нц 4 раз

закрасить;

вниз;

кц

нц 4 раз

закрасить;

влево;

кц

нц 4 раз

закрасить;

вверх;

кц

вправо(4);

вниз(4);

кон

Как вы думаете, зачем в конце алгоритма квадрат переводить Робота еще на четыре клетки вниз и вправо? Можно ли эти команды перенести в основном алгоритм?

Задания:

  1. Н аписать программу, по которой Робот создан на экране точно такое же поле.

  1. Н аписать программу, по которой Робот создан на экране точно такое же поле.

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