Цель урока: изучить алгоритмическую конструкцию «ветвление», команду ветвления и составные условия.
Ветвление – алгоритмическая конструкция, в которой в зависимости от условия выполняется та или иная последовательность действий.
Полная форма | Сокращенная форма |
if <условие> then команды 1 else команды 2; | if <условие> then команды 1; |
Строка if <условие> then является заголовком ветвления. Эту строку можно прочитать следующим образом: «Если условие верно, то». После слова then записывается последовательность команд 1, которая выполнится, если условие истинно. После слова else записывается последовательность команд 2, которая выполнится, если условие ложно.
В случае сокращенной формы команды ветвления команда 1 исполняется только тогда, когда условие истинно, в противном случае ничего не выполняется.
Ветвление может изображаться на блок-схеме следующим образом:
Полная форма
Сокращенная форма
Если при выполнении или невыполнении условия требуется не одно, а несколько действий, то следует применить составной оператор.
Составной оператор – последовательность команд, заключенная в операторные скобки begin и end
Формат составного оператора:
begin
команда 1;
команда 2;
...............
команда n;
end;
Составное условие — условие, которое образуется из нескольких простых условий, соединенных друг с другом логическими операциями: AND,OR, NOT.
Система условий для исполнителя Робот построена таким образом, что можно обойтись без использования логической операции отрицания. Отрицанием условия FreeFromLeft будет условие notFreeFromLeft. Однако условие «слева не свободно» означает, что там стена. Поэтому вместо условия notFreeFromLeft может быть использовано условие WallFromLeft.
Отрицания для других условий показаны в таблице:
Условие | Отрицание |
WallFromLeft | FreeFromLeft |
WallFromRight | FreeFromRight |
WallFromUp | FreeFromUp |
WallFromDown | FreeFromDown |
CellIsPainted | CellIsFree |
Пример программы
Выполнить проверяемое задание if1 из встроенного задачника. Обстановка исполнителя Робот определяется случайным образом и принимает вид, представленный на изображениях.
uses Robot;
begin
Task('if1');
right;
if FreeFromUp then
begin
up; right; down;
end
else
begin
down; right; up;
end;
paint;
end.
Задания по теме урока
Если необходимо, скачайте и установите среду разработки PascalABC.NET (скачать)
Задание 1. Для заданной обстановки поля Робота определите, какие из составных условий истинны, а какие ложны. Ответьте письменно в рабочей тетради.
Условие | Значение |
WallFromLeft or CellIsPainted | |
WallFromUp and WallFromDown | |
Not CellIsPainted and FreeFromRight | |
Not (WallFromUp or FreeFromRight) | |
WallFromDown and CellIsFree | |
(WallFromUp or WallFromDown) and FreeFromRight |
Задание 2. В системе программирования Pascal ABC выполните проверяемое задание if2 для исполнителя Робот. Стены могут быть независимо слева, справа, сверху и снизу. Обращайте внимание на начальное и конечное положение Робота.
Задание 3. В системе программирования Pascal ABC выполните проверяемое задание if3 для исполнителя Робот. Робот может находиться в любом из углов. Обращайте внимание на начальное и конечное положение Робота.
Задание 4. В системе программирования Pascal ABC выполните проверяемое задание if4 для исполнителя Робот. Стена может быть слева, справа, сверху и снизу. Обращайте внимание на начальное и конечное положение Робота.
Дополнительные задания
Домашнее задание
§ 12 учебного пособия, ответить на вопросы
Форма отправки решений
Форма видна только зарегистрированным пользователям.