Без заголовка
У меня тут случай особый: я иду по курсу для 7-го класса физматшколы, а у меня третьеклассник. Эта ситуация, увы, никем и никогда не была предусмотрена -- я тут первый, и спецкурса у меня для этого случая нет. Приходится подгонять другие курсы (прежде всего математики) под курс алгоритмики.
Программировать культурно -- это когда пишется самая короткая и понятная программа. Вот сравните: эти программы закрашивают шахматный прямоугольник, но одна использует только цикл "раз" (этот вариант предложил дитенка, но так и не смог отладить), а другая использует цикл "для" (предложил я), а третий вариант -- промежуточный (предложил дитенка, чтобы не повторять мой вариант):
---
использовать Робот
алг Главный алгоритм
нач
Нарисовать шахматную доску (5,11)
кон
------
алг Нарисовать шахматную доску (арг цел высота, арг цел длина)
дано высота > 0 и длина > 0
надо | Робот рисует прямоугольник размером "высота"x"длина"
| закрашенный в шахматном порядке
нач
нц int(высота/2) раз
нц int(длина/2) раз
закрасить
вправо
вправо
кц
если int(длина/2)*2<>длина то закрасить все
нц int(длина/2)*2 раз
влево
кц
вниз
нц int(длина/2) раз
вправо
закрасить
вправо
кц
нц int(длина/2)*2 раз
влево
кц
вниз
кц
если int(высота/2)*2<>высота то
нц int(длина/2) раз
закрасить
вправо
вправо
кц
если int(длина/2)*2<>длина то закрасить все
нц длина раз
влево
кц
все
кон
----
алг Нарисовать шахматную доску (арг цел высота, арг цел длина)
дано высота > 0 и длина > 0
надо | Робот рисует прямоугольник размером "высота"x"длина"
| закрашенный в шахматном порядке
нач
цел столбец, ряд
нц для ряд от 1 до высота
нц для столбец от 1 до длина
если (int(ряд/2)*2<>ряд и int(столбец/2)*2<>столбец) или (int(ряд/2)*2=ряд и int(столбец/2)*2=столбец)
то закрасить все
вправо
кц
нц длина раз
влево
кц
вниз
кц
кон
---------
алг Нарисовать шахматную доску (арг цел высота, арг цел длина)
дано высота > 0 и длина > 0
надо | Робот рисует прямоугольник размером "высота"x"длина"
| закрашенный в шахматном порядке
нач
цел столбец, ряд
нц для ряд от 1 до высота
если int(ряд/2)*2<>ряд
то
нц для столбец от 1 до длина
если int(столбец/2)*2<>столбец то закрасить все
вправо
кц
иначе
нц для столбец от 1 до длина
если int(столбец/2)*2=столбец то закрасить все
вправо
кц
все
нц длина раз
влево
кц
вниз
кц
кон
-------
И насчет булевых переменных: вот как раз сегодня вечером их и рассказал -- попалась первая задача с их использованием.