Вспомогательные алгоритмы с аргументами Препода ватель Гординская А.П. Тверская гимназия 10
Команды абсолютного и относительного смещения ( х и у отсчитывается от начала координат 0,0 ) сместиться в точку (х, у) сместиться на вектор (а, в) (а и в отсчитывается от начала вектора ) команда абсолютного смещения команда относительного смещения а в х у
Заголовок ВА с аргументами алг имя (вид тип имя арг 1, имя арг 2, …) Описание величин арг вещ или цел Дает пользователь: а, а в, а 2, в 4, а вс и т.д.
Вид величины арг – объявление величин-аргументов (входных или исходных данных) – показывает вид переменных т. е., как величина используется в алгоритме Тип величины Тип переменной – область значений аргументов вещ - описание величины вещественного (действительного) типа (Пример: 2.5, 6.9, 6.0, 7.9, 3.0) цел - описание величины целого типа (Пример: 2, 0, 8, 9).
Вызов ВА с аргументами Точное имя ВА (числовые значения аргументов в соответствии с их типами через запятую в том же порядке как и в заголовке ВА) Пример. Заголовок: алг Пр 1(арг вещ а, в, с, цел н, к) Вызовы: Пр 1(0, 4, 8.2, 8, 0) ; Пр 1(4, 2, 5, 3, 9) ; Пр 1(6, 7, 4.5, 0, 7)
Пример использования ВА с аргументами для исполнителя Чертежник алг деталь нач ро(7, 2, 3); ро( 7, 3, 2); ро( 7, 4, 1) кон алг ро (арг вещ х, у, а) нач см в точку (х, у); опустить перо см на вектор (2*а, а); см на вектор(-2*а, а) см на вектор (-2*а, -а); см на вектор(2*а, -а) поднять перо кон Гла вный алгоритм Вспомогательный алгоритм Вызов ВА Заголовок ВА
Использование ВА с аргументами при построении изображения Используя метод последовательного уточнения и проанализирова в данное изображение можно выделить стандартную деталь – ромб, начало его рисования, параметры и количество. Отсюда следует, чтобы получить данный рисунок надо записать четыре вызова ВА в основном алгоритме и один ВА для рисования ромба с тремя параметрами х, у, а Х У у х а 2 а алг деталь нач ро(2, 2, 2); ро( 0, 7, 3); ро( 4, 7, 1); ро( 9, 4, 2) кон алг ро (арг вещ х, у, а) нач см в точку (х, у); опустить перо см на вектор (2*а, а); см на вектор(2*а, -а) см на вектор (-2*а, -а); см на вектор(-2*а, а) поднять перо кон