Урок 5. Тема: «Условия в алгоритмическом языке. Команды если и выбор». Цели: сформировать умение записи, исполнения и отладки разветвляющихся алгоритмов, добиться понимания использования их при составлении программ; развивать умение логически мыслить. Ученики должны знать: правила записи команд: если и выбор. Ученики должны уметь: использовать при составлении алгоритмов условный оператор и оператор выбора и записывать их на языке КуМир, владеть методами отладки: по шагам, непрерывно. Метод обучения: объяснительно-иллюстративный и репродуктивный (на этапе объяснения нового материала), репродуктивный с элементами проблемного (этап закрепления материала). Обеспечение урока: 1. система КуМир; 2. интерактивная доска; 3. мультимедийный проектор; 4. карточки-задания (Приложение 4); 1. Объяснение нового материала. Команды если и выбор позволяют при выполнении алгоритма выбрать один из двух или нескольких вариантов действия. Разветвляющийся алгоритм - алгоритм, содержащий хотя бы одно условие, в результате проверки которого Компьютер обеспечивает переход на один из двух возможных шагов. Условный оператор (полный и неполный варианты). Команда ветвления записывается следующим образом: если условие | то серия1 | иначе серия2 все или если условие | то серия1 все Служебные слова если, то, иначе имеют обычный смысл. Слово все означает конец команды. Это слово пишется строго под словом если и соединяется с ним вертикальной чертой. Между то и иначе – в одной или нескольких или нескольких строках – записывается последовательность команд алгоритмического языка (серия 1). Между иначе и все помещается другая последовательность команд (серия 2). Серия 2 вместе со служебным словом иначе может отсутствовать. При выполнении команды если компьютер сначала проверяет условие, записанное между если и то. Если условие соблюдается, то выполняется серия 1, а если нет – то серия 2 (если она есть). Если условие не соблюдается, а серия 2 вместе с иначе отсутствует, то компьютер сразу переходит к выполнению команд, записанных после слова все. Оператор выбор Команда если позволяет выбрать один из двух вариантов возможных действий. Но иногда бывают ситуации, когда выбор нужно сделать из большего числа вариантов. Общий вид команды выбор записывается следующим образом: выбор | при условие 1: серия 1 | при условие 2: серия 2 |… | при условие n: серия n | иначе серия n + 1 все выбор | при условие 1: серия 1 | при условие 2: серия 2 |… | при условие n: серия n все При выполнении команды выбор компьютер последовательно проверяет условия: условие 1, условие 2 и т.д. Как только очередное условие окажется верным, компьютер выполняет соответствующую ему серию и прекращает выполнение команды выбор, переходя к командам, записанным после слова все. Оставшиеся условия не проверяются и серии не выполняются. Выполнение упражнений (Приложение 4). 2. Эксперименты с программой на примере исполнителя Робот. Приложение 4. Эксперименты с программой. Задание 1.(Загрузить файл 4.1.fil) Робот стоит в левом конце горизонтального коридора, нижняя стена которого сплошная, а в верхней имеется несколько выходов. Составить алгоритм, который переводит Робота из клетки А в клетку Б и закрашивает все клетки коридора, из которых есть выход вверх. использовать Робот алг лабиринт нач нц пока снизу стена если сверху свободно то закрасить все вправо кц кон А Б Задание 2. (Загрузить файл 4.2.fil) Робот входит в радиоактивную зону и измеряет уровень радиации. Там где уровень радиации превышает 10, он закрашивает эти участки. Сколько радиоактивных участков обнаружит Робот? использовать Робот алг радиактивное поле нач нц пока справа свободно ряд вниз ряд вверх кц ряд вниз кон алг ряд вниз нач нц пока снизу свободно вниз если радиация>10 то закрасить все кц вправо кон алг ряд вверх нач нц пока сверху свободно вверх если радиация>10 то закрасить все кц кон Задание 3. (Загрузить файл 4.3.fil) Робот стоит в левом углу прямоугольника (А) . Перевести Робота в противоположный угол (Б). использовать Робот алг переход в противоположный угол нач вниз нц пока снизу свободно или справа свободно если снизу свободно то вниз все вправо кц кон А Б Задание 4. (Загрузить файл 4.4.fil) Робот стоит в левой клетке горизонтального коридора, от которого вверх отходят тупики размером в одну клетку. Требуется перевести Робота вправо (в клетку Б), а тупики закрасить. использовать Робот алг нач нц пока снизу стена если сверху свободно то вверх закрасить вниз все вправо кц кон А Б Задание 5. (Загрузить файл 4.5.fil) Составьте алгоритм, выполнив который Робот выйдет из лабиринта (начальное нахождение Робота точка А, конечное точка Б) и закрасит помеченные клетки: использовать Робот алг нач нц пока снизу свободно если слева свободно то влево закрасить вправо все если справа свободно то вправо закрасить влево все вниз кц нц пока слева свободно влево кц нц пока сверху свободно вверх кц нц пока сверху стена или снизу стена влево кц кон А Б Задание 6. (Загрузить файл 4.7.fil) Робот в левом верхнем углу А. Используя команду выбор, переведите Робота в нижний правый угол Б, минуя препятствия. А Б использовать Робот алг нач нц выбор при справа свободно: вправо при снизу свободно: вниз все кц кон 3. Проверка знаний. Тест №2.( Загрузить файл 4.6.fil) Б 4 2 33 1 А 1. Робот находится в точке А и должен переместиться в левый верхний угол. Через какую точку пройдет Робот, если он выполнит следующий алгоритм: нц пока сверху свободно или слева свободно если сверху свободно то вверх иначе влево все кц 1) 2) 3) 4) через 1 через 2 через 3 через 4 2. Предположим, что над коридором и под коридором есть хотя бы по одной клетке без стен. Робот выполняет алгоритм: нц вверх пока не слева свободно и не справа свободно закрась вверх кц Результат выполнения Роботом данного алгоритма: 1) закрашены все клетки коридора 2) Робот в клетке в левом верхнем углу 3) Робот в клетке рядом с верхней границей коридора. 4) закрашены все клетки коридора, находящиеся выше от него, Робот в клетке рядом с верхней границей коридора. 3. При каком исходном положении Робота (к предыдущей задаче) цикл не выполнится ни разу: 1) слева стена 2) справа стена 3) слева свободно или справа свободно 4) слева свободно и справа свободно 4. При каком условии (к предыдущей задаче) произойдет зацикливание программы: 1) сверху свободно 2) слева стена и справа стена и сверху свободно 3) снизу свободно 4) слева стена и справа стена 5. При каком условии Робот может попасть из клетки А в клетку Б из лабиринта: 1) сверху свободно 2) слева стена и справа стена и сверху свободно 3) справа свободно и сверху стена 4) слева стена и справа свободно Б А Домашнее задание. 1. Каждый учащийся должен придумать задачу для исполнителя Робот по данной теме. Далее, учащиеся обмениваются задачами и пишут программы на алгоритмическом языке. 2. Постройте графики функций y(x), заданных командами если а) если x<=-1 то y:=1/x**2 иначе если x<=2 то y:=x*x иначе y:=4 все все Решение б) если x<-5 то y:=-5 иначе если x<0 то y:=x иначе если x<3 то y:=2*x иначе y:=6 все все все