导学案 §1.2.3循环语句
学习目标:通过实例,理解两种循环语句的表示方法、结构和用法;
能用两种循环语句表示算法,进一步体会算法的基本思想。
重点:两种循环语句的表示方法、结构和用法,用循环语句表示算法。
难点:理解循环语句的表示方法、结构和用;两种循环语句的区别和联系。
复习回顾:
两种循环结构的形式以及程序框图
二、新知学习
1、UNTIL语句(直到型循环语句)
(1)UNTIL语句的一般格式是 对应的程序框图:
(2)计算机执行UNTIL语句时,先执行一次_______和_________之间的_____________,再对UNTIL后______________,如果条件______________,执行______________。然后再______________,如果______________,______________,这个过程反复执行,直到某一次______________为止,这时______________循环体,跳出循环体执行____________________________的语句。
2、WHILE语句(当型循环语句)
(1)WHILE语句的一般格式是 对应的程序框图:
(2)计算机执行此程序时,遇到WHILE语句,先判断条件是否成立,如果_________,则执行_______和___________之间的__________;然后再判断上述条件,如果条件_________,再执行循环体,这个过程反复进行,直到____________________为止,这时不再执行循环体,将跳到WEND语句后,执行____________________的语句。
3、当型循环与直到型循环语句的异同:
异:(1)当型循环先判断后执行,直到型循环先执行后判断;
(2)当型循环用WHILE语句,直到型循环用UNTIL语句;
(3)对同一算法来说,当型循环和直到型循环的条件互为反条件。
同:都是反复执行的循环体语句。
三、范例研究:
例1、设计一个计算1×3×5×7×…×99的算法,编写算法程序。
例2、求平方值小于2000的最大整数
例3、已知函数y=x3+3x2-24x+30,
分别计算当x=-5,-4,-3,
-2,-1,0,1,2,3,4,5时的函数值。
以前的程序如右图,运行一次只能算一个值,
请重新编一个程序,运行一次能求出所有的值
四、课堂练习
1、下边程序执行后输出的结果是 ( )
A、-1 B、0 C、 1 D、2
2、右上面为一个求20个数的平均数的程序,在横线上应填充的语句为 ( )
A、 B、 C、 D、
3、写出求1+2+22+23+…+263的值的程序
4、写出下列程序运算功能的算术表达式(不计算,只写式子)。
(1) (2)
上述程序的结果为 上述程序的表达式为
分别写出下列算法语句(1)和(2)运行的结果(1)________;(2)________.
(1) S=0
i=0
DO
S=S+i
i=i+1
LOOP UNTIL S>20
PRINT i
END
6、下面的程序的结果是
i=1
S=1
WHILE i<=4
S=S×i
i=i+1
WEND
PRINT S
END
7、如果上边程序执行后输出的结果是132,那么在程序until后面的“条件”应为 。
8、当时,上面的程序段结果是 。
五、课堂小结
1、算法中的循环结构可以用循环语句实现。循环语句的两种形式:WHILE语句和UNTIL语句,掌握它们的一般格式。
2、在用WHILE语句和UNTIL语句编写程序解决问题时,一定要注意它们的格式及条件的表述方法。WHILE语句中是当条件满足时执行循环体,而UNTIL语句中是当条件不满足时执行循环体。
六、学习反思
编写计算机程序计算1+2+3+……+100的值。
i=1
s=0
DO
s=s+I
i=i+1
LOOP UNTIL i>100
PRINT s
END
满足条件?
循环体
是
否
DO
循环体
LOOP UNTIL 条件
i=1
s=0
WHILE i<=100
s=s+i
i=i+1
WEND
PRINT s
END
WHILE 条件
循环体
WEND
满足条件?
循环体
否?
是?
INPUT“x=”;x
y=x^3+3*x^2-24*x+30
PRINT x,y
END
i=1
s=0
DO
INPUT x
s=s+x
i=i+1
LOOP UNTIL ______________
a=s/20
PRINT a
END
n=5
s=0
WHILE s<15
s=s+n
n=n-1
WEND
PRINT n
END
i=1
S=0
DO
S=S+1/(2*i+1)
i=i+1
LOOP UNTIL i>=10
PRINT S
END
N=2
T=1
WHILE N<=6
T=N*T
N=N+1
WEND
PRINT T
END
(2)S=0
i=0
DO
i=i+1
S=S+i
LOOP UNTIL S>20
PRINT i
END
i=1
s=0
WHILE i<=4
s=s*x+1
i=i+1
WEND
PRINT s
END
i=12
S=1
DO
s=s*i
i=i-1
LOOP UNTIL “条件”
PRINT s
第8题
第7题
第6题天天练 §1.2.3循环语句
1、下列对WHILE语句,说法不正确的是( )
A、当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体。
B、当条件不符合时,计算机不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句。
C、WHILE型语句结构也叫当型循环。
D、当型循环有时也称为“后测试”型循环。
2、读程序,对甲乙两程序和输出结果判断正确的是( )
A、程序不同结果不同
B、程序不同,结果相同
C、程序相同结果不同
D、程序相同,结果相同
3、程序运行后输出的结果为( )
A、 17 8 B、21 7 C、21 8 D、19 8
4、如果程序执行后输出的结果是132,
那么在程序until后面的“条件”应为 ( )
A、i > 11 B、i >=11
C、i <=11 D、i<11
5、右边程序输出的n的值是_____________________.
6、求 1+1/2+1/3+1/4+…+1/100的值,用程序表示。
7、下左程序运行后输出的结果为 ( )
A. 50 B. 5 C. 25 D. 0
8、上右程序运行后输出的结果为 ( )
A. 3 4 5 6 B. 4 5 6 7 C. 5 6 7 8 D. 6 7 8 9
9、在如图所示的算法流程图中,输出S的值为 ( )
A、11 B、12
C、13 D、15
10、右上程序框图表示的算法的功能是 .
12、给出30个数:1,2,4,7,……,其规律是:第1个数是1,第2个数比第1个数大1, 第3个数比第2个数大2,第4个数比第3个数大3,依此类推.要计算这30个数的和,现已给出了该问题算法的程序框图(如图所示),(I)请在图中判断框内(1)处和执行框中的(2)处填上合适的语句,使之能完成该题算法功能;(II)根据程序框图写出程序.
14.如果执行下面的程序框图,那么输出的S等于 。
5、执行右图中的程序框图,输出的T=
A 10
B 24
C 30
D 40
7. 按右图所示的流程图运算,则输出的z= ▲ .
如下面的图a和图b,则错误的图是_________,理由是_________.
解析:图b将出现死循环.
答案:b b将出现死循环
甲
i=1
S=0
WHILE i<=1000
S=S+i
i=i+l
WEND
PRINT S
END
乙
i=1000
S=0
DO
S=S+i
i=i-1
Loop UNTIL i<1
PRINT S
END
j=1
n=0
WHILE j<=11
j=j+1
IF j MOD 4=0 THEN
n=n+1
END IF
j=j+1
WEND
PRINT n
END
i=12
s=1
DO
s= s ※ i
i = i-1
LOOP UNTIL “条件”
PRINT s
END
(第4题)
I=1
WHILE I<8
I=I+2
S=2*I+3
I=I-1
WEND
PRINT S, I
END
(第3题)
x=1
y=1
WHILE x<=4
Z=0
WHILE y<=x+2
Z=Z+1
y=y+1
WEND
PRINT Z
x=x+1
y=1
WEND
END
第8题
a=0
j=1
WHILE j<=5
a=(a+j) MOD 5
j=j+1
WEND
PRINT a
END
第7题
开始
S=0
i=3
i=i+1
S=S+i
i>5
输出S
结束
是
否
(第9题)
结束
开始
I←1
y←5
z←2y-x
输出z
N
Y
(第7题)
x←2
x←y
y←z
I←I+1
I>100
-----------------------------------------------------------------------------------------------------------------------------------
小结与反思: