Практическая работа по Информатике «Исполнитель Чертежник. Использование вспомогательных алгоритмов с аргументами»

Практическая работа «Исполнитель Чертежник. Использование вспомогательных алгоритмов с аргументами»

Задание А. Нужный нам вспомогательный алгоритм (который рисует квадрат определенной длины) можно записать так:

алг квадрат(арг вещ а)
нач
. опустить перо
. сместиться на вектор(0,а)
. сместиться на вектор(а,0)
. сместиться на вектор(0,-а)
. сместиться на вектор(-а,0)
. поднять перо
кон

Запись «алг квадрат(арг вещ а)» означает, что у алгоритма «квадрат» есть один аргумент (арг) «а», который может быть произвольным вещественным (вещ) числом. Для того чтобы вызвать этот алгоритм нужно написать, например, «квадрат(2)» - получим квадрат со стороной 2 или «квадрат(3)» - получим квадрат со стороной 3 и т. п. Какое-то конкретное значение «а» получит только во время работы программы во время соответствующего вспомогательного алгоритма. И везде вместо «а» будет подставлено компьютером это число. 



Программа для рисования это рисунка может быть такой:

использовать Чертежник
алг квадраты
нач
. сместиться в точку(1,1)
. квадрат(2)
. сместиться в точку(4,1)
. квадрат(3)
. сместиться в точку(8,1)
. квадрат(4)
. сместиться в точку(13,1)
. квадрат(5)
. сместиться в точку(0,0)
кон
алг квадрат(арг вещ а)
нач
. опустить перо
. сместиться на вектор(0,а)
. сместиться на вектор(а,0)
. сместиться на вектор(0,-а)
. сместиться на вектор(-а,0)
. поднять перо
кон

Задание Б.   Научим Чертежника новым командам. Одна из команд пусть называется «линия(арг вещ x1,y1,x2,y2)»  – для рисования линии из точки (x1,y1) в точку (x2,y2).



Вспомогательный алгоритм может быть таким:

алг линия(арг вещ x1, y1, x2, y2)
нач
. сместиться в точку(x1,y1)
. опустить перо
. сместиться в точку(x2,y2)
. поднять перо
кон

Задание В. Вторая команда пусть называется «прямоугольник(арг вещ x1,y1,x2,y2)» для рисования прямоугольника. Точка (x1,y1) одна точка диагонали АС прямоугольника, точка (x2,y2) – противоположная. Перед записью алгоритма нужно понять чему равны координаты двух других точек.



Вспомогательный алгоритм может быть таким:

алг прямоугольник(арг вещ x1, y1, x2, y2)
нач
. сместиться в точку(x1,y1)
. опустить перо
. сместиться в точку(x2,y1)
. сместиться в точку(x2,y2)
. сместиться в точку(x1,y2)
. сместиться в точку(x1,y1)
. поднять перо
кон

Задание Г. Теперь используя эти команды нарисуем домик:



использовать Чертежник
алг домик
нач
. прямоугольник(2,1,8,5)
. прямоугольник(3,2,5,4)
. прямоугольник(6,1,7,4)
. линия(1,4,5,8)
. линия(5,8,9,4)
кон
алг линия(арг вещ x1, y1, x2, y2)
нач
. сместиться в точку(x1,y1)
. опустить перо
. сместиться в точку(x2,y2)
. поднять перо
кон
алг прямоугольник(арг вещ x1, y1, x2, y2)
нач
. сместиться в точку(x1,y1)
. опустить перо
. сместиться в точку(x2,y1)
. сместиться в точку(x2,y2)
. сместиться в точку(x1,y2)
. сместиться в точку(x1,y1)
. поднять перо
кон

Примечание: естественно, одновременно с этими командами мы можем использовать и стандартные команды чертежника (сместиться в точку, сместиться на вектор …).

Задание Д . Нарисуйте самостоятельно, что нарисует Чертежник выполнив алгоритм:

использовать Чертежник
алг спираль
нач
. сместиться в точку(3,3)
. опустить перо
. виток(1); виток(3); виток(5); виток(7); виток (9)
. поднять перо 
кон
алг виток(арг вещ а)
нач
. сместиться на вектор(а, 0)
. сместиться на вектор(0, -а)
. сместиться на вектор(-а-1,0)
. сместиться на вектор(0, а+1)
кон.