第9课时5.3 基本算法语句
重点难点
重点:正确理解循环语句的概念,并掌握其结构;会应用循环语句编写程序;并能进行简单的综合应用。
难点:理解循环语句的表示方法、结构和用法;会编写程序中的循环语句.
【学习导航】
知识网络 循环语句→当型循环语句??while语句
?for语句学习要求
1.正确理解循环语句的概念,并掌握其结构;会应用循环语句编写程序;并能进行简单的综合应用。
2.理解并掌握循环语句在计算机程序语言中的作用,掌握两种循环语句应用的实例:数列求和、求积。
【课堂互动】
自学评价 1.问题:
设计计算1?3?5?7???99的一个算法。
【分析】将上述表达式看成49个乘法,用公式表示为:
S←S×I
S初始为1,I为1,将每次的乘积都赋予S,I从1到99,每次增加2,公式S←
S×I会被重复执行,这种执行过程可用循环结构表示。 算法一: S1 S←1; S2 I←1; S3 I←I+2; S4 S←S×I;
S5 如果I小于99,那么转S3; S6 输出S
上述算法用流程图表示如下:
【说明】算法一是先执行后判断的直到型循环结构,常用“Do”语句表示,我们不再学习。
开始 S←1 I←1 I←I+2 S←S×I 算法二:
N S1 S←1;
I≥99 S2 I←1;
Y S3 当I不大于99时转S4,否则转S6;
输出S S4 S←S×I;
S5 I←I+2;
开始 开始 S6 输出S
上述算法用流程表示如图所示: S←1
I←1
I←I+2
S←S×I
I≤99 Y
N
输出S
开始
【说明】算法二可以理解为:当I>99时, 才循环执行S4和S5两步,这种先判断后执行的循环结构我们称为当型循环,常用“While”语句和“For”语句表示,其中“While语句”可以用如下代码表示: While条件P成立 要执行的语句 …… End While 用伪代码表示为: S←1 I←1
While I≤99
S←S×I I←I+2 End While Print S
由此可见,同一个问题可以用不同的循环方式来解决,直到型循环和当型循环的控制条件是不同的,请注意流程图中判断分支的流向条件。
在算法二的伪代码中,可以看成I从1到99,每次增加2,用For语句写成I From 1 To 99 Step 2,“Step 2”意为I每次增加2。写成一般形式为: For I From“初值” To “终值” Step “步长” …… End For 注意黑体字部分是For循环语句的关键词,在“For”和“End For”之间的步骤称为循环体,如果省略“Step 2”,那么循环时I的值默认增加1。
上述问题用For循环语句的伪代码可以表示为: S←1
For I From 1 To 99 Step 2 S←S×I End For Print S
【总结】当循环的次数确定时,我们通常用For循环语句,而当循环的次数不确定时,我们通常用While循环语句,这两种语句都是前测试语句,即先判断后执行。若初始条件不成立,则一次也不执行循环体中的内容,任何一种需要重复处理的问题都可以用这种前测试循环来实现。
【经典范例】
例1 分别用While语句和For语句写出求1+2+3+…+100的和的一个算法。 【解】用伪代码表示为: S←0
For I From 1 To 100 S←S+I End For Print S 或: S←0
While I≤100 S←S+I I←I+1 End While Print S
【注意】在累加的算法中,S的初始值一般设为0,在累乘的算法中,S的初始值一般设为1,为什么?
例2 问题:将前面的问题改为
0000,那么,如何寻找满足条件的最小整数呢?请用伪代码写出一1?3?5?7??? >1
个算法。