Процедуры с входным параметром



Можно заметить, что с помощью процедур создавались фигуры одного и того же размера, даже сложные фигуры со-стояли из одинаковых фигур. А как же быть, если для рисования фигуры (см. рис. 7) придется писать три различных процедуры, в которых различие состоит только в числовых значениях, а сам текст одинаков.

При рисовании этой фигуры прописывается следующее:

В Поле закладок
(раздел Процедуры)
В поле команд
это
три_окружности
повтори 360 [вп 1 пр 1]
повтори 360 [вп 1 пр 2]
повтори 360 [вп 1 пр 3]
пр 90
конец
повтори 4[три_окружности]


Обратите внимание, что в программе есть практически три одинаковые строчки. Чтобы значительно сократить время написания программы, можно использовать процедуру с входным параметром. Перепишите текст процедуры три_окружности:
это три _окружности :угол повтори 360 [вп 1 пр :угол] пр 90 конец

Здесь входным параметром является угол поворота, который меняется от 1 до 3. Входной параметр указывается через пробел и двоеточие в первой строке после названия программы

и   в том месте, где должно прописываться значение угла. Теперь, вызывая процедуру три_окружности, необходимо указать градусную меру угла поворота черепашки.
Теперь в поле команд достаточно написать повтори 4 [три_

окружности 1, три_окружности 2, три_окружности 3].

Практическое задание № 4. Рисование сложных фигур

с помощью процедур с входным параметрами

Шаг 1. Открой новый проект, добавь черепашку. Настрой перо. 
Шаг 2. Нарисуем следующую сложную фигуру (см. рис. 10).




Рис. 10

Давайте поймем, как должна двигаться черепашка. Достроим эту фигуру следующим образом:

Итак, черепашка рисует дугу большой окружности (от точки 1 до 2), затем две дуги одинаковых маленьких окружностей (от 2 до 3 и от 3 до 1), диаметр которых вдвое меньше диаметра большой (рис. 11).
 

Рис. 11

Шаг 3. Начнем с процедуры рисования большой дуги. Напишите в соответствующих полях следующее:



В поле закладок
(раздел Процедуры)
В поле команд
это большая_дуга :A
повтори 180 [вп :А пр 1]
конец
большая_дуга 1

Черепашка должна нарисовать большую дугу (см. рис. 12):



Рис. 12

Шаг 4. Далее рисуем маленькую дугу
В поле закладок
(раздел Процедуры)
В поле команд
это маленькая_дуга :В
повтори 180 [вп :В пр 1]
конец
маленькая_дуга 2

Шаг 5. Рисуем еще одну маленькую дугу с поворотами влево.
В поле закладок
(раздел Процедуры)
В поле команд
это маленькая_дуга 2:С
повтори 180 [вп :С пр 1]
конец
маленькая_дуга 2 2


Шаг 6. Напишем программу для рисования всей этой фигуры (назовем ее «лепесток»)



Шаг 7. Самостоятельно нарисуйте из 8 лепестков цветок,
В поле закладок
(раздел Процедуры)
В поле команд
это лепесток :А :В :С
большая дуга :А маленькая
дуга :В маленькая дуга_2 :С
конец
лепесток 2 1 1
изображенный на картинке (см. рис. 13):
 

Рис. 13

1 комментарий: