Слайд №2 |
 |
Что такое условный оператор Рассмотрим новую задачу для Робота. Надо посадить цветы во всех клетках вдоль стены, где нет прохода, а если в этом месте есть проход, войти в него и обработать грядку между стенок. Предполагаем, что длина стены и число проходов неизвестны.
|
Слайд №3 |
 |
задача z5-3.maz Для решения этой задачи нам надо научить Робота выполнять разные действия в зависимости от окружающей обстановки. Это можно изобразить на схеме |
Слайд №4 |
 |
Словами это можно сформулировать так: если есть проход (условие есть проход выполняется), то выполни одну группу команд, если нет – выполни другие команды. В программе для этой цели используется специальный условный оператор если
|
Слайд №5 |
 |
Решение задачи: |
Слайд №6 |
 |
Таким образом, мы определили два варианта действий Робота — первый работает тогда, когда обнаружен проход, а второй – когда справа стена.
|
Слайд №7 |
 |
Правила использования условного оператора Условный оператор состоит из двух частей; первая часть начинается ключевым словом если или if (от английского “если”), после которого в скобках записывается условие.
Если это условие верно (или истинно), то выполняется группа команд, стоящая ниже в фигурных скобках (блок-если).
|
Слайд №8 |
 |
Вторая часть (блок-иначе) начинается со слова иначе или else (от английского “иначе”) и выполняется в том случае, когда условие в скобках ложно.
Нельзя отделять блок-если и блок-иначе, поскольку они составляют единый оператор.
Условие ставится только в заголовке блока-если.
Правила использования условного оператора |
Слайд №9 |
 |
Блок-иначе может отсутствовать, если он не нужен; в этом случае мы говорим, что условный оператор записан в сокращенной форме.
Чтобы было удобнее разбираться в программе, используют отступы так же, как и в циклах: тело блока-если и блока-иначе сдвигается вправо на 2-3 символа.
Правила использования условного оператора |
Слайд №10 |
 |
Сокращенная форма Немного изменим задачу – пусть теперь Роботу надо обрабатывать только по 1 клетке в начале каждого прохода. |
Слайд №11 |
 |
Таким образом, в блоке-иначе не осталось ни одной команды – если прохода нет, ничего делать не надо. Поэтому можно использовать сокращенную форму условного оператора – без второй части:
|
Слайд №12 |
 |
Сложные условия Элективный курс
«Алгоритмы и исполнители»
8 класс |
Слайд №13 |
 |
Рассмотрим еще одну задачу для Робота: Ему нужно пройти через коридор с проходами и придти на Базу. Сложность состоит в том, что в обеих стенках есть проходы, сколько их – неизвестно.
|
Слайд №14 |
 |
Мы замечаем, что внутри коридора нет такой клетки, у которой слева и справа – свободные клетки.
|
Слайд №15 |
 |
Значит, Роботу надо остановиться, когда слева и справа – свободно, это означает конец коридора. |
Слайд №16 |
 |
Теперь можно сформулировать алгоритм прохода через весь коридор на русском языке – иди вперед, пока слева стена ИЛИ справа стена |
Слайд №17 |
 |
Сложное условие В этом словесном алгоритмах мы объединяли логические команды Робота с помощью операции ИЛИ, получив из двух простых условий одно сложное условие. |
Слайд №18 |
 |
То же самое можно делать и в программе: |
Слайд №19 |
 |
Сложные условия Сложное условие – это условие, состоящее из простых условий и логических операций:
НЕ отрицание
И логическое умножение
ИЛИ логическое сложение
|
Слайд №20 |
 |
Правила использования сложных условий Простейшими условиями являются логические команды исполнителей (например, слева_стена) и логические отношения между значениями |
Слайд №21 |
 |
В условии “равно” ставится два знака равенства; чтобы не запутаться, надо запомнить, что если переменная изменяется (оператор присваивания), то надо ставить один знак “=“, а если не меняется (логическое отношение), то два.
Правила использования сложных условий |
Слайд №22 |
 |
Сложные условия составляются из нескольких простых; простые условия объединяются с помощью логических операций.
Операция «И» требует одновременного выполнения двух условий, например:
сверху_стена И снизу_стена
Правила использования сложных условий |
Слайд №23 |
 |
Операция «ИЛИ» обозначается требует выполнения хотя бы одного из двух условий (или обоих вместе), например:
вверху_стена ИЛИ снизу_стена
Правила использования сложных условий |
Слайд №24 |
 |
Иногда удобно использовать логическую операцию “НЕ”, которая отрицает значение логического выражения, например условия
a = a) означают одно и то же.
Правила использования сложных условий |
Слайд №25 |
 |
Устанавливается такой приоритет (старшинство) логических отношений и операций:
1) сначала выполняются операции в скобках, затем …
2) операции “НЕ”, затем …
3) логические отношения (>, =, <=, ==, !=), затем …
4) операции “И”
5) и в последнюю очередь
операции “ИЛИ”.
Правила использования сложных условий |
Слайд №26 |
 |
Для изменения порядка выполнения операций используются скобки. Правила использования сложных условий |
Слайд №27 |
 |
Используемые источники информации
1. Сайт Константина Полякова. «Исполнители». Изучаем алгоритмы http://kpolyakov.narod.ru/school/robots/robots.htm
Методическая служба «Бином». Управление исполнителем Робот http://metodist.lbz.ru/authors/informatika/3/flash/gl3/3.php
3. Шаблон для данной презентации взят с сайта http://pedsovet.su/load/321-1-0-37562
|