- •Общие сведения о языках программирования. Язык программирования Лого.
- •1. Компилятор или интерпретатор,
- •2. Простейший текстовый редактор, 3.Отладчик,
- •3) Нельзя ставить рядом два знака арифметических операций, а также нельзя опускать знак умножения. Графические средства языка Лого.
- •Рассмотрим основные команды
- •Системе координат.
- •Построение процедур.
- •Нельзя называть процедуру служебными словами, т.Е. Словами за которыми в Лого закреплено определенное значение (forward и т.Д.).
- •Название должно состоять из одного слова, а в качестве разделителя допустимо использование подчеркивания.
- •Процедуры с параметром.
- •Повторения и циклы.
Повторения и циклы.
При написании программ очень часто приходится многократно повторять одни и те же команды. Например, в процедуре построения квадрата 4 раза повторяются две команды:
forward 50
right 90
Для того, чтобы ускорить процесс написания программ в языке Лого, предусмотрен специальный оператор цикла. Он имеет следующий формат записи:
repeat <выражение> [команды]
где:
<выражение> - это указатель количества необходимых повторений, значением выражения должно быть натуральное число или ноль, иначе будет выдано сообщение об ошибке;
[ - указатель начала цикла;
] – указатель конца цикла.
Прочитав в наборе команд слово repeat, черепашка ищет указание числа повторений. Запомнив его место, черепашка будет выполнять команды, пока не встретит указатель конца цикла. После этого черепашка возвращается к началу цикла и проверяет, выполнила ли она цикл заданное число раз. Если нет, то она продолжает выполнять цикл, в противном случае черепашка начинает выполнять команды, расположенные после квадратных скобок.
Таким образом, черепашка после слова repeat действует до тех пор, пока не выполнит нужную последовательность команд заданное число раз.
Если оператор цикла пустой, т.е. после слова repeat в квадратных скобках ничего не стоит, (тело цикла отсутствует), то черепашка какое-то время не будет реагировать на команды, а будет многократно повторять НИЧЕГО. Например, repeat 1000 []. Иногда это необходимо для обеспечения паузы между выполнением команд.
Можно использовать вложенные циклы, т.е. один цикл находится внутри другого. Количество вложенных циклов может быть любым.
При помощи команды repeat можно составлять довольно небольшие процедуры вычерчивания различных фигур, в частности правильных многоугольников.
to шестиугольник
repeat 6 [forward 40 right 60]
end
to десятиугольник
repeat 10 [forward 10 right 36]
end
Глядя на рассмотренные примеры, можно получить общий вид процедуры позволяющей нарисовать правильный многоугольник:
to многоугольник :к :х
repeat :к [forward :х right 360/:к]
end
где :к – число сторон многоугольника,
:х – длина его стороны
Считая, что при выводе на экран изображения правильного многоугольника, имеющего 360 сторон длиной в 1 шаг, мало чем отличается от изображения окружности, запишем следующую процедуру:
to окружность
repeat 360 [forward 1 right 1]
end
Полученный 360-угольник является наилучшим приближением к окружности, так как черепашка не умеет поворачиваться на углы меньшие одного градуса и перемещаться на расстояния, меньшие одного шага. Длина этой “окружности” 360 шагов, а радиус можно найти по формуле l=2pr (r=57,3).
Получить процедуру вычерчивания окружности большего радиуса можно, увеличивая значение стороны многоугольника, уменьшить же радиус можно, лишь уменьшив число сторон.
Замена команды right на left приводит к процедуре вычерчивания окружности в направлении против часовой стрелки. При составлении процедур построения окружности это не имеет особого значения, но при построении дуг окружностей направление в котором производится вычерчивания, играет вполне определенную роль, так как построение дуг осуществляется более сложным образом. При построении дуг необходимо учитывать, что число повторений зависит от градусной меры дуги.