设为主页
加入收藏夹
    试教通讯    课程·教材·教法    中小学教材教学    人教网期刊    出版参考
当前位置:首页>>人教期刊>>试教通讯>>高中数学>>普通高中2006/2(总第16期)数学(B版)专辑(一)
 

山东省德州市德州二中  秦玲玲

在算法程序语言中,一般通过循环语句来处理算法中的循环结构,Scilab语言中提供了两种循环语句:for循环和while循环,对于已知循环次数的循环问题,这两种循环语句都可以用;而对于不知道循环次数的循环问题,一般都用while循环。下面举例说明这两种语句的应用。

一、格式

(1)for循环:

     for 循环变量=初值:步长:终值

循环体

end

(2) while循环:

      while 表达式

        循环体

      end

二、应用举例

例1  求1×2+2×3+3×4+…+99×100

分析:本题为累积求和问题,而且循环次数已知,因此两种循环语句都可以使用。

解法1 (for循环)

s=0;

for i=1:1:99

s=s+i*(i+1);

end

print(%io(2),s)

解法2 (while循环)

s=0;i=1;

while i<100

s=s+i*(i+1);

i=i+1;

end

print(%io(2),s)

例2  已知 1×2+2×3+3×4+…+n×(n+1)<1 000求n的最大值。

分析:本题不知道循环次数,因此用while循环语句

解:程序如下:

s=0;i=1;

s=s+i*(i+1);

while s<1000

i=i+1;

s=s+i*(i+1);

end

i=i-1;

print(%io(2),i)

类似可求(1)1×2+2×3+3×4+…+n×(n+1)=1 000中n的最小值,

(2)1×2×3×…×n<1 000中n的最大值等等。

例3 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾又多吃了一个;第二天早上又将剩下的桃子吃了一半又多吃了一个;以后每天早上都吃了前一天的一半又多一个,到第10天早上想再吃时,见只剩下一个桃子,试编写一个程序,求第一天共摘了多少桃子?

分析:设吃前第一天、第二天、第三天……第十天的桃子数分别为s1s2s3,…,s10,则 s10=1,s9=2×(s10+1),s8=2(s9+1),…, s2=2×(s3+1), s1=2×(s2+1)。

解法1 (for循环)

       s=1;

       for i=1:1:9

       s=2*(s+1);

       end

       print(%io(2),s)

解法2 (while循环)

       s=1;i=1 ;

       while i<10

       s=2*(s+1);

       i=i+1;

       end

       print(%io(2),s)

总之,对于已知循环变量循环次数的循环问题用for循环、while循环均可,一般用for循环;对于不知道循环变量循环次数的循环问题,一般用while循环。掌握了这一点,应用起来就不会感到太困难了。

 
【上一篇】
【下一篇】