课件27张PPT。3.直到型循环与当型循环的区别?
(1)直到型循环先执行后判断,当型循环先判断后执行.?
(2)直到型循环用?UNTIL语句,当型循环用WHILE语句.??
(3)直到型循环,不满足条件时执行循环体,满足条件时,跳出循环;当型循环,满足条件时,执行循环体,不满足条件时,跳出循环.?
(4)对同一算法来说,直到型循环和当型循环的条件互为反条件.1-2-3循环语句
一、选择题
1.下列对WHILE语句说法不正确的是( )
A.当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体
B.当条件不符合时,计算机不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句
C.WHILE型语句结构也叫当型循环
D.当型循环有时也称为“后测试型”循环
[答案] D
2.如图所示的四个框图,其中是WHILE语句结构的是( )
[答案] C
[解析] WHILE语句先判断后执行排除A、D,当条件满足时执行循环体,排除B.
3.下列说法正确的是( )
A.当型(WHILE)循环结构不能转化为直到型(UNTIL)循环结构
B.当型(WHILE)循环结构先执行循环体,后判断条件
C.当型(WHILE)循环结构先判断条件,后执行循环体
D.以上说法都不正确
[答案] C
[解析] 当型循环是先判断条件后再决定是否执行循环体,直到型循环是先执行循环体,后判断条件,它们之间可以进行转化,故选C.
4.下列需用循环语句编写程序的是( )
A.输入x的值,输出y=x2-3x的值
B.y=输入x的值,输出对应的函数值
C.求x的立方根
D.求5+6+7+8+…+101的值
[答案] D
5.下列程序的功能是( )
S=1
i=1
WHILE S<=2012
i=i+2
S=S×i
WEND
PRINT i
END
A.计算1+3+5+…+2012
B.计算×3×5×…×2012
C.求方程1×3×5×…×i=2012中的i值
D.求满足1×3×5×…×i>2012的最小整数i
[答案] D
[解析] 执行该程序可知S=1×3×5×…×i,当S≤2012开始不成立,即S>2012开始成立时,输出i,则求满足1×3×5×…×i>2012的最小整数i.
6.下图所示的程序运行后,输出的i的值等于( )
i=0
S=0
DO
S=S+i
i=i+1
LOOP WHILE S<=20
PRINT i
END
A.9 B.8 C.7 D.6
[答案] C
[解析] 第一次:S=0+0=0,i=0+1;
第二次:S=0+1=1,i=1+1=2;
第三次:S=1+2=3,i=2+1=3;
第四次:S=3+3=6,i=3+1=4;
第五次:S=6+4=10,i=4+1=5;
第六次:S=10+5=15,i=5+1=6;
第七次:S=15+6=21,i=6+1=7;
因为S=21>20,所以输出i=7.
7.阅读下列程序:
甲:i=1 乙:i=1000
S=0 S=0
WHILE i<=10000 DO
S=S+i S=S+i
i=i+1 i=i-1
WEND LOOP UNTIL i<1
PRINT S PRINT S
END END
对程序甲、乙和输出结果判断正确的是( )
A.程序不同,结果不同
B.程序不同,结果相同
C.程序相同,结果不同
D.程序相同,结果相同
[答案] B
[解析] 执行甲、乙程序后,可知都是计算1+2+3+…+1000的值.
8.已知如下程序,其运行结果是( )
A.j=j-1 B.j=100 C.j=10 D.j=9
[答案] D
[解析] 此程序是求使j2<100的最大正整数.又102=100,故输出结果为j=9.
9.下面程序运行后输出结果错误的是( )
A.i=1
s=0[来源:学
WHILE s<=10
i=i+1
s=s+i
WEND
PRINT s
END
输出结果为14 B.i=1
sum=0
WHILE i<=10
sum=sum+i
i=i+1
WEND
PRINT “sum=”;sum
END
输出结果为55
C.i=1[来源:
sum=0
WHILE i<=10
i=i+1
sum=sum+i
WEND
PRINT “sum=”;sum
END
输出结果为65 D.i=1
s=0
WHILE s<=10
s=s+i
i=i+1
WEND
PRINT s
END
输出结果为14
[答案] D
[解析] A中控制的循环条件是s≤10,但每次循环先将计数变量i赋值i=i+1,后给s赋值s=s+i.从而循环结束后,s=2+3+4+5=14,最后输出s=14.
B中控制循环的变量i从1变到10,每次循环,循环变量sum=sum+i,循环结束sum=1+2+3+…+10=55,并将其输出.
C中控制循环的计数变量i从1变到10,但在每次循环中先给i赋值i=i+1,然后才赋值sum=sum+i,故循环结束时,sum=2+3+4+…+11=65,最后输出sum.
D中控制循环的条件是s≤10,第一次(i=1)循环后,s=0+1=1,第二次(i=2)循环后,s=1+2=3,第三次(i=3)循环后,s=3+3=6,第四次(i=4)循环后,s=6+4=10仍满足条件s≤10,故再执行第五次(i=5)循环,s=10+5=15,最后输出s=15.故选D.
10.下面是求1~1000内所有偶数的和的程序,把程序框图补充完整,则( )
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.
二、填空题
11.在实际问题中会遇到许多有规律的重复运算,或在程序中需要对某些语句进行重复地执行,这样就需要用到________进行控制.[来源:学,科,网]
[答案] 循环语句
12.在WHILE循环中,要求对表达式进行判断,如果表达式为真,则执行________部分.
[答案] 循环体
13.写出下列程序的运行结果:
(1)I=1
K=6
WHILE I<=6
K=K-0.5
PRINT K
I=I+1
WEND
END[来源:学
________
(2)i=1
s=0
WHILE s<=10
i=i+1
s=s+i
PRINT s
WEND
END
________
[答案] (1)5.5,5,4.5,4,3.5,3 (2)2,5,9,14
[解析] 本题考查对当型循环程序的理解,要求据程序语句,写出运行的结果.(1)中控制循环的变量I从1每次增加1变到6,每次循环中变量K的值减小0.5并输出,故结果输出6个数5.5,5,4.5,4,3.5,3.
(2)每次循环都要将s的值输出,故(2)的答案为:2,5,9,14.
14.下面程序的功能是________.
[答案] 从键盘输入n的值,输出+++…+的值.
[解析] 控制循环的变量i初值1,步长1,终值n.累加变量S每次循环都加上,
∴S=++…+.
三、解答题
15.编写程序找出乘积为399的两个相邻奇数并输出.
[解析] 程序为:
[来源:Z&xx&k.Com]
16.编写程序求1-+-+…+-的值.
[解析] 分母是偶数的项为减,否则为加,用n=i MOD 2是否为1控制符号.程序为:
[点评] 控制符号的方法多种多样,例如可以用(-1)n来控制符号,则程序为
S=0,i=1
WHILE i<=1000
S=S+((-1)^(i+1))/i
i=i+1
WNED
PRINT S
END
17.下面程序的功能是输出1~100间的所有偶数.
程序:
i=1
DO
m=i MOD 2
IF __①__ THEN
PRINT i
END IF
②__
LOOP UNTIL i>100
END
(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
18.某高中男子体育小组的100 m赛跑成绩(单位:s)为:12.1,13.2,12.7,12.8,12.5,12.4,12.7,11.5,11.6,11.7,从这些成绩中搜索出小于12.1 s的成绩,并画出程序框图,编写相应程序.
[解析] 程序框图如图所示:
程序算法如下:
1.2.3循环语句(第三课时)
教学目标:
知识与技能
(1)正确理解循环语句的概念,并掌握其结构。
(2)会应用条件语句和循环语句编写程序。
过程与方法
经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力
重点与难点
重点:条件语句和循环语句的步骤、结构及功能。
难点:会编写程序中的条件语句和循环语句。
教学过程
问题提出
1.两种条件语句的一般格式分别是什么?
2.对于顺序结构、条件结构的算法或程序框图,我们可以利用输入语句、输出语句、赋值语句和条件语句写出其计算机程序.对于循环结构的算法或程序框图,要转化为计算机能够理解的算法语言,我们必须进一步学习循环语句.
知识探究(一):直到型循环语句
思考1:直到型循环结构的程序框图是什么?
思考2:该循环结构对应的循环语句的一般格式设定为:
你能说明计算机在执行上述语句时是怎样工作的吗?
先执行一次DO和UNTIL之间的循环体,再对UNTIL后的条件进行判断.如果条件不符合,则继续执行循环体;然后再检查上述条件,如果条件仍不符合,则再次执行循环体,直到条件符合为止.这时,计算机将不执行循环体,而执行UNTIL语句之后的语句.
思考3:计算1+2+3+…+100的值有如下算法:
第一步,令i=1,S=0.
第二步,计算S+i,仍用S表示.
第三步,计算i+1,仍用i表示.
第四步,判断i>100是否成立.若是,则输出S,结束算法;否则,返回第二步.
你能利用UNTIL语句写出这个算法对应的程序吗?
思考4:在下面的程序运行中,计算机输出的结果是多少?
-1
知识探究(二):当型循环语句
思考1:当型循环结构的程序框图是什么?
思考2:该循环结构对应的循环语句的一般格式设定为:
你能说明计算机在执行上述语句时是怎样工作的吗?
先对条件进行判断,如果条件符合,则执行WHILE和WEND之间的循环体;然后再检查上述条件,如果条件仍符合,则再次执行循环体,直到某一次条件不符合为止.这时,计算机将不执行循环体,而执行WEND语句之后的语句.
思考3:计算1+2+3+…+100的值又有如下算法:
第一步,令i=1,S=0.
第二步,若i≤100成立,则执行第三步;否则,输出S,结束算法.
第三步,S=S+i.
第四步,i=i+1,返回第二步.
你能利用WHILE语句写出这个算法对应的程序吗?
思考4:阅读下面的程序,你能说明它是一个什么问题的算法吗?
求满足x2<1000的所有正整数x的值.
理论迁移
例1 已知函数y=x3+3x2-24x+30,写出连续输入自变量的11个取值,分别输出相应的函数值的程序.
算法分析:
第一步,输入自变量x的值.
第二步,计算y=x3+3x2-24x+30.
第三步,输出y.
第四步,记录输入次数.
第五步,判断输入的次数是否大于11.若是,则结束算法;否则,返回第一步.
例2 将用“二分法”求方程 的近似解的程序框图转化为相应的程序.
课堂练习:
1.教材P32面1、2题
2. 下边程序运行后输出的结果为(D)
A.50 B.25 C.5 D.0
3. 下边程序执行后输出的结果为(D)
A.-1 B.0 C.1 D.2
4.山东执行右边的程序框图,若p=0.8,则输出的n=___4___ .
5.阅读图4的程序框图,若输入则输出 12 ,
3 。(注:框图中的赋值符号“=”也可以写成“”或“”)
小结作业
1.两种循环语句源于两种循环结构,直到型循环语句先执行循环体,再判断条件;当型循环语句先判断条件,再执行循环体.
2.直到型循环语句在条件不符合时再执行循环体,当型循环语句在条件符合时再执行循环体.
《习案》作业七
1. 2.3循环语句
【教学目标】:
1.正确理解循环语句的概念,并掌握其结构。
2.会应用循环语句编写程序。
【教学重难点】:
教学重点:两种循环语句的表示方法、结构和用法,用循环语句表示算法。
教学难点:理解循环语句的表示方法、结构和用法,会编写程序中的循环语句。
教学过程: 算法中的循环结构是由循环语句来实现的。对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。即WHILE语句和UNTIL语句。
WHILE语句
(1)WHILE语句的一般格式是 对应的程序框图是
(2)当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句。因此,当型循环有时也称为“前测试型”循环。
UNTIL语句
(1)UNTIL语句的一般格式是 对应的程序框图是
(2)直到型循环又称为“后测试型”循环,从UNTIL型循环结构分析,计算机执行该语句时,先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOP UNTIL语句后执行其他语句,是先执行循环体后进行条件判断的循环语句。
分析:当型循环与直到型循环的区别:(先由学生讨论再归纳)
当型循环先判断后执行,直到型循环先执行后判断;
在WHILE语句中,是当条件满足时执行循环体,在UNTIL语句中,是当条件不满足时执行循环体。
例1:编写程序,计算自然数1+2+3+……+99+100的和。
分析:这是一个累加问题。我们可以用WHILE型语句,也可以用UNTIL型语句。
程序(WHILE语句):
i=1
sum=0
WHILE i<=100
sum=sum+i
i=i+1
WEND
PRINT sum
END
程序(UNTIL语句):
i=1
sum=0
DO
sum=sum+i
i=i+1
LOOP UNTIL i>100
PRINT sum
END
变式训练1.编写一个程序,输入正整数n,计算它的阶乘n!(n!=n*(n-1)*…*3*2*1)
解:t=1
i=1
INPUT "请输入n的值:";n
DO
t=t*i
i=i+1
LOOP UNTIL i>n
PRINT "这个数的阶乘为:";t
END
例2.编写程序,计算函数f(x)=x2-3x+5当x=1,2,3,…,20时的函数值。
解:x=1
WHILE x<=20
y=x^2 -3*x+5
PRINT "x=";x
PRINT "y=";y
x=x+1
WEND
END
变式训练2设计一个算法:求满足1+2 + 3 + … + n>10000的最小正整数n,并写出相应的程序。
解:i = 0
sum = 0
DO
i = i + 1
sum = sum + i
LOOP UNTIL sum>10000
PRINT i
END
小结1、循环语句的两种不同形式:WHILE语句和UNTIL语句,掌握它们的一般格式。2、在用WHILE语句和UNTIL语句编写程序解决问题时,一定要注意它们的格式及条件的表述方法。WHILE语句中是当条件满足时执行循环体,而UNTIL语句中是当条件不满足时执行循环体。3、循环语句主要用来实现算法中的循环结构,在处理一些需要反复执行的运算任务。如累加求和,累乘求积等问题中常用到。
【作业布置】:
设计一个算法:逐个输出12,22,32,……,n2,并写出相应的程序。
解:INPUT n INPUT n
i = 0 i = 0
DO WHILE i < n
i = i + 1 i = i + 1
t = i ^ 2 t = i ^ 2
PRINT t PRINT t
LOOP UNTIL i > = n WEND
END END
【板书设计】:
1.2.3循环语句
课前预习学案
一、预习目标
1、充分地感知、体验应用计算机解决数学问题的方法;
2、正确理解循环语句的概念,并掌握其结构;
3、能初步操作、模仿, 应用循环语句编写程序。
二、预习内容
1. 在一些算法中,从某处开始,按照一定条件,反复执行某一处理步骤的情况,这
就是 反复执行的处理步骤称为 。
2. 算法中的循环结构是由 来实现的。对应于程序框图中的两种循环结构,
一般程序设计语言中也有当型( 型)和直到型( 型)两种语句结构。即
语句和 语句。
提出疑惑
1、两种循环结构有什么差别?
2、参照当型循环结构,说说计算机是按怎样的顺序执行WHILE语句的?
3、参照直到型循环结构,说说计算机是按怎样的顺序执行UNTIL语句的?
课内探究学案
学习目标
1.正确理解循环语句的概念,并掌握其结构。
2.会应用循环语句编写程序。
二、学习重难点:两种循环语句的表示方法、结构和用法,用循环语句表示算法,会编写程序中的循环语句。
三、学习过程
循环结构有两种----- 型与 型.
10 循环结构(当条件满足时反复执行循环体); 20 型循环结构(反复执行循环体直
到条件满足).
所以, 循环语句的两种不同形式:WHILE语句和UNTIL语句
10 WHILE语句: (WEND——朝……方向行走);20 UNTIL语句(LOOP UNTIL—绕环回线走, 直到达到某种条件为止)
探究:当型和直到型各自的特点
当型:
直到型:
(二)精讲点拨:
例1.编写程序,计算自然数1+2+3+……+99+100的和。
变式训练1.编写一个程序,输入正整数n,计算它的阶乘n!(n!=n*(n-1)*…*3*2*1)
解:
例2.编写程序,计算函数f(x)=x2-3x+5当x=1,2,3,…,20时的函数值。
解:
变式训练2设计一个算法:求满足1+2 + 3 + … + n>10000的最小正整数n,并写出相应的程序。
解:
(三)反思总结:
(四)当堂检测:
1、编写程序,输入正整数n,计算它的阶乘。
2、编写程序,计算下面n个数的和:。
3、某牛奶厂2002年初有资金1000万元,由于引进了先进的设备,资金年平均增长
率可达到50%。请你设计一个程序,计算这家牛奶厂2008年底的资金总额。
课后练习与提高
一、选择题
1.某程序框图如图所示,该程序运行后输出的的值是 ( )
A. B. C. D.
2. 如图,下边(左)程序框图所进行的求和运算是( )
A. + + + … + B.1 + + + … +
C. 1 + + + … + D. + + + … +
二、填空题
3.执行右边的程序框图,若p=0.8,则输出的n= .
4.阅读下图(右)程序框图,该程序输出的结果是 .
1.2.3 循环语句
课时目标
1.理解给定的两种循环语句,并会应用.
2.应用两种循环语句将具体问题程序化,搞清当型循环和直到型循环的联系和区别.
1.循环语句
循环语句与程序框图中的循环结构相对应,一般程序设计语言中都有直到型和当型两种循环语句结构,分别对应于程序框图中的直到型和当型循环结构.
2.两种循环语句的对比
名称
直到型
当型
格式
DO
循环体
LOOP_UNTIL 条件
WHILE 条件
循环体
WEND
功能
先执行一次DO和UNTIL之间的循环体,再判断UNTIL后的条件是否符合,如果不符合,继续执行循环体,然后再检查上述条件,如果条件仍不符合,再次执行循环体,直到条件符合时为止.这时计算机不再执行循环体,跳出循环体执行UNTIL语句后面的语句.
先判断条件的真假,如果条件符合,则执行WHILE和WEND之间的循环体,然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止,这时不再执行循环体,跳到WEND语句后,执行WEND后面的语句
对应
程序
框图
一、选择题
1.下列给出的四个框图,其中满足WHILE语句格式的是( )
A.(1)(2) B.(2)(3)
C.(2)(4) D.(3)(4)
答案 B
解析 WHILE语句的特点是“前测试”.
2.下列算法:
①求和+++…+;
②已知两个数求它们的商;
③已知函数定义在区间上,将区间十等分求端点及各分点处的函数值;
④已知三角形的一边长及此边上的高,求其面积.
其中可能要用到循环语句的是( )
A.①② B.①③
C.①④ D.③④
答案 B
3.循环语句有WHILE和UNTIL语句两种,下面说法错误的是( )
A.WHILE语句和UNTIL语句之间可以相互转化
B.当计算机遇到WHILE语句时,先判断条件真假,如果条件符合,就执行WHILE和WEND之间的循环体
C.当计算机遇到UNTIL语句时,先执行一次DO和UNTIL之间的循环体,再对UNTIL后的条件进行判断
D.WHILE语句与UNTIL语句之间不可以相互转化
答案 D
4.下面的程序运行后第3个输出的数是( )
A.1 B. C.2 D.
答案 C
解析 该程序中关键是循环语句,
第一次输出的数是1,
第二次输出的数是x=1+=,
第三次输出的数是x=1++=2.
5.下边程序执行后输出的结果是( )
A.-1 B.0 C.1 D.2
答案 B
解析 由于5+4+3+2=14,这时仍满足条件“S<15”,
∴n=2-1=1时,S=14+1=15,
当执行完循环体n=1-1=0后,再判断条件,此时不满足条件“S<15”,
接着执行“PRINT n”.所以n=0.
6.运行下面的程序,执行后输出的s的值是( )
i=1
WHILE i<6
i=i+2
s=2*i+1
WEND
PRINT s
END
A.11 B.15 C.17 D.19
答案 B
解析 当i=3时,s=7,当i=5时,s=11,
此时仍满足条件“i<6”,因此再循环一次,
即i=7时,s=15,此时不满足“i<6”,
所以执行“PRINT s”,即s=15.
二、填空题
7.运行下面的程序,输出的值为__________.
答案 7
解析 由于循环体是先执行S=S+i,再执行i=i+1,然后进行判断,当S=1+2+3+4+5=15时,执行i=5+1=6,这时15<18成立,再循环一次S=15+6=21,i=6+1=7,这时再判断21<18不成立,于是执行“PRINT i”,即i=7.
8.下面程序表示的算法是________.
答案 求使1×2×3×…×n>5 000的n的最小正整数
9.下面是一个求20个数的平均数的程序,在横线上应填充的语句为________.
答案 i>20
三、解答题
10.用UNTIL语句编写一个程序,输出使1+4+7+…+i≥300成立的最小的正整数.
解
11.分别用当型和直到型循环语句编写一个程序,计算2×4×6×…×100的值.
解 (1)当型:
i = 2
A=1
WHILE i<=100
A=A*i
i=i+2
WEND
PRINT A
END
(2)直到型:
i = 2
A=1
DO
A=A*i
i=i+2
LOOP UNTIL i>100
PRINT A
END
能力提升
12.读程序:
甲: 乙:
对甲、乙两程序和输出结果判断正确的是( )
B.程序不同,结果不同
B.程序不同,结果相同
C.程序相同,结果不同
D.程序相同,结果相同
答案 B
13.设计算法求+++…+的值,并画出程序框图及编写程序.
解 算法如下:
第一步:令S=0,i=1;
第二步:若i≤99成立,则执行第三步;
否则,输出S,结束算法;
第三步:S=S+;
第四步:i=i+1,返回第二步.
程序框图:
方法一 当型循环程序框图: 程序如下:
方法二 直到型循环程序框图: 程序如下:
1.当型循环与直到型循环的区别
(1)当型循环先测试后执行,直到型循环先执行后测试;
(2)在当型循环语句中,是当满足条件时执行循环体,而在直到型循环语句中,是当不满足条件时执行循环体;
(3)对同一算法来说,当型循环语句和直到型循环语句中的条件互为反条件.
2.应用循环语句编写程序要注意以下三点
(1)循环语句中的变量一般需要进行一定的初始化操作,也就是要设置一些变量的初始值.
(2)循环语句在循环的过程中需要有“结束”的语句,程序中最忌“死循环”.
(3)在循环中要改变循环条件的成立因素.
程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循环体的条件.