当前位置:首页 > 高中数学第一章算法初步1.2基本算法语句1.2.3循环语句教学案新人教A版必修
WHILE语句的应用 [典例] (1)下列程序运行后输出的结果为( ) i=1
WHILE i<5 i=i+2
WENDPRINT iEND
A.1 C.5
B.3 D.7
(2)给出的30个数,1,2,4,7,11,…,其规律是第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3…依次类推,要求计算这30个数的和,写出程序.
[解析] (1)该程序的执行过程是i=1,i=1<5,是;
i=1+2=3,i=3<5,是; i=3+2=5;i=5<5,否.
所以输出i的值为5. 答案:C
(2)解:程序如下:
i=1P=1S=0
WHILE i<=30 S=S+P
P=P+i i=i+1WENDPRINT SEND
1.WHILE语句的适用类型
当型循环也叫“前测试”循环,也就是我们所讲的“先测试后执行”“先判断后执行”.
2.使用WHILE语句应注意五点
(1)当型循环以WHILE开头,以WEND作为结束标志.WEND是WHILE END的缩写,表示“WHILE循环到此结束”.
(2)一般来讲,WHILE语句与UNTIL语句可以相互转化.
(3)执行WHILE语句时,先判断条件,再执行循环体,然后再判断条件,再执行循环体,
5 / 14
反复执行,直至条件不满足.
(4)WHILE语句中的条件是指循环体的条件,满足此条件时,执行循环体,不满足时,则执行循环结构后面的语句.
(5)WHILE语句由于先判断条件,再执行循环体,因此,循环体可能一次也不执行就退出循环结构.
[活学活用]
读程序,回答下列问题:
INPUT ni=1S=0
WHILE i<=n
S=S+1/[i*i+1 i=i+1WENDPRINT SEND
(1)若输入n=3,则输出的结果为________. (2)此程序对应的计算式子是__________________. (3)程序中的循环语句对应________型循环结构. 11
解析:(1)输入n=3,当i=1时,S=0+=;
22112
当i=2时,S=+=;
263
2133
当i=3时,S=+=,结束循环,此时输出S=.
3124411
(2)此程序是用于计算++…+
1×22×3n1
的值. n+1
]
(3)这是WHILE语句,对应的是当型循环结构. 3111
答案:(1) (2)++…+ (3)当
41×22×3nn+1
循环语句的综合应用 [典例] (1)已知有如下两段程序:程序1运行的结果为________,程序2运行的结果为________.
6 / 14
i=21i=21sum=0sum=0WHILE i<=20DOsum=sum+i sum=sum+i
i=i+1 i=i+1WENDLOOP UNTIL i>20PRINT sumPRINT sumENDEND
程序1 程序2
(2)编写程序,计算函数f(x)=x-3x+5,当x=1,2,3,…,20时的函数值. [解析] (1)程序1是计数变量i=21开始,不满足i≤20,终止循环,累加变量sum=0,这个程序计算的结果:sum=0;程序2计数变量i=21,开始进入循环,sum=0+21=21,i=i+1=21+1=22,i>20,循环终止,此时,累加变量sum=21,这个程序计算的结果:sum=21.
答案:0 21 (2)解:程序如下:
2
用循环语句编写程序的要点
(1)循环语句的作用:循环语句主要用于循环结构,在需要处理反复执行的运算任务,如累加求和、累乘求积等问题时,常常要用到循环语句.
(2)用循环语句编写程序的“三要素”
①循环语句中的变量一般需要进行一定的初始化操作; ②循环语句在循环的过程中需要有“结束”的机会; ③在循环中要有改变循环条件成立的因素. (3)注意事项
①解决具体问题构造循环语句的算法时,要尽可能少地引入循环变量,否则较多的变量会使设计程序比较繁杂,并且较多的变量会使计算机占用大量的系统资源,导致系统缓慢.
②WHILE循环与UNTIL循环一般可以相互转化.
7 / 14
[活学活用]
写出计算1+3+5+…+99的程序. 解:法一:用WHILE语句编写程序如下:
S=0i=1
WHILE i<=99 S=S+i^2
i=i+2WENDPRINT SEND
法二:用UNTIL语句编写程序如下:
S=0i=1DO
S=S+i^2
i=i+2
LOOP UNTIL i>99PRINT SEND
2
2
2
2
[层级一 学业水平达标]
1.下列问题,设计程序求解时,要用到循环语句的有( ) ①输入每个同学的数学成绩,求全班同学的平均分; ②求分段函数的函数值; ③求连续100个自然数的平方和; ④输入100个数,从中找出最大的数; A.1个 C.3个
B.2个 D.4个
解析:选C 求分段函数的函数值用条件语句,其余三个均需用循环语句解决. 2.如图程序运行的结果是( )
x=100i=1DO
x=x+10
i=i+1
LOOP UNTIL x=200PRINT x,iEND
8 / 14
共分享92篇相关文档