2019-2020学年高中数学 第二章 算法初步 学习要点循环语句素材讲解 北师大版必修3.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019-2020学年高中数学 第二章 算法初步 学习要点循环语句素材
讲解 北师大版必修3
一 知识点 1. WHILE 语句
WHILE 语句的一般格式是 对应的程序框图是
说明:计算机执行此程序时,遇到WHILE 语句,先判断条件是否成立,如果成立,则执行WHILE 和WEND 之间的循环体,然后再判断上述条件,再执行循环体,这个过程反复执行,直到某一次不符合条件为止,这时不再执行循环体,将跳到WEND 语句后,执行WEND 后面的语句。 2、UNTIL 语句
UNTIL 语句的一般格式是 对应的程序框图是
说明:计算机执行UNTIL 语句时,先执行DO 和LOOP UNTIL 之间的循环体,然后判断条件是否成立,如果不成立,执行循环体。这个过程反复执行,直到某一次符合条件为止,这时不再执行循环体,跳出循环体执行LOOP UNTIL 后面的语句。 3、当型循环与直到型循环的区别
(1)当型循环先判断后执行,直到型循环先执行后判断; (2)当型循环用WHILE 语句,直到型循环用UNTIL 语句; (3)对同一算法来说,当型循环和直到型循环的条件互为反条件。 二 典型例题分析
例1. 运用当型和直到型两种循环结构画出求3
3
3
10021+++ 值的程序框图.
WHILE 条件 循环体 WEND
满足条件?
循环体
是
否
满足条件?
循环体 否
?
是
?
DO
循环体
LOOP UNTIL 条件
算法分析:欲求3
3310021+++ 只需一个累加变量和一个计数变量,将累加变量的初始值设为0,计数变量的值可以从1—100. 程序框图: 是 否
否
是
(当型循环) (直到型循环)
例2.设计一个计算1×3×5×7×…×99的算法,用两种循环语句编写算法程序。 解:算法如下: 程序(WHILE 语句)如下: 第一步:s =1; 第二步:i =3; 第三步:s =s ×i ; 第四步:i =i +2;
第五步:如果i ≤99,那么转到第三步; 第六步:输出s ;
用UNTIL 语句表示这一程序
输出sum
结束
开始
I=1
Sum=0
I=I+1
I>100? 3i sum sum +=
输出sum
结束
开始 I=1 Sum=0 I=I+1
I<=100?
3i sum sum +=
s =1 i =3
WHILE i <=99 s =s*I i =i +2 WEND PRINT s END
例3.设计一个求25个数的算术平均数的算法,用两种循环语句编写其程序
分析:可用一个循环依次输入25个数,并将它们的和存在一个变量S 中,最后用S 除以25即可得到这25个数的平均数。
程序如下:用(UNTIL )语句表示这一程序 用(WHILE )语句表示这一程序
例4.“百钱买百鸡”问题:今有鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一.凡百钱买百只,问鸡翁、母、雏各几何?请设计解决该问题的算法,给出求解“百钱买百鸡”问题的程序.
分析:设x,y,z 分别表示鸡翁、鸡母、鸡雏的只数.若100元钱买鸡翁,则最多可买(100÷5=20只),所以0≤x ≤20,同理0≤y ≤33.当鸡翁和鸡母的只数确定后,鸡雏的只数z=100-x-y 也随之确定了. 参考程序: x=0 i=0 while x<=20 y=0
s =1 i =3 DO s =s*I i =i +2
LOOP UNTIL i >99
PRINT s END
S=0 i=1 DO
INPUT x S=S+x i=i+1
LOOP UNTIL i>25 a=S/25 PRINT a END S=0 i=1
WHILE I<=25 INPUT x S=S+x i=i+1 a=S/25 WEND PRINT a END
while y<=33
z=100-x-y
if z>=0 then
if 5*x+3*y+z/3=100 then i=i+1
Print “有一组解为:”;x;y;z
end if
end if
y=y+1
wend
x=x+1
wend
print“共有”;i;“组解.”
end
由以上例子我们可以看出,在用WHILE语句和UNTIL语句编写程序解决问题时,一定要注意它们的格式及条件的表述方法.WHILE语句中是当条件满足时执行循环体,而UNTIL语句中是当条件不满足时执行循环体.