12第三课时循环语句.docx
《12第三课时循环语句.docx》由会员分享,可在线阅读,更多相关《12第三课时循环语句.docx(15页珍藏版)》请在冰点文库上搜索。
12第三课时循环语句
1.2第三课时,循环语句
一、课前准备
1.课时目标
(1)理解循环语句的概念和功能.
(2)结合实例,把握循环语句的基本结构.
(3)会应用循环语句编写简单程序.
2.基础预探
(1)当处理一些需要的运算任务,如累加求和、累乘求积等问题时,常用到循环语句.若先考虑判断,再进行循环,则使用循环;若先进行循环,再判断,可使用循环,语句至少执行一次循环体,而语句则可能一次也不执行循环体,二者本质上是相同的,可以相互转化.
(2)当型(WHILE型)语句的一般格式为:
WHILE
循环体
WEND
(3)计算机执行此程序时,遇到WHILE语句,先判断条件是否成立,如果成立,则执行WHILE和WEND之间的,然后返回到WHILE语句再判断上述条件是否成立,如果成立,再执行循环体,这个过程,直到一次返回到WHILE语句判断上述条件为止,这时不再执行循环体,而是跳到WEND语句后,执行WEND后面的语句.
(4)直到型(UNTIL型)语句的一般格式为:
DO
LOOPUNTIL条件
(5)计算机执行UNTIL语句时,先执行DO和LOOPUNTIL之间的,然后判断“LOOPUNTIL”后面的条件是否成立,如果,返回DO语句处重新执行循环体.这个过程反复执行,直到一次判断“LOOPUNTIL”后面的条件为止,这时不再返回执行循环体,而是跳出循环体执行“LOOPUNTIL条件”下面的语句.
二、基本知识
1.循环语句“WHILE条件循环体ENDWHILE”中说法正确的是()
A.总是执行循环B.执行一次循环
C.表达式为真,则执行循环D.遇到END就结束
2.WHILE循环语句中,控制循环的是_____________________.
3.下面程序运行后,输出的值是()
i=0
DO
i=i+1
LOOPUNTILi*i>=2000
i=i1
PRINTi
END
A.42B.43C.44D.45
4.程序:
i=1
S=0
WHILE i<=100
S=S+i
i=i+1
WEND
PRINT S
END
该程序运行后,输出的结果是;该程序的循环体共执行了次.
5.将下列求1×2×…×9×10的程序补充完整.
a=10
b=1
WHILE___________
b=b*a
a=___________
WEND
PRINT“SUM=”;SUM
END
三、学习引领
1.WHILE语句的一般格式与程序框图的对应关系:
2.UNTIL语句的
一般格式与程序框图的对应关系:
3.当型循环与直到型循环的区别和联系:
①当型循环用WHILE语句,直到型循环用UNTIL语句.
②当型循环是先判断后执行,直到型循环是先执行后判断.当型循环又称“前测试型”循环,也就是我们经常讲的“先测试后执行”、“先判断后循环”.直到型循环又称“后测试型”循环,也就是我们经常讲的“先执行后测试”、“先循环后判断”.
③对同一算法来说,当型循环和直到型循环的判断条件互为反条件.
4.循环语句需要满足的基本条件
第一,循环语句中的变量一般需要进行一定的初始化操作:
用WHILE循环实现1到100累加为例,做一下说明:
部分程序如下:
sum=0
i=1
WHILEi<=100
sum=sum+i
i=i+1
WEND
这段程序中,循环的条件是“i<=100”;因此,一开始i肯定需要一个确定的值.前面的
“i=0”这一个语句,在表明变量i的同时,也为i赋了初始值“1”.这样,条件i<=100得以成立(因为i为1,所以条件“i<=100”当然成立).
第二、循环语句在循环的过程中需要有“结束”的机会:
程序中最忌“死循环”.所谓的“死循环”就是指该循环条件永远成立,没有跳出循环体的机会.
第三,在循环中要改变循环条件的成立因素:
程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,正在步步逼近满足跳出循环体的条件.
四、典例导析
题型一用循环语句求和或积
例1设计算法求
+
+
+…+
的值.要求画出程序框图,写出用基本语句编写的程序.
思路导析:
这是一个累加求和问题,共99项相加,可以设计一个计数变量,不妨设为
,一个累加变量,设为
,用循环结构实现这一算法.用循环语句编写程序语言.
解:
程序框图如图所示:
设计程序为:
s=0
k=1
DO
s=s+1/(k(k+1))
k=k+1
LOOPUNTILk>99
PRINTs
END
规律总结:
由于上述求和过程中,多次循环两数相加,所以在编写程序语言时,需要利用循环语句实现上述过程.设置恰当的计数变量和累加变量以及循环控制条件,是编制该类程序的关键所在.上述累加过程也可以采用当型循环.
变式练习1设计一个计算1×3×5×7×…×99的算法,编写算法程序.
题型二用循环语句求值
例2把区间[0,1]10等分,求函数y=
+|x-2|在各分点的函数值,试编写算法程序语句.
思路导析:
把区间[0,10]10等分,故步长为0.1,所以用x=x+0.1表达,y=
+|x-2|,用
来表达.循环控制条件为
.
程序如下:
规律总结:
由于上述问题,分点较多,多次重复函数值的计算过程,所以在编写程序时,采用循环语句.这正是循环语句的另一重要应用.需要注意的时,该循环语句的控制条件,不是通常的计数变量,而是连续自变量的取值范围.
变式练习2已知等式□3×6528=3□×8256中的方框内是同一个数字,设计算法求出该数字.
题型三循环语句在实际问题中的应用
例3三鹿奶粉污染,主要是在一些企业生产的奶制品中检测出三聚氰胺,三聚氰胺是一种有毒的化工原料,俗称“假蛋白”.蛋白质主要由氨基酸组成,蛋白质平均含氮量16%左右,而三聚氰胺的含氮量为66%左右,不法分子往往在奶制品中添加三聚氰胺,主要是因为它能冒充蛋白质.国家质检总局曾经公布了22家企业生产的婴幼儿配方奶粉中含有三聚氰胺,其中最高含量为2563mg/kg,最低含量为0.09mg/kg.设计一个求含量高于20mg/kg的婴幼儿配方奶粉的平均含量的程序框图,并写出程序.
思路导析:
(1)由于涉及到22家企业,数量较多,因此使用循环结构来实现多次重复检验;
(2)用条件结构来判断含量是否高于20,同时统计高于20mg/kg的总和与企业数,最后求平均值.
解:
程序框图如图所示.程序:
规律总结:
(1)在解决实际问题时,首先根据题目写出其数学关系式,再写出相应的算法.在循环语句中,也可以嵌套条件语句,甚至是循环语句,此时需要注意嵌套这些语句需要保证语句的完整性,否则就会造成程序无法执行.
(2)涉及到利用循环结构或循环语句解决的问题都可利用两种形式去解决,在用WHILE语句和UNTIL语句编写程序时,一定要注意它们的格式及条件的表示方法.
变式练习3用分期付款的方式购买价格为1150元的冰箱,如果购买时先付150元,以后每月付50元,加上欠款的利息,若一个月后付第一个月的分期付款,月利率为1%,那么购买冰箱钱全部付清后,实际共付出款额多少元?
画出程序框图,写出程序.
五、随堂练习
1.下图程序执行后输出的结果是()
n=5
s=0
WHILEs<14
s=s+n
n=n-1
WEND
PRINTn
END
A.
B.0C.1D.2
2.下列程序运行后输出的结果为()
a=0
j=1
WHILEj<=5
a=(a+j)MOD5
j=j+1
WEND
PRINTa
END
A.
B.
C.
D.
3.写出下列程序运行的结果.
x=100
i=1
DO
x=x+10
PRINTi,x
i=i+1
LOOPUNTILx=200
END
4.下面程序输出的n的值是______________.
j=1
n=0
WHILEj<=11
j=j+1
IFjMOD4=0THEN
n=n+1
ENDIF
j=j+1
WEND
PRINTn
END
5.下列程序执行后输出的结果是________.
i=11
S=1
*
DO
S=Si
i=i-1
LOOPUNTIL i<9
PRINT S
END
6.意大利数学家菲波拉契,在1202年出版的一书里提出了这样的一个问题:
一对兔子饲养到第二个月进入成年,第三个月生一对小兔,以后每个月生一对小兔,所生小兔能全部存活并且也是第二个月成年,第三个月生一对小兔,以后每月生一对小兔问这样下去到年底应有多少对兔子?
试画出解决此问题的程序框图,并编写相应的程序.
六、课后作业
1.如图程序运行后的输出结果为()
i=1
WHILEi<8
i=i+2
s=2
i+3
WEND
PRINTs
END
A.17B.19C.21D.23
2.下面方框中为一个求20个数的平均数的程序,在横线上应填充的语句为( )
S=0
i=1
DO
INPUT x
S=S+x
i=i+1
LOOPNTIL________
a=S/20
PRINT a
END
A.i=20B.i<20C.i>=20D.i>20
3.已知下列程序:
a=2
i=1
WHILEi<=6
a=a+1
PRINTi,a
i=i+1
WEND
END
该程序运行后的输出结果为.
4.读程序回答问题.
INPUT n
i=1
sum=0
WHILE i<=n
sum=sum+i/(i+1)
i=i+1
WEND
PRINT sum
END
此程序对应的计算式子是________________.
5.如图是求S=1+
+
+
+…+
的一个程序框图.
(1)在程序框图的
处填上适当的语句.
(2)写出相应的程序.
6.给出30个数:
1,2,4,7,……,其规律是:
第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,依此类推.要计算这30个数的和,现已给出了该问题算法的程序框图,如图所示.
(I)请在图中判断框内
(1)处和执行框中的
(2)处填上合适的语句,使之能完成该题算法功能;
(II)根据程序框图写出程序.
1.2第三课时,循环语句答案及解析
一、2.
(1)答案:
反复执行;当型(WHILE型);直到型(UNTIL型);直到型循环;当型循环.
(2)答案:
条件.
(3)答案:
循环体;反复执行;不成立.
(4)答案:
循环体.
(5)答案:
循环体;条件不成立;成立.
二、基本知识
1.答案:
C.解析:
在WHILE循环语句中,如果表达式为真,则执行循环;如果表达式为假,则跳出循环.
2.答案:
循环语句中,条件表达式的真假.解析:
判断框中的不等式起到作用.
3.答案:
C.解析:
当i=45时,满足条件;执行i=i1后,输出i的值是44.
4.答案:
5050;100.解析:
该当型程序的功能是求1+2+3+…+100=5050,该循环体执行了10次.
5.答案:
a>0a-1.解析:
a的初始值为10,故循环体体中的值应该递减,即a从10减小到1,循环的条件应为a>0,也可为a≥0.