2.  写出求值的一个算法。

算法一:

S1  先求,得到。

S2  将S1得到的结果再乘以,得到;

S3  将S2得到的结果再乘以,得到;

S4  将S3得到的结果再乘以,得到最后的结果。;

[思考]如果一直乘到100,上述算法有何弊端,有通用性吗?

算法二:

S1  设一个变量T←1,

S2  设另一个变量为i←2

S3  T←T×i  { 将T×i的结果仍放在变量T中 }

S4  i←i+1  {i的值增加1}

S5  如果i不大于5,转S3,否则输出T,算法结束。

[比较]  算法二与算法一相比有何优越性?

这个方法可以在条件限制中加入任意的值来,比如也可以用同样的程序来执行。只要修改一下限制条件即可。

流程图:

 

 

 

[思考]将算法二作如下修改,注意与算法二的区别。

算法三:

S1  设一个变量T=1

S2  设另一个变量为i=2

S3  如果i不大于5,T←T×i ,执行S4,否则转到S5

S4  i←i+1,重复S3

S5  输出T

分析:在算法三中,执行S3、S4是有条件的,当i小于等于5时才可以。

流程图:

 

上述循环结构用示意图表示为:

 

[总结]图A中,循环体一直执行,直到条件成立时退出循环,这种循环称为直到型循环。图B中,当条件成立时循环体才执行,这种循环称为当型循环。

[经典范例]

例1  设计一个计算10个数的平均数的算法。

[分析]我们用一个循环依次输入10个数,再用一个变量存放数的累加和,在求出10个数的总和后,除以10,就得到这10个数的平均数。

[解]

[追踪训练]

 0  250246  250254  250260  250264  250270  250272  250276  250282  250284  250290  250296  250300  250302  250306  250312  250314  250320  250324  250326  250330  250332  250336  250338  250340  250341  250342  250344  250345  250346  250348  250350  250354  250356  250360  250362  250366  250372  250374  250380  250384  250386  250390  250396  250402  250404  250410  250414  250416  250422  250426  250432  250440  447090 

违法和不良信息举报电话:027-86699610 举报邮箱:58377363@163.com

精英家教网