Цель урока: изучить использование условий, понятие условия, цикл с предусловием.
Человек способен понимать условия, сформулированные в произвольной форме. Но для того чтобы Робот или другой исполнитель мог принимать решения, нужно «научить» его «понимать» условия.
Условием для исполнителя является понятное исполнителю высказывание, которое может быть истинным (соблюдаться) либо быть ложным (не соблюдаться).
Система условий исполнителя Робот
| wall_left() | Истинно, если слева от Робота стена |
| wall_right() | Истинно, если справа от Робота стена |
| wall_up() | Истинно, если сверху от Робота стена |
| wall_down() | Истинно, если снизу от Робота стена |
| cell_is_filled() | Истинно, если ячейка, в которой находится Робот, закрашена |

Цикл с предусловием
Цикл с параметром используется при составлении алгоритма в том случае, когда заранее известно количество повторений. Однако часто до выполнения цикла количество повторений не известно.
Алгоритмическая конструкция цикл с предусловием (цикл «пока») — способ организации цикла, при котором количество выполнений команд тела цикла зависит от истинности или ложности условия цикла.
Цикл с предусловием используется в том случае, когда количество повторений тела цикла заранее не известно, но известно условие продолжения работы.
Условие цикла определяет, как долго будет выполняться цикл. Пока условие истинно, выполняются команды, составляющие тело цикла. Цикл прекращает выполняться тогда, когда условие становится ложным. Цикл с предусловием имеет такое название, поскольку проверка условия предваряет выполнение команд тела цикла.
Алгоритмическая конструкция цикла с предусловием может изображаться на блок-схеме следующим образом:

В данной конструкции в прямоугольнике(-ах) записываются повторяющиеся команды алгоритма (тело цикла), которые совершаются, пока верно условие (Да). При этом после каждого выполнения команд тела цикла происходит проверка, истинно ли условие. Как только условие станет ложным (Нет), цикл завершается.
Если условие сразу ложно, то цикл не выполнится ни разу. Если условие в цикле будет всегда истинно (всегда Да), то такой цикл не сможет завершиться. Возникшую ситуацию называют зацикливанием.
Для записи цикла с предусловием используется команда while. Формат записи команды следующий:
Строка while <условие>: является заголовком цикла. Эту строку можно прочитать следующим образом: «Пока верно условие, делай».

Пример 1. Изучите программу для решения следующей задачи. Робот находится в верхнем левом углу поля. Снизу от Робота вдоль всего поля расположена горизонтальная линия с проходом в одну нижнюю клетку. Составить алгоритм, выполнив который, Робот сможет пройти через проход и закрасить клетку. Расположение прохода заранее неизвестно.
from pyrob.api import *
@task
def prim_14_5():
while wall_down():
move_right()
move_down()
fill_cell()
run_tasks()


Задания по теме урока
Ссылка на установщик программы (скачать)
Портабельная версия (скачать)
Архив распаковать, запустить файл thonny.exe
Задание 1. В системе программирования Thonny выполните задание у12_з1.py. Составьте программу для закраски клети поля Робота по образцу. Размер поля заранее неизвестен. Робот должен найти незакрашенную клетку и закрасить её.

Задание 2. В системе программирования Thonny выполните задание у12_з2.py. Составьте программу для закраски клети поля Робота по образцу. Размер поля заранее неизвестен. Робот должен найти незакрашенную клетку и закрасить её.

Задание 3. В системе программирования Thonny выполните задание у12_з3.py. Составьте программу для закраски клети поля Робота по образцу. Размер поля заранее неизвестен.

Задание 4. В системе программирования Thonny выполните задание у12_з4.py. Составьте программу для закраски клети поля Робота по образцу. Размер поля заранее неизвестен.

Задание 5. В системе программирования Thonny выполните задание у12_з5.py. Составьте программу для закраски клети поля Робота по образцу. Размер поля заранее неизвестен.


Домашнее задание
§ 14 учебного пособия, ответить на вопросы
Форма отправки решений
Форма видна только зарегистрированным пользователям.
