Команда ветвления Познакомимся еще с одной командой ГРИС. Она называется командой ветвления. Формат команды ветвления такой: если то иначе кв Служебное слово кв обозначает конец ветвления. По-прежнему ГРИС может проверять только два условия: «впереди край?» или «впереди не край?». — это одна или несколько следующих друг за другом команд. Если справедливо, то выполняется , в противном случае — . Давайте изобразим блок-схему. Такое ветвление называется полным. Неполная форма ветвления В некоторых случаях используется неполная форма команды ветвления Например: если впереди край то поворот кв Блок-схема: Неполная команда ветвления имеет следующий формат: если то кв Здесь выполняется, если справедливо. Составим сравнительно сложную программу для ГРИС. На этом примере вы увидите, что применение метода последовательной детализации облегчает решение некоторых «головоломных» задач. Пример задачи с двухшаговой детализацией Задача 6. Построить орнамент, состоящий из квадратов, расположенных по краю поля. Исходное положение ГРИС — в верхнем левом углу, направление на юг. Процедуру, рисующую цепочку квадратов от края до края поля, назовем РЯД. Процедуру, рисующую один квадрат, назовем КВАДРАТ. Сначала напишем основную программу программа Орнамент нач сделай РЯД поворот сделай РЯД поворот сделай РЯД поворот сделай РЯД кон Теперь напишем процедуры РЯД и КВАДРАТ: Процедура РЯД Нач Прыжок Прыжок Пока впереди не край, повторить Нц Сделай КВАДРАТ Если впереди не край То прыжок Кв Кц Кон Процедура КВАДРАТ Нач Шаг Поворот Шаг Поворот Шаг Поворот Шаг Поворот Прыжок Кон В процедуре РЯД в теле цикла содержится неполное ветвление. Структуру такого алгоритма можно назвать так: цикл с вложенным ветвлением. блок-схема процедуры РЯД. Составление этой программы потребовало двух шагов детализации алгоритма, которые выполнялись в такой последовательности: Теперь вам известны все команды управления графическим исполнителем. Их можно разделить на три группы: простые команды; команда обращения к процедуре; структурные команды. К третьей группе относятся команды цикла и ветвления. |