Ветвление и последовательная детализация алгоритма

Основные темы параграфа:

■ команда ветвления;

■ неполная форма команды ветвления;

■ пример задачи с двухшаговой детализацией.

Команда ветвления

Познакомимся еще с одной командой ГРИС. Она называется командой ветвления. Формат команды ветвления такой:

если<условие>

то<серия 1>

иначе<серия 2>

кВ

Служебное слово кв обозначает конец ветвления.

По-прежнему ГРИС может проверять только два условия: «впереди край?» или «впереди не край?». <серия> — это одна или несколько следующих друг за другом команд. Если <условие> справедливо, то выполняется <серия 1>, в противном случае — <серия 2>. Такое ветвление называется полным. Пример показан на рис. 1.11.

Ветвление и последовательная детализация алгоритма - student2.ru

Неполная форма команды ветвления

В некоторых случаях используется неполная форма команды ветвления (рис. 1.12). Например:

если впереди край

То поворот

кв

Ветвление и последовательная детализация алгоритма - student2.ru

Неполная форма команды ветвления:

если <условие>

то <серия>

кв

Здесь <серия> выполняется, если <условие> справедливо, в противном случае происходит переход к следующей после ветвления команде алгоритма.

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

Пример задачи с двухшаговой детализацией

Задача 6.Построить орнамент, состоящий из квадратов, расположенных по краям поля. Исходное положение ГРИС — в верхнем левом углу, направление — на юг (рис. 1.13).

Процедуру, рисующую цепочку квадратов в одном направлении, назовем РЯД. Процедуру, рисующую один квадрат, назовем КВАДРАТ. Сначала напишем основную программу:

 
  Ветвление и последовательная детализация алгоритма - student2.ru

программаОрнамент

Нач

сделайРЯД

Поворот

сделайРЯД

Поворот

сделайРЯД

Поворот

сделайРЯД

Кон

Теперь напишем процедуры РЯД и КВАДРАТ:

 
  Ветвление и последовательная детализация алгоритма - student2.ru

В процедуре РЯД в теле цикла содержится неполное ветвление. Структуру такого алгоритма можно назвать так: цикл с вложенным ветвлением.

На рисунке 1.14 приведена блок-схема процедуры РЯД.

Ветвление и последовательная детализация алгоритма - student2.ru

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

Ветвление и последовательная детализация алгоритма - student2.ru

Теперь вам известны все команды управления графическим исполнителем. Их можно разделить на три группы: простые команды; команда обращения к процедуре; структурные команды. К третьей группе относятся команды цикла и ветвления.

 
  Ветвление и последовательная детализация алгоритма - student2.ru

Коротко о главном

Команда ветвления имеет следующий формат:

если<условие>

то<серия 1>

иначе<серия 2>

кв

Если <условие> истинно, то выполняются команды, составляющие <серию 1>, если ложно — <серию 2>.

Неполная форма команды ветвления:

если<условие>

то <серия >

кв

Если условие истинно, то выполняется <серия>, если ложно, то сразу происходит переход к следующей за ветвлением команде алгоритма.

Сложные алгоритмы удобно строить путем пошаговой детализации.

Ветвление и последовательная детализация алгоритма - student2.ru Вопросы и задания

1. Что такое пошаговая детализация?

2. Из каких команд могут состоять вспомогательные алгоритмы последнего уровня детализации?

Ветвление и последовательная детализация алгоритма - student2.ru 3. Какой формат имеет команда ветвления? Какие действия исполнителя она определяет?

4. Чем отличается полное ветвление от неполного?

Ветвление и последовательная детализация алгоритма - student2.ru 5. Путем пошаговой детализации составьте программы управления графическим исполнителем для решения следующих задач:

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

• нарисовать квадраты во всех углах поля;

• расчертить все поле в клетку со стороной, равной шагу.

Ветвление и последовательная детализация алгоритма - student2.ru ЕК ЦОР: часть 2, глава 5, § 31. ЦОР №5, 9, 12, 15, 16.

Наши рекомендации