Слайд 2: Сегодня на уроке мы …
выясним, когда составные условия будут истины или ложны узнаем, что называется ветвлением научимся составлять алгоритмы используя ветвления увидим, что представляет собой конструкция ветвление
Слайд 3: Команда ветвления
Довольно часто на поставленный вопрос человек получает ответ «да» или «нет». В зависимости от ответа он определяет свои действия и выполняет одну или другую команду (группу команд).
Слайд 4: Команда ветвления
Роботы и другие технические устройства тоже могут выполнять различные действия в зависимости от условия. Если условие истинно (на вопрос получен ответ «Да»), то выполняются одни действия, если ложно, то другие.
Слайд 5: Команда ветвления
Алгоритмическая конструкция ветвление обеспечивает выполнение одной или другой последовательности команд в зависимости от истинности или ложности некоторого условия.
Слайд 6: Команда ветвления
Алгоритмическая конструкция ветвление используется в разных сферах человеческой деятельности
Слайд 7: Команда ветвления
В ботанике под ветвлением побегов понимают процесс образования боковых побегов у растений.
Слайд 9: Команда ветвления
При употреблении термина в переносном смысле под ветвление понимают наличие нескольких путей, направлений, сюжетных линий и т.д.
Слайд 10: Команда ветвления
Ветвление используется в дорожной разметке и картографии.
Слайд 11: Команда ветвления
Ветвление может изображаться на блок-схеме следующим образом: Условие Команда(ы) 1 Команда(ы) 2 Да Нет В данной конструкции в прямоугольнике(ах) записываются команды алгоритма. При такой организации алгоритма может выполниться только одна из двух команд (последовательностей команд). Другая последовательность будет проигнорирована
Слайд 12: Команда ветвления
Пример 1 Выбор обуви весной, в зависимости от погоды: Если на улице дождь, то Иначе надеть резиновые сапоги надеть туфли
Слайд 13: Команда ветвления
Пример 1 Выбор обуви весной, в зависимости от погоды: На улице дождь Надеть резиновые сапоги Надеть туфли Да Нет Начало Конец
Слайд 14: Команда ветвления
if < условие > then begin команды 1; end else begin команды 2; end ; Для записи конструкции ветвления в языке программирования Pascal используется команда if. Формат записи команды: Заголовок ветвления
Слайд 15: Команда ветвления
Строка if < условие > then является заголовком ветвления. Эту строку можно прочитать следующим образом: «Если условие верно, то». После слова then записывается последовательность команд 1, которая выполнится, если условие истинно. После слова else записывается последовательность команд 2, которая выполнится, если условие ложно. Слова begin и end ; в данном случае играют роль операторных скобок. Обратите внимание, что перед словом else точка с запятой не ставится.
Слайд 16: Команда ветвления
Ветвление может быть записано в полной или сокращенной форме. Полная форма ветвления предусматривает организацию выполнения двух разных наборов команд, из которых выполняется только один. В сокращенной форме один из наборов команд (чаще по ответу «Нет») опускается. В этом случае, если условие ложное, то никакие действия не выполняются. Условие Команда(ы) 1 Да Нет
Слайд 17: Команда ветвления
Пример 2 Выход на улицу осенью: Если на улице дождь, то взять зонт выйти на улицу Если условие выполнено, то выполняется команда «взять зонт». Если условие ложное, то никаких действий не происходит. Команда «выйти на улицу» выполняется всегда независимо от истинности или ложности условия.
Слайд 18: Команда ветвления
Пример 2 Выход на улицу осенью: На улице дождь Взять зонт Да Нет Начало Конец Выйти на улицу
Слайд 19: Команда ветвления
if < условие > then begin команды 1; end ; На языке программирования Pascal команда запишется следующим образом:
Слайд 20: Команда ветвления
Алгоритм может содержать более одной конструкции ветвления
Слайд 21: Команда ветвления
Пример 3 Имеется три монеты, среди которых одна фальшивая. Известно, что фальшивая монета легче настоящих монет. Требуется найти фальшивую монету за минимальное число взвешиваний на чашечных весах без гирь.
Слайд 22: Команда ветвления
Пример 3 Представим словесное описание алгоритма решения этой задачи. Положить на каждую чашу весов монеты 1 и 2 Если весы в равновесии, то фальшивая монета 3 Иначе Если монета 1 тяжелее, то фальшивая монета 2 Иначе фальшивая монета 1
Слайд 23: Команда ветвления
Задача 1 Решим задачу if1 из встроенного задачника. Робот должен закрасить клетку, которая находится за стеной. В зависимости от обстановки обход стены может осуществляться по-разному. Вначале Робот должен сдвинуться вправо. Если стена снизу, то сверху свободно и можно обойти стену сверху, в противном случае Робот обходит стену снизу. После обхода стены Робот закрашивает клетку. Алгоритм можно записать следующим образом : вправо; Если сверху свободно, то вверх; вправо; вниз; Иначе вниз; вправо; вверх; закрасить. Пример
Слайд 24: Команда ветвления
Задача 1 Решим задачу if1 из встроенного задачника. Пример uses Robot ; begin Task ( 'if1' ); right ; if FreeFromUp then begin up ; right ; down ; end else begin down ; right ; up ; end ; paint ; end.
Слайд 25: Составные условия
В качестве условия в алгоритмах с циклами и ветвлениями используется любое понятное исполнителю этого алгоритма высказывание, которое может быть либо истинным, либо ложным. Все условия, с которыми нам приходилось до сих пор встречаться при составлении алгоритмов для Робота, были простыми высказываниями. Однако для исполнителя Робот можно строить и составные условия.
Слайд 26: Составные условия
Составное условие — условие, которое образуется из нескольких простых условий, соединенных друг с другом логическими операциями.
Слайд 27: Составные условия
Логическая операция Запись в PascalABC Не Not И And Или Or С логическими операциями над высказываниями вы уже знакомы. В PascalABC используются следующие логические операции:
Слайд 29: Команда ветвления
Задача 2 Рассмотрим начальную обстановку поля Робота: Проверим для Робота следующие составные условия: WallFromLeft and CellIsPainted. WallFromUp or WallFromDown. Not (WallFromRight or FreeFromUp).
Слайд 30: Команда ветвления
Задача 2 Первое условие состоит из двух простых: WallFromLeft and CellIsPainted. (условие А ) (условие В ) Условие может быть записано как « А И В ». Это условие верно только тогда, когда верны и А , и В .
Слайд 31: Команда ветвления
Задача 2 Первое условие состоит из двух простых: WallFromLeft and CellIsPainted. (условие А ) (условие В ) Условие А - истинно, условие В - истинно, условие А И В - истинно.
Слайд 32: Команда ветвления
Задача 2 Второе условие может быть записано как « А ИЛИ В » WallFromUp or WallFromDown (условие А ) (условие В ) Это условие верно только тогда, когда верны или А , или В . Условие А - истинно, условие В - ложно, условие А ИЛИ В - истинно.
Слайд 33: Команда ветвления
Задача 2 В третьем условии частица Not отрицает составное условие or (WallFromRight or FreeFromUp) (условие А ) (условие В ) Условие может быть записано как НЕ (« А ИЛИ В »). Для того чтобы определить, истинно или ложно это условие, нужно сначала определить истинность условия « А ИЛИ В ». Not
Слайд 34: Команда ветвления
Задача 2 В третьем условии частица Not отрицает составное условие or (WallFromRight or FreeFromUp) (условие А ) (условие В ) Условие А — ложно, условие В тоже ложно. Поэтому ложным будет и условие « А ИЛИ В », но тогда условие НЕ « А ИЛИ В », будет истинным. Not
Слайд 35: Команда ветвления
Система условий для исполнителя Робот построена таким образом, что можно обойтись без использования логической операции отрицания.
Слайд 36: Команда ветвления
Отрицанием условия FreeFromLeft будет условие not FreeFromLeft. Однако условие « слева не свободно » означает, что там стена. Поэтому вместо условия notFreeFromLeft может быть использовано условие WallFromLeft.