带参数的过程
会编写嵌套的过程后,我们会发现过程越来越简捷,但也有一个弊端,目前所编写的过程来出来的图形都是固定死的,如果能随便控制过程画出图形的大小或者个数等,会更方便和实用。如:前进FD命令,改变N的大小可以画出不同大小的直线。其实过程也可以实现这个功能。例:
To zfx :x
Repeat 4[fd :x rt 90]
End
过程编写成功后,调用zfx,,例:zfx 100,则画出边长为100的正方形。
右图的过程可编写成:
方法一:
To dzf
zfx 50
zfx 100
zfx 200
End
注:1.编写时参数前必须加“:”号。
2.一般用N、M代表个数,L、X代表长度。
练习题:
1.画任意大小的正N边形(先自己尝试编写并调用,注意有两个参数)。
解答:
To dbx :n :x
repeat :n[fd :x rt 360/:n]
End
过程有两个参数,在调用时也必须有两个数字,前后位置不能乱。
带参数的过程
会编写嵌套的过程后,我们会发现过程越来越简捷,但也有一个弊端,目前所编写的过程来出来的图形都是固定死的,如果能随便控制过程画出图形的大小或者个数等,会更方便和实用。如:前进FD命令,改变N的大小可以画出不同大小的直线。其实过程也可以实现这个功能。例:
To zfx :x
Repeat 4[fd :x rt 90]
End
过程编写成功后,调用zfx,,例:zfx 100,则画出边长为100的正方形。
画右图的过程可编写成:
方法一:
To dzf
zfx 50
zfx 100
zfx 200
End
注:1.编写时参数前必须加“:”号。
2.一般用N、M代表个数,L、X代表长度。
练习题:
1.画任意大小的正N边形(先自己尝试编写并调用,注意有两个参数)。
解答:
To dbx :n :x
repeat :n[fd :x rt 360/:n]
End
过程有两个参数,在调用时也必须有两个数字,前后位置不能乱。
2.画轴承,一个子过程加一个主过程搞定。