Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
logo_Ushenik2.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
735.23 Кб
Скачать

Тема 5. Понятие циклического алгоритма.

С алгоритмами, в которых некоторые действия повторяются несколько раз мы встречались в младших классах. Например в алгоритме «Налови ведро рыбы» повторяются несколько раз одни и те же действия – насади червяка на удочку, закинь удочку, подожди пока клюнет, подсекай). Такие алгоритмы называются циклическими.

Циклический алгоритм – алгоритм, описывающий повторяющиеся действия. Любой цикл задается параметрами: сколько раз повторить действие (или задается условие выполнения команд в цикле), и какие команды повторяются несколько раз.

Команды цикла – команды языков программирования, описывающие циклические алгоритмы.

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

Параметр цикла – параметр. Определяющий количество повторений тела цикла.

Рассмотрим последовательность команд для рисования квадрата: вп 20 пр 90 вп 20 пр 90 вп 20 пр 90 вп 20 пр 90

В данной последовательности команд есть повторяющаяся четыре раза серия: вп 20 пр 90

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

Команда цикла записывается: повтори параметр_цикла [тело_цикла],

где:

параметр цикла – это целое положительное число, которое показывает количество повторений;

тело цикла – это серия команд языка, которые повторяются в цикле.

Таким образом, для построения квадрата можно воспользоваться следующей последовательностью команд: повтори 4 [вп 20 пр 90]

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

Рассмотрим, как можно на экране изобразить полет вертолета. Сначала придадим черепахе нужную форму и поднимем перо:

нф 25

пп

Теперь выполним команду повтори 40 [вп 2].

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

Практическая часть

  1. В среде logo writer опробуй новые команды.

  2. Выполни команду повтори 4 [вп 20 пр 90]

  3. Измени параметры команд, посмотри как меняется результат.

Домашнее задание:

  1. выучи новую команду.

  2. Придумай алгоритм с использованием цикличности.

  3. Напиши команду для рисования треугольника, шестиугольника.

Использование циклического алгоритма для разработки движущихся рисунков.

Для изображения движения более сложного объекта можно сразу использовать не одну форму, а несколько. Представим себе движение поезда - нам потребуется две черепашки: одна — для паровоза, другая — для вагона. В системе LogoWriter можно использовать одновременно до четырех черепашек. Каждая черепашка имеет свой номер — от 0 до 3. При открытии нового листа включена черепашка с номером 0, все остальные черепашки выключены и спрятаны (невидимы). Чтобы включить нужные черепашки нужно воспользоваться командой для. В этой команде указывается список тех черепашек, которые надо включить. Например, команда для [0 2] включает черепашки с номерами 0 и 2. Если используется только одна черепашка, то квадратные скобки можно не ставить. После этого все команды (например, вп , нд, пр, лв и так далее) будут выполняться этими двумя черепашками одновременно.

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

для 2

пч

для [0 2]

пр 45

пп

вп 60

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

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

для 0

пч

пр 90

нф 28

Теперь нужно черепашку с номером 3 превратить в вагон.

для 3

пч

пр 90

нф 31

пп

вп 20

Теперь можно запустить поезд.

для [0 3]

пп

повтори 50 [вп 2]

Поезд проехал слишком быстро. Имеется специальная команда, позволяющая создавать паузы в работе. Это команда жди _, она имеет один входной параметр, он определяет продолжительность паузы. Время в системе Logo Writer измеряется в тиках, один тик равен примерно 1/20 секунды. Таким образом, команда жди 10 приостанавливает работу примерно на полсекунды. Теперь поезд поедет достаточно хорошо:

для [0 3]

пп

повтори 50 [вп 2 жди 1],

Несколько различных форм можно использовать для изображения более сложного движения, чем полет вертолета и движение поезда. На листе форм формы с номерами 16 и 17 изображают две фазы движения человека. Поэтому команда повтори 10 [нф 16 жди 3 нф 17 жди 3] приводит к чередованию этих двух фаз.

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

Если пофантазировать, то можно придумать фрагменты движущихся фигур, разработав соответствующие формы. Например: «летящий вертолет у которого вращается винт», автомобиль с «мигающим» сигналом на крыше и так далее.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]