Большая
просьба! Так как название моего сайта сложное и непонятное, добавьте,
пожалуйста, мой адрес в "Избранное"
- а то вдруг забудете! :)
Проект
Паркетчик:
Номер пятый:
Теория.
*Если то* обычно употребляется в циклах или вместе с
циклами, когда паркетчик не знает точных размеров поля, или точного расположения
плиток на поле.
иначе {}(кратко *иначе*) - эиспользуется когда есть выбор, и всегда стоит в
сочетании с *Если то*, так как те действия которые находятся в *иначе*
выполняются, если не выполняется условие *Если то*.
Практика.
Сегодня мы научим паркетчика разбираться, какая перед ним
колонна, стоящая или лежащая (естественно нужно сделать для этого специальное
поле в которое входят несколько вертикально стоящих колонн (одна красная плитка
над другой), и несколько лежащих колонн (одна плитка справа от другой)).
Он будет должен пробежать по низу поля и перекрасить в зеленый цвет только
стоящую колонну.
Как вы понимаете все действия будут происходить в цикле *Делать пока*. И как вы
естественно понимаете у нас в цикле будет сочетание действия передвижения
вправо, и ветвления (*Если то*) в котором и находится основная часть программы.
Как паркетчику определить стоит ли эта колонна?
Ему нужно просто сделать шаг вверх и проверить есть ли там плитка. Если есть то
снять обе плитки и положить на их место зеленые, а если нет то спустится вниз и
продолжить движение.
Коды:
Перекрашивание стоящих колонн:
Программа {
Делать пока ( не справа стена ) {
Шаг вправо;
Если ( к ) то {
Шаг вверх;
Если ( к ) то {
Снять плитку;
Положить( з );
Шаг вниз;
Снять плитку;
Положить( з );
} иначе {
Шаг вниз;
Шаг вправо;
};
}
};
}
Перекрашивание лежащих колонн:
Программа {
Делать пока ( не справа стена ) {
Шаг вправо;
Если ( к ) то {
Шаг вверх;
Если ( не к ) то {
Шаг вниз;
Снять плитку;
Положить( з );
Шаг вправо;
Снять плитку;
Положить( з );
} иначе {
Шаг вниз;
Шаг вправо;
};
}
};
}