欢迎光临散文网 会员登陆 & 注册

编写简单的图案打印程序时应该注意的几个问题

2022-04-17 21:51 作者:我爱计算机科学  | 我要投稿

初学编程,往往会对于程序中出现的i,j,k等变量感到头疼,可能是觉得这些变量代表的含义无法准确把握,因此就无法真正理解相应的程序,也就更没有办法自己来把这样的程序写出来。这里以一个例子来说明。

比如要打印下面的简单图案,我们要考虑哪些因素呢?

图1

我们注意到,第一行有4个空格,1个星号。

第二行有3个空格,3个星号。

第三行有2个空格,5个星号。

.。。。。。。。。。

所以我们可以得出规律:每一行的空格数逐行减1,每行的星号数按奇数2n-1进行增加。

接下来就是要实现这种想法。计算机编程里面都是通过变量来控制。

空格数是一个变化的量,这里用j来控制。我们还注意到,每行的空格数还和所在的这行的行号相关联,比如,图案一共有5行,第一行的空格数是4个,好像是5-1等于4;第二行是3个空格,是5-2=3个;以此类推,每行的空格数应该等于5减去所在的行号5-i。

还有一个变化的量是星号数。第一行的1个,第二行是3个,接着是5个,7个。。。。。。,因此,行数和星号数的关系应该是行号的2倍减1(2*i-1)。

知道了这些关系以后,这个程序就可以写出来了:

图2

这个程序实现的思想就是:

第一步:因为这个图案一共5行,而且图案的打印是逐行进行的,所以首先用一共变量i来控制行号的变化。

第二步:因为每行的空格数和星号数都是变化的,所以都要用变量来控制。

第三步:考虑到空格数和星号数都与所在的行号有关联,所以图2中用同一个变量j进行控制。当然也可以用不同的变量。

程序写好以后,我们看到,这个程序执行的时候,首先外层循环的行号i固定为1,接下来就在第一行先打印出4个空格,再打印出一个星号,然后换行,准备第二行的打印。

接着行号i变成2,于是在第二行打印3个空格,3个星号。如此循环而已。


所以类似程序的编写思想应该是:

1:先观察这个图形有多少行,并用一个变量来控制行号的变化。

2:再考察要打印的图形中的图案(空格、星号等)与行数的关联,并用相应的变量进 行控制。

按照这种思路,编写类似的程序应该就不会太困难了。


编写简单的图案打印程序时应该注意的几个问题的评论 (共 条)

分享到微博请遵守国家法律