课件10张PPT。第九课 画彩色链子下图是由彩色的“珠子”组成的“链子”,
如何编写程序画出下图?主程序和子程序r=10
x=100
y=100
For x=x To 400 Step 3*r
ball()
EndFor
Sub ball
GraphicsWindow.BrushColor=GraphicsWindow.GetRandomColor()
GraphicsWindow.FillEllipse(x,y,2*r,2*r)
EndSub在画“链子”过程中,需要反复地“画彩色的珠子”,在一个程序中多次重写相同的命令是不合理的,在这种情况下,我们把“画彩色的珠子”命令组写成一个子程序,并给子程序取名为“ball”,然后在需要“画彩色的珠子”的时候直接写“ball()”来代替,即调用子程序。【格式】
Sub 子程序名
<命令组>
EndSub
【作用】
将程序中反复出现的<命令组>写成子程序,可以简化主程序,增强主程序的可读性。子程序可以在主程序的任意位置被调用。【格式】
……
子程序名()
……
【作用】
执行子程序中的所有命令。定义子程序的命令格式如下:在主程序中调用子程序的方法如下:试一试1、将“画彩色的链子”程序输入电脑,运行程序,每次画的链子相同吗?为什么?
2、能否用“while……endwhile”语句改写程序?
2、修改程序,画出下图的长方形“链子”。r=10
x=100
y=100
For x=x To 400 Step 3*r
ball()
EndFor
For y=y To 300 Step 3*r
ball()
EndFor
For x=x To 100 Step -3*r
ball()
EndFor
For y=y To 100 Step -3*r
ball()
EndFor
Sub ball
GraphicsWindow.BrushColor=GraphicsWindow.GetRandomColor()
GraphicsWindow .FillEllipse(x,y,2*r,2*r)
EndSub
画彩色珠子串现在我们用线把珠子串起来,如下图所示:假如“珠子”的半径是r,两个“珠子”之间的距离也是r。画彩色珠子串r=10
x=100
y=100
For x=x To 400 Step 3*r
GraphicsWindow.DrawLine(x-r,y+r,x,y+r)
ball()
EndFor
GraphicsWindow.DrawLine(x-r,y+r,x,y+r)
Sub ball
GraphicsWindow.BrushColor=GraphicsWindow.GetRandomColor()
GraphicsWindow.FillEllipse(x,y,2*r,2*r)
EndSub修改程序,画出如下图所示的长方形“珠串”。r=10
y=100
For x=100 To 400 Step 3*r
GraphicsWindow.DrawLine(x-r,y+r,x,y+r)
ball()
EndFor
GraphicsWindow.DrawLine(x-r,y+r,x,y +r)
For y=100 To 300 Step 3*r
ball()
GraphicsWindow.DrawLine(x+r,y+2*r,x+r,y+3*r)
EndFor
For x=x To 100 Step -3*r
ball()
GraphicsWindow.DrawLine(x-r,y+r,x,y+r)
EndFor
For y=y To 100 Step -3*r
ball()
If y>100 Then
GraphicsWindow.DrawLine(x+r,y,x+r,y-r)
EndIf
EndFor
Sub ball
GraphicsWindow.BrushColor=GraphicsWindow.GetRandomColor()
GraphicsWindow .FillEllipse(x,y,2*r,2*r)
EndSub