APP下载

简单容易的倒立三角形

2021-08-06陈新龙

电脑报 2021年29期
关键词:图章嵌套顶层

陈新龙

除了正常下围棋,我还喜欢用围棋子在棋盘上摆出各种图形,棋虽然没学明白,各种各样的图形倒是摆出了不少。今天我们用Scratch和VB摆出一个简单的造型。

在棋盘上我们用棋子摆出一个倒三角形,从下往上数有六层,第一层数量(2×1-1=1)个,第二层(2×2-1=3)个……第六层(2×6-1=11)个,如果我们接着往上摆放棋子那么第n层(2×n-1)个。我们选择容易理解的算法在VB和Scratch中编写程序,通过对比两个不同语言的代码来看一下两者之间的不同之处。

1.Scratch编程

首先我们要确定绘制的层数,通过用户输入确定层数,如果我们想画6层,那么最顶层数量就是(2×6-1=11)个,确定了最顶层的个数,也就找到了解题的突破口。接下来我们从最顶层的最左侧开始,通过画笔图章指令印出一个小球,重复执行11次;向右移动X=30步,这里需要注意的是,移动距离一定要大于超出小球的直径,保证小球不能重叠。小球的直径可以通过角色的大小查看。顶层画完之后,我们要去画下一层,难度就是在于如何确定下一层的开始位置。目前小球停在第一行末尾的位置上,在画第二层时,我们要通过计算求出小球移回的距离,在画顶层时小球总共向右移动了10次,每次移动30步,现在小球应向左移动9个30步就可到达下一层起始位置。同样道理还要计算向下移动小球的距离,让Y的坐标减小30即可,这样小球可到达下一层的起始位置。重复控制小球向右移动通过图章复制留下下一层的印记。程序主体使用了嵌套双重循环来完成。

2.VB编程

VB代码更加简洁,首先询问用户需要输入的层数,也是使用嵌套双重循环方法,第一层(i)代表共有多少层,层数倒叙排列输出(step-1),第二层(j)代表每行的个数(2*i-1)。程序关键点也是换行过程,先要确定起始位置,相对Scratch就更简单了,直接使用Print Tab方法就可以了,需要空几格使用数学公式(2*n-i)便可求出,确定每行小球的起始位置,并且对每行小球的个数进行输出。

大家在学会了绘制倒立三角形的图案后,还可以在此基础上去完成一些更加漂亮的图案,比如爱心或者五角星等等……通過对比两种语言的代码,我们可以了解两种代码的特点,VB的代码更加简洁,Scratch的代码更容易理解。

猜你喜欢

图章嵌套顶层
从顶层设计到落地实施
光荣图章
顶层住户的无奈——渗漏篇
嵌套交易如何实现逆市盈利
多参数最大、最小值嵌套问题的研究
蚊子
图章
巧用嵌套交易实现逆市盈利
表格在网页中的灵活运用
国企改革顶层设计