(新课标)人教A版数学必修3(课件+教案+练习)第1章 1.2 1.2.3 循环语句:51张PPT

文档属性

名称 (新课标)人教A版数学必修3(课件+教案+练习)第1章 1.2 1.2.3 循环语句:51张PPT
格式 zip
文件大小 2.7MB
资源类型 教案
版本资源 人教新课标A版
科目 数学
更新时间 2019-10-15 13:54:33

文档简介

课件51张PPT。第一章 算法初步1.2 基本算法语句
1.2.3 循环语句
LOOP UNTIL WEND DO UNTIL 执行循环体 执行循环体 条件符合UNTIL条件仍符合条件仍符合条件不符合WENDWHILE语句的应用 UNTIL语句的应用 循环语句的设计 点击右图进入…Thank you for watching !1.2.3 循环语句
学 习 目 标
核 心 素 养
1.理解循环语句的两种格式及功能.(重点)
2.会应用条件语句和循环语句编写程序.(难点)
3.掌握当型循环和直到型循环的条件.(易混点)
1.通过学习循环语句的两种不同格式,培养学生逻辑推理素养.
2.借助循环语句编写,提升数学抽象素养.
循环语句的格式,功能及相应的程序框图.
名称
直到型(UNTIL语句)
当型(WHILE语句)
格式
DO
 循环体
LOOP UNTIL条件
WHILE条件
 循环体
WEND
功能
先执行一次DO和UNTIL之间的循环体,再判断UNTIL后的条件是否符合,如果不符合,继续执行循环体然后再检查上述条件,如果仍不符合,再次执行循环体,直到条件符合时为止.这时不再执行循环体,跳出循环体执行UNTIL语句后面的语句
先判断条件的真假,如果条件符合,则执行WHILE和WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止,这时不再执行循环体,跳出循环体,执行WEND后面的语句
对应程序框图
思考:两种循环语句的格式是截然不同的,它们之间有没有联系?
[提示] 两种语句都可以实现计算机反复执行循环体的目的,只是表达形式不同.一般地,WHILE语句和UNTIL语句可以相互转化.
1.关于下列程序段的说法正确的是(  )
A.循环体执行8次    B.循环体无限循环
C.循环体一次也不执行 D.循环体只执行1次
C [对于WHILE语句,条件为真,则执行循环体,而本题k=8,不符合条件k=0,所以循环体一次也不执行.]
2.下列循环语句,循环终止时,i等于(  )

A.3 B.4 C.5 D.6
D [当i=6时,满足i>5,终止循环.]
3.下面程序的运行结果是________.

15 [第一次循环,S=0×2+1=1,i=2;第二次循环,S=1×2+1=3,i=3;第三次循环,S=3×2+1=7,i=4;第四次循环,S=7×2+1=15,i=5,终止循环,输出S值为15.]
4.下列程序的运行结果是________.
3 [第一次循环x=110,i=2;第二次循环,x=120,i=3,终止循环,输出i的值为3.]
WHILE语句的应用
【例1】 如果执行下面程序后输出的结果是132,那么在程序中WHILE后面的条件应为(  )
A.i>11   B.i>=11    C.i<=11   D.i<11
思路点拨:运行程序寻找规律,进而确定条件.
B [由题意S=1,i=12,满足条件;S=1×12=12,i=12-1=11满足条件;S=12×11=132,i=10,由题意此时应输出S值,即不满足条件,退出循环,故WHILE后条件应为“i>=11”.]
使用WHILE语句的注意点
1.当型循环语句以WHILE开头,以WEND结束.
2.执行WHILE语句时,先判断条件,再执行循环体,然后再判断条件,再执行循环体,反复执行,直至条件不满足.
3.WHILE语句中的条件是指循环体的条件,满足此条件时,执行循环体,不满足时,则执行WEND后面的语句.
4.WHILE语句先判断条件,再执行循环体,因此,循环体可能一次也不执行就退出循环.
1.读程序,回答下列问题:
(1)若输入n=3,则输出的结果为________.
(2)此程序对应的计算式子是________.
(3)程序中的循环语句对应________型循环结构.
(1) (2)++…+ (3)当 [(1)输入n=3,当i=1时,
S=0+=;
当i=2时,S=+=;
当i=3时,S=+=,结束循环,此时输出S=.
(2)此程序是用于计算++…+的值.
(3)这是WHILE语句,对应的是当型循环结构.]
UNTIL语句的应用
【例2】 下列两个程序(1)和(2)的运行结果分别是(  )
A.7,7 B.7,6 C.6,7 D.6,6
思路点拨:认真观察程序(1)(2)有什么不同点,这种不同点对输出结果有怎样的影响?
B [程序(1):S=0,i=0+1=1,不满足S>20,执行循环;S=1,i=1+1=2,不满足S>20,执行循环;S=1+2=3,i=2+1=3,不满足S>20,执行循环;S=3+3=6,i=3+1=4,不满足S>20,执行循环;S=6+4=10,i=4+1=5,不满足S>20,执行循环;S=10+5=15,i=5+1=6,不满足S>20,执行循环;S=15+6=21,i=6+1=7,满足S>20,退出循环,输出i,此时i=7.
程序(2):i=0+1=1,S=1,不满足S>20,执行循环;i=1+1=2,S=1+2=3,不满足S>20,执行循环;i=2+1=3,S=3+3=6,不满足S>20,执行循环;i=3+1=4,S=6+4=10,不满足S>20,执行循环;i=4+1=5,S=10+5=15,不满足S>20,执行循环;i=5+1=6,S=15+6=21,满足S>20,退出循环.输出i,此时i=6.故选B.]
对UNTIL语句的几点说明
(1)直到型循环语句中先执行一次循环体,再判断条件是否满足,以决定继续循环还是退出循环.
(2)循环次数的控制往往是判断条件,在循环体内要控制条件的改变,否则会陷入死循环.
(3)控制循环次数的变量要综合考虑初始化时和LOOP UNTIL后两处,若初始值为1,则循环体中累加,若初始值为循环的次数,则循环体中递减.
2.(1)下面为一个求1,2,3,…,20的平均数的程序,在横线上应填充的语句为(  )
A.i>20 B.i<20 C.i>=20 D.i<=20
(2)如图程序执行后输出的结果是________.
(1)A (2)990 [(1)由题意,共有20个数,故横线处应填i>20.
(2)i=11时,S=1×11=11;i=10时,s=11×10=110;i=9时,S=110×9=990;i=8时i<9成立终止循环,输出值为990.]
循环语句的设计
[探究问题]
1.循环语句的作用是什么?什么样的问题的解决要用到循环语句?
[提示] 循环语句的作用:循环语句主要用于循环结构,在需要处理反复执行的运算任务,如累加求和、累乘求积等问题时,常常要用到循环语句.
2.WHILE语句与UNTIL语句可以相互转化吗?转化时该注意什么?
[提示] WHILE语句与UNTIL语句一般可以相互转化,转化时循环语句的格式变了,另外尤其注意要改变条件.
3.在同一种条件语句格式下,如果改变了循环条件,程序运行结果一定改变吗?
[提示] 不一定.
【例3】 写出计算12+32+52+…+992的程序(用两种方法)
思路点拨:

[解] 法一:用WHILE语句编写程序如下:
法二:用UNTIL语句编写程序如下:
1.(设问)如果把WHILE语句的条件“i<=99”改为“i<99”,所计算的问题会如何?如果改为“i<100”或“i<=100”呢?
[解] 如果将WHILE语句的条件由“i≤99”改为“i<99”,实际上是i只取到97,少运行一次循环,解决的是计算12+32+52+…+972的结果.如果改为“i<100”或“i<=100”,没改变i的最终取值,仍然是计算12+32+52+…+992的值.
2.(变条件)如果要计算1+++…+的值,该怎么设计程序语句?
[解] 只要把循环体中语句“S=S+i^2”改为“S=S+1/i”即可.
两种循环语句的异同
两种循环语句的相同点是:(1)进入循环前的语句相同;(2)循环体相同;(3)输出部分相同.
不同点是:(1)循环条件的位置不同;(2)循环条件不同.
应用循环语句编写程序要注意以下三点:
(1)循环语句中的变量一定要合理设置初始值.
(2)循环语句在循环的过程中需要有“结束”的语句,即有跳出循环的机会.
(3)在循环中要改变循环条件的成立因素.
程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循环体的条件.
1.判断下列结论的正误(正确的打“√”,错误的打“×”)
(1)UNTIL语句是先执行一次循环体,后判断条件. (  )
(2)WHILE语句是先判断条件,后执行循环体. (  )
(3)UNTIL语句是条件满足时执行循环体,条件不满足时,结束循环;而WHILE语句是当条件不满足时执行循环体,满足时结束循环. (  )
[答案] (1)√ (2)√ (3)×
2.下列四个程序框图中能用直到型语句描述的是(  )
A [与直到型语句对应的是直到型结构;选A.]
3.已知程序如下,则输出结果S=________.
56 [根据程序逐次写出每次循环的结果.第一次循环,i=2,S=4;第二次循环,i=4,S=4+16=20;第三次循环,i=6,S=20+36=56.由于i=6不满足条件,跳出循环,输出S,结果为56.]
4.根据如图所示的程序框图写出相应的程序.
[解] 程序如下:
课时分层作业(七) 循环语句
(建议用时:60分钟)
[基础达标练]
一、选择题
1.设计程序求解下列问题时,不能用循环语句的有(  )
①输入每个同学的数学成绩,求全班同学的平均成绩;
②求分段函数的函数值;
③求连续100个自然数的平方和;
④输入100个数,从中找出最大的数.
A.1个    B.2个
C.3个 D.4个
A [②求分段函数的函数值用条件语句,①③④涉及累加和多次赋值,均可以用循环语句解决.]
2.下列关于循环语句的说法中不正确的是(  )
A.算法中的循环结构只能由WHILE语句来实现
B.一般程序设计语言中都有当型和直到型两种循环语句结构
C.当型循环结构对应WHILE语句,直到型循环结构对应UNTIL语句
D.算法中的循环结构由循环语句来实现
A [算法中的循环结构由循环语句来实现,循环语句包含WHILE语句和UNTIL语句两种,所以选项A中的说法不正确.]
3.以下程序:(  )
A.循环体执行1次 B.循环体执行2次
C.循环体执行4次 D.循环体执行10次
B [本题考查UNTIL语句的执行方式.第一次执行循环体时,x=(-2)×(-2)=4,不符合条件,继续执行循环体,此时x=4×4=16,符合条件,结束循环,循环体执行2次.]
4.下面两个程序最后输出的“S”分别等于(  )
A.都是17 B.都是21
C.21,17 D.14,21
C [第一个程序中,i=7时执行循环体i=i+2,此时i=9,S=2×9+3=21结束循环,第二个程序中,i=7时,S=2×7+3=17,然后执行i=i+2,此时i=9,结束循环.]
5.如下所示的程序,若最终输出的结果为,则在程序中①处应填入的语句为(  )
A.i>=8 B.i>=7
C.i<7 D.i<8
B [因为n=2,i=1,第一次循环:S=0+=,n=4,i=2;第二次循环:S=+=,n=8,i=3;第三次循环:S=+=,n=16,i=4;第四次循环:S=+=,n=32,i=5;
第五次循环:S=+=,n=64,i=6;第六次循环:S=+=,n=128,i=7,此时输出S=,故①处应填“i>=7”.]
二、填空题
6.下面的程序:
执行完毕后a的值为________.
100 [当a<100时,执行a=a+1,故最终a=99+1=100.]
7.要使下面程序能运算出“1+2+…+100”的结果,需将语句“i=i+1”加在________处.
③ [这是当型循环语句,当符合i≤100时,执行S=S+i,同时对应的计数变量要有i=i+1出现.故填③.]
8.下列算法语句的功能是________(只写式子不计算).
计算S=+++…+的值 [由程序知,其算法功能是计算S=+++…+的值.]
三、解答题
9.下面是“求满足1+2+3+…+n>2 019的最小的自然数n”的一个程序,其中有3处错误,请找出错误并予以更正.
[解] 错误1:“S=1”改为“S=0”.
错误2:无END语句,应加在输出后面.
错误3:“输出n+1”应改为“PRINT n”
10.设计算法求+++…+的值,编写程序,并画出程序框图.
[解] 算法如下:
第一步:令S=0,i=1.
第二步:若i≤99成立,
则执行第三步;
否则,输出S,结束算法.
第三步:S=S+.
第四步:i=i+1,
返回第二步.
程序:
程序框图:
[能力提升练]
1.读下面甲、乙两个程序:
对甲、乙两个程序和输出的结果表述正确的是(  )
A.程序不同,结果相同 B.程序不同,结果不同
C.程序相同,结果相同 D.程序相同,结果不同
A [执行甲、乙程序后可知,两程序都是计算1+2+3+4+…+1000的值.]
2.下面是求1~1 000内所有偶数的和的程序,把程序补充完整,则(  )
A.①处为S=S+i,②处为i=i+1
B.①处为S=S+i,②处为i=i+2
C.①处为i=i+1,②处为S=S+i
D.①处为i=i+2,②处为S=S+i
B [用排除法,程序求的是1~1000内的所有偶数的和,故i的步长为2,应有i=i+2,排除A、C,i的初始值是2,S应加的第一个偶数为2,而不是4,故S=S+i应在i=i+2的前面,排除D.]
3.执行如图所示的程序,输入a=3,b=-1,n=4后,输出的结果是________.
4 [∵1≤4成立,执行循环体,则c=2,a=-1,b=2,i=2;2≤4成立,执行循环体,则c=1,a=2,b=1,i=3;3≤4成立,执行循环体,则c=3,a=1,b=3,i=4;4≤4成立,执行循环体,则c=4,a=3,b=4,i=5;5≤4不成立,退出循环,输出c值为4.]
4.在下面的程序中,若输出k=3,则输入的最小整数n=________.
12 [设n=a,则第一次循环,n=2a+1,k=1;第二次循环,n=2(2a+1)+1=4a+3,k=2;第三次循环,n=2(4a+3)+1=8a+7,k=3,此时,执行“是”,结束循环,输出k=3,因此8a+7>100,即a>,故最小整数n为12.]
5.分别用WHILE语句和UNTIL语句编写计算机程序输出1~100之间(含1和100)能被3整除的所有整数.
[解] 利用WHILE语句编写程序如下:
利用UNTIL语句编写程序如下: