Просмотр содержимого документа
«Материалы для урока "Алгоритмы с ветвлениями"»
Алгоритмы с ветвлениями
Ветвление - одна из трех (наряду с линейным выполнением команд и циклом) базовых конструкций алгоритмов.

Все языки программирования имеют специальные операторы (команды) для тoгo, чтобы прогpaммa могла разветвляться в зависимости от тoгo, выполняется указанное условие или нет.
Оператор ветвления называется условным оператором.
В категории блоков контроля есть 3 условных оператора: 2 С-блока и 1 стек(Рис. 1):



Рис. 1. Условные операторы
Блоки ветвления применяется, когда выполнение некоторого набора команд зависит от выполнения заданного условия.
Мы уже знакомы с логическими данными и выражениями. Именно они используются для организации ветвлений.
Условный оператор разрешает выполнение определенных команд при условии, что некоторое логическое выражение (условие) принимает значение истина (true).
В большинстве языков программирования условный оператор начинается с ключевого слова ЕСЛИ (англ. if).
Условный оператор с одной ветвью - неполная форма

Рис.2. Условный оператор с одной ветвью
При выполнении этого оператора вычисляется условие, и если оно истинно, то выполняются команды, находящиеся внутри с-блока, иначе выполнение программы продолжается со следующего за условным оператором блока (Рис. 3).

Рис. 3. Пример простого ветвления в Скретче
Мини-задача1
Запустите Скретч. В категории команд управления найдите с-блок ЕСЛИ.
Полное ветвление
Условный оператор с двумя ветвями - полная форма

Рис. 4. Условный оператор с двумя ветвями
При выполнении этого оператора вычисляется условие, и если оно истинно, то выполняются команды, которые находятся внутри ветви ЕСЛИ, в противном случае выполняются блоки внутри ветки ИЛИ (рис. 5).

Рис.5. Реализация полного ветвления
В Скретч нет ограничений на вложение условных операторов друг в друга. Можно собрать ветвление любой сложности (рис. 6).

Рис.6. Блоки условных операторов можно вкладывать друг в друга
Условная пауза
|  Рис.7. Блок-схема реализации условного оператора паузы В родственной группе блоков ветвления есть стек – ждать до. У него, как и у других блоков ветвления, имеется окно для логического условия. С другой стороны, он действует как пауза , продолжительность которой задается не секундами, а наступлением логического условия. Блок прерывает выполнение скрипта до наступления заданного условия (Рис.8), как в жизни, - чтобы зайти в дом, нужен ключ от дверного замка.  Рис. 8. Механизм действия блока ждать пока
Этот блок применяют, когда в алгоритме встречается: |
Алгоритм нахождения большего из двух заданных чисел
| Вернемся к алгоритму нахождения большего из двух заданных чисел А и В, который мы рассматривали в первой главе, и соберем программу для его реализации (Рис.9). Создайте две переменные А и В. Соберите скрипт по образцу (Рис. 9).   Рис.9. Реализация алгоритма нахождения большего из двух заданных чисел с использованием неполного ветвления |
Использование полного и неполного ветвления
| Обязательно вычитать из числа А число В? Нет. Использование арифметического оператора оправдано, если нужно не только сравнить величины, но и выяснить, насколько они отличаются друг от друга. Для сравнения величин можно воспользоваться логическими блоками непосредственно. 1. Упростите логические условия в блоках ЕСЛИ. 2. Упростите программу, добавив в нее полный условный оператор. 3. Сохраните проект с внесенными изменениями.
  Рис. 10. Реализация алгоритма нахождения большего из двух заданных чисел с использованием полного и неполного ветвления |
Угадай число
| Игрок должен угадать случайное число, "задуманное" компьютером, в диапазоне от 0 до 100.  Рис.11. Алгоритм игры «Угадай число» Начните новый проект. Создайте глобальную переменную число. Соберите скрипт игры (рис. 12.)  Рис.12. Скрипт игры "Угадай число" |