2019届二轮复习常考题型答题技巧循环语句学案(全国通用)
展开2019届二轮复习 常考题型答题技巧 循环语句 学案 (全国通用)
【知识梳理】
循环语句的格式、功能
名称 | 直到型 | 当型 |
程序 结构 框图 | ||
格式 | DO 循环体 LOOP UNTIL条件 | WHILE 条件 循环体 WEND |
执行步骤 | 先执行一次DO和UNTIL之间的循环体,再判断UNTIL后的条件是否符合,如果不符合,继续执行循环体,然后再检查上述条件,如果仍不符合,再次执行循环体直到某一次条件符合为止.这时不再执行循环体,跳出循环体执行UNTIL语句之后的语句 | 先判断条件的真假,如果条件符合,则执行WHILE和WEND之间的循环体,然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止,这时不再执行循环体,跳出循环体,执行WEND之后的语句 |
【常考题型】
题型一、UNTIL语句的应用
【例1】 (1)根据下列程序框图,把程序中所缺少的语句补充完整.
程序框图
程序:
[解析] 由程序框图可知利用了直到型循环结构,对应的语句为直到型循环语句,DO后面执行的为循环体,故①②处应分别为S=S+i^ 2,i=i+1,直到满足条件i>100为止,所以③处应为i>100.
[答案] ①S=S+i^2 ②i=i+1 ③i>100
(2)设计算法求+++…+的值,要求画出程序框图,写出用基本语句编写的程序.
[解] 程序框图如图所示:
程序如下:
【类题通法】
1.UNTIL语句的适用类型
直到型循环又称“后测试”循环,也就是我们所讲的“先执行后测试”,“先循环后判断”.
2.使用UNTIL语句应关注两点
(1)DO语句只是循环的开始标记,遇到DO语句,程序只是记住这个标记,其他什么也不做,接着执行后面的循环体,在执行一次循环体后,再检查LOOP UNTIL语句中的条件是否成立,如果不成立,就重复执行循环体,直到条件符合时退出循环.
(2)在循环体内,应注意务必有相应的语句使“条件”改变,保证能终止循环,否则循环将无休止地进行下去.
【对点训练】
用UNTIL语句写出计算12+22+32+…+n2的值的程序.
解:程序框图如图所示:
程序如下:
题型二、WHILE语句的应用
【例2】 (1)下列程序运行后输出的结果为( )
A.1 B.3
C.5 D.7
[解析] 该程序的执行过程是i=1,
i=1<5是;
i=1+2=3,
i=3<5是;
i=3+2=5;
i=5<5否.
输出i的值为5.
[答案] C学 ]
(2)给出的30个数,1,2,4,7,11,…,其规律是第1个数是1,第2个数比第1个数大1,第3个数比第二个数大2,第4个数比第3个数大3…依次类推,要求计算这30个数的和,写出程序.
[解] 程序
【类题通法】
1.WHILE语句的适用类型
当型循环也叫“前测试”循环,也就是我们所讲的“先测试后执行”“先判断后执行”.
2.使用WHILE语句应关注五点
(1)当型循环以WHILE开头,以WEND作为结束标志.WEND是WHILE END的缩写,表示“WHILE循环到此结束”.
(2)一般来讲,WHILE语句与UNTIL语句可以相互转化.
(3)执行WHILE语句时,先判断条件,再执行循环体,然后再判断条件,再执行循环体,反复执行,直至条件不满足.
(4)WHILE语句中的条件是指循环体的条件,满足此条件时,执行循环体,不满足时,则执行循环结构后面的语句.
(5)WHILE语句由于先判断条件,再执行循环体,因此,循环体可能一次也不执行就退出循环结构.
【对点训练】
读程序,回答下列问题:
(1)若输入n=3,则输出的结果为 .
(2)此程序对应的计算式子是 .
(3)程序中的循环语句对应 型循环结构.
解析:(1)输入n=3,
当i=1时,S=0+=;
当i=2时,S=+=; 学 ]
当i=3时,S=+=,结束循环,此时输出S=.
(2)此程序是用于计算++…+的值.
(3)这是WHILE语句,对应的是当型循环结构.
答案:(1) (2)++…+ (3)当
题型三、循环语句的综合应用
【例3】 下面程序的功能是输出1 100间的所有偶数.
程序:
(1)试将上面的程序补充完整;
(2)改写为WHILE 型循环语句.
[解] (1)①m=0 ②i=i+1
(2)改写为WHILE型循环程序如下:
i=1 WHILE i<=100 m=i MOD 2 IF m=0 THEN PRINT i END IF i=i+1 WEND END |
学 ]
【类题通法】
应用循环语句解决问题应关注两点
(1)对于累加求和问题及累乘求积问题,需用到循环结构,解题的关键是设立累加变量S及控制循环次数的计数变量,可以用当型循环语句或直到型循环语句来设计程序.
(2)在WHILE语句中是当条件满足时执行循环体,而在UNTIL语句中是当条件不满足时执行循环体,二者是有区别的,在用两种循环语句编写程序时应注意条件的不同,它们的表达方法恰好是相反的.
【对点训练】
读下面甲、乙两个程序:
程序甲 程序乙
对甲、乙两个程序和输出的结果表述正确的是( )
A.程序不同,结果相同 B.程序不同,结果不同
C.程序相同,结果相同 D.程序相同,结果不同
解析:选A 执行甲,乙程序后可知都是计算1+2+3+4+…+1 000的值.
【练习反馈】
1.关于循环语句的说法不正确的是( )
A.算法中的循环结构由WHILE语句来实现
B.循环语句中有直到型语句和当型语句,即UNTIL语句和WHILE语句
C.一般来说UNTIL语句和WHILE语句可以互相转换
D.算法中的循环结构由循环语句来实现
解析:选A 算法中的循环结构由循环语句来实现,循环语句包括UNTIL语句和WHILE语句两种不同的格式,且一般情况下这两种语句可以相互转换.所以选项A是错误的,其余都正确.
2.下面为一个求10个数的平均数的程序,在横线上应填充的语句为( )
S=0
i=1
DO 学 ]
INPUT x
S=S+x
i=i+1
LOOP UNTIL
a=S/10
PRINT a
END
A.i>10 B.i<10
C.i>=10 D.i<=10
解析:选A 此为直到型循环,在程序一开始,即i=1时,开始执行循环体,当i=10时,继续执行循环体,题目中求10个数的平均数,所以当i>10时应终止循环.
3.已知有下面的程序,如果程序执行后输出的结果是360,那么在程序UNTIL后面的“条件”应为 .
解析:因为输出的结果是360,即s=1×6×5×4×3,需执行4次,s需乘到3,i<3后结束算法.所以,程序中UNTIL后面的“条件”应为i<3.
答案:i<3
4.对于下面一个程序:
运行后输出的结果为 .
解析:执行过程如下:M=5,N=0
当N=0<15时 N=0+5=5 M=5-1=4
当N=5<15时 N=5+4=9 M=4-1=3
当N=9<15时 N=9+3=12 M=3-1=2
当N=12<15时 N=12+2=14 M=2-1=1
当N=14<15时 N=14+1=15 M=1-1=0
当N=15时不小于15 终止循环 最后输出M的值为0.
答案:0
5.编写求100+99+…+10的值的程序.
解:程序如下: