Пятница, 03.05.2024, 07:33
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
Меню сайта
Статистика
Конкурс!
конкурс сайтов
 п 31. Ветвление и последовательная детализация
§31. Ветвление и последовательная детализация алгоритма


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

♦ команда ветвления;
♦ неполная форма ветвления;
♦ пример задачи с двухшаговой детализацией.


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

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

если <условие>
      то    <серия 1>
      иначе  <серия 2>
кв

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

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

Блок-схема полного ветвления

Такое ветвление называется полным.


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

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

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

Блок-схема неполного ветвления

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

если <условие>
      то    <серия>
кв

Здесь <серия> выполняется, если <условие> справедливо.

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


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

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

Результат выполнения программы "Орнамент"

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

программа Орнамент
нач
           сделай РЯД
           поворот
           сделай РЯД
           поворот
           сделай РЯД
           поворот
           сделай РЯД
кон

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

Процедуры РЯД и КВАДРАТ

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

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

Блок-схема процедуры РЯД

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

Программа

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

СКИ графического исполнителя


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

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

если <условие>
        то <серия 1>
        иначе <серия 2>
  кв

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

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

если <условие>
        то <серия>
кв

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

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


Вопросы и задания

1. Что такое пошаговая детализация?
2. Из каких команд могут состоять вспомогательные алгоритмы последнего уровня детализации?
3. Какой формат имеет команда ветвления? Какие действия исполнителя она определяет?
4. Чем отличается полное ветвление от неполного?
5. Путем пошаговой детализации составьте программы управления графическим исполнителем для решения следующих задач:
• расчертить все поле горизонтальными пунктирными линиями;
• нарисовать квадраты во всех четырех углах поля;
• расчертить все поле в клетку со стороной, равной шагу.

Тренировочный тест к главе 5 "Управление и алгоритмы" Самоконтроль по теме "Управление и алгоритмы". Подготовка к итоговому тестированию.


  Итоговый тест к главе 5 "Управление и алгоритмы"  Многовариантная генерация тестов для итогового контроля по теме "Управление и алгоритмы"


Copyright MyCorp © 2024
ИКТ 2014
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Бесплатный хостинг uCoz