首 页科组简介下载中心文章中心客户留言论 坛博 客加入收藏
您当前的位置:惠州一中电教科组 -> 学科教学 -> 精品教案 -> 文章内容
 
栏目导航
热门文章
· 第十一届全国青少年..
· 2007广东省普通高中..
· 2007广东省普通高中..
· [图文] 颠覆传统快捷..
· 2006年广东省信息技..
· [推荐] OIBH的NOIP模..
· 2006年广东省信息技..
· 2006年广东省信息技..
· 2006年广东省信息技..
· [推荐] NOIP2007模拟..
相关文章
2.4程序的循环结构
作者:zhang  来源:本站原创  发布时间:2008-1-11 16:29:01  发布人:zhang

减小字体 增大字体

2.4程序的循环结构
 
[授课形式]
讲授课、实践课
[教学目的]
让学生掌握循环结构的DO—LOOP UNTIL语句的使用,然后举一反三地使用其他的三种DO循环语句, 掌握FOR—NEXT循环语句的使用和循环嵌套的使用。
[教学重点]
1、DO—LOOP UNTIL语句的格式、作用。
2、FOR—NEXT循环语句的格式,
3、在程序中如何用循环嵌套来实现穷举法。
[教学难点]
1、四种 DO循环语句的区别和联系。
2、FOR—NEXT循环嵌套的使用。
[教学方法]
讲授法、探究法、演练法
[教学课时]
    3课时
[教学过程]
一、概述(引入)
(一)循环结构用于处理需要重复执行的某一组操作,例如:
1、将若干名学生的成绩依次出入及输出;
2、求S=1+2+3…+99+100;
3、求若干种商品的平均价格;
4、将1到100之间奇数顺序累加,等等。
(二)什么是循环结构?
    在程序设计中,经常将某项任务转化为重复多次去执行的某一项操作,这种多次重复某项操作的程序结构叫做循环结构。
(三)VB提供多种实现循环结构的语句
1、DO循环结构
2、FOR循环结构
 
 

语句
条件
下一条语句
Y
N
二、DO-LOOP UNTIL循环语句

(一)DO-LOOP UNTIL循环语句的一般形式:
DO
     〈循环体〉
LOOP UNTIL〈循环终止条件〉
(二)功能:重复执行DO与LOOP UNTIL之间的循环体直至条件成立时退出循环。
(三)说明:每次进入循环体都是从DO命令开始,先执行一次循环体,然后判断是否满足循环体终止条件,若满足条件则退出循环,否则继续进行循环。
(四)实例研究
例1:求1+2+3+...+100
分析:用s表示累加变量,i表示累加数据,可以通过累加实现:i从0开始,每次加1,直到i的值为1为100,这时循环停止。而重复执行的操作就是i=i+1,s=s+I,这样可实现累加。
用DO-LOOP UNTIL编写程序如下:
Private Sub Command1_Click()
s = 0
i = 0
Do
   i = i + 1: s = s + i       '反复执行100次
Loop Until i >= 100
Print "1+2+3+...+100="; s
End Sub
用DO-LOOP WHILE编写程序如下:
s = 0
i = 0
Do
   i = i + 1: s = s + i       '反复执行100次
Loop While i < 100
Print "1+2+3+...+100="; s
(五)探究:求累乘1×2×3×……×100
[指导学生练习交流]
 
 
三、DO-LOOP WHILE循环语句的格式以及功能。
(一)DO-LOOP WHILE循环语句的一般形式:
DO
     〈循环体〉
LOOP WHILE  〈循环条件〉
(二)功能:当条件成立时,重复执行DO与LOOP WHILE之间的循环体直至条件不成立时退出循环。
(三)实例研究
例:求满足1+2+…+n>10000的最小的自然数n。
分析:可以通过累加实现求各。累加变量为t,累加数用i表示。i从0开始,每次加1并累加到t中,直至t的值超过10000。
(四)举一反三
1、用DO-LOOP UNTIL编写的程序如下:
    t = 0: i = 0
Do
       i = i + 1: t = t + i
Loop Until t > 10000
n = i
Print "n="; n
2、用DO WHILE-LOOP编写的程序如下:
t = 0: i = 0
Do While t < 10000
       i = i + 1: t = t + i
Loop
n = i
Print "n="; n
3、用DO UNTIL-LOOP编写的程序如下:
   t = 0: i = 0
Do Until t > 10000
       i = i + 1: t = t + i
Loop
n = i
Print "n="; n
四、思考:四种DO循环语句有什么区别和联系?
 
判断条件所在位置
退出循环时条件的值
循环体至少可执行的次数
Do-loop until
语句的结尾部分
1
Do-loop while
语句的结尾部分
1
Do until-loop
语句的开头部分
0
Do while-loop
语句的开头部分
0
联系:凡是用WHILE语句可以解决的问题,全部UNTIL解决。
五、学生练习
当t<=10执行“i=i+1: t=t×i”直至条件不成立。
Cls
i = 0: t = 1
Do While t <= 10
         i = i + 1: t = t * i
Loop
Print i, t
重复执行“i=i+1 : t=t×i”直到条件t>10成立。
Cls
i = 0: t = 1
Do
         i = i + 1: t = t * i
Loop Until t>10
Print i, t
六、FOR循环语句
在循环结构中,循环变量的变化范围是已知的,这种循环称为计数型循环,可用FOR循环来实现。
(一)FOR-NEXT循环语句的一般形式:
FOR <变量>=<初值> TO <终值> STEP <步长>
循环体
NEXT <变量>
(二)功能:循环变量从初值开始,执行其中的循环体,然后循环变量每次增加一个步长值,继续执行循环体,直至循环变量的值超过终值。
(三)说明:
1、FOR与NEXT必须配对,FOR语句称为“循环起始语句”,它的作用是确定循环变量的值如何变化,从而控制循环的次数;NEXT语句称为“循环终断语句”。
2、FOR必须在NEXT的前面;
3、FOR中的循环变量与NEXT的变量一致;
4、步长为1时“ STEP 1”可省略即循环语句中没有写出步长,则默认步长值为1;
5、循环终止的条件是循环变量赋值超过终值,而不是等于终值。
6、循环次数的计算:  次数=(终值一初值)/步长+1 
7、循环变量尽量用整型变量; 
8、循环变量初值和终值、步长值均可以是正值、负值或零,也可是整数或小数,也可是变量或表达式;
终止条件:  当步长>0时,循环变量>终值 
         当步长<0时,循环变量<终值 
         当步长=0时,永不终止 
9、循环变量主要用来控制循环,可在循环体内引用,也可不在循环体出现。
 如:
for i=1 to 100 
print "a" 
next i
for i=1 to 100 
print i
next i
  注意:在循环体内可对循环变量赋值,但这将改变循环次数。如:
    for i=1 to 100
print i
i=i+1
next i
(四)exit for 语句:提前终止语句
如: for i=1 to 100
     s = s + i * i
      if s > = 100 then exit for
next i 
print s 
(五)例1:顺序将10们学生的成绩输入及输出。
   程序如下:
   for i=1 to 10
s=inputbox(“输入成绩”,”提示”,””)
print s
   next i
七、循环的嵌套
循环嵌套:在一个循环体内完整地包含另一个循环,称为循环的嵌套。
使用嵌套要注意的问题:
(一)内外循环不应交叉。

for i
   for k
   next i
next k
不正确
 
for i
   for k
   next k
next i
正确

如:

(二)内外循环的循环变量名不应相同。如下例是错误的:
   for k=1 to 9
     for k=1 to 9
       print “$”
     next k
   next k
(三)例:打印乘法九九表
分析:用a,b分别表示被乘数与乘数,它们分别从1变化到9,对于每个a,b的取值,输出相应的乘法式子。
程序如下:
For a = 1 To 9
        For b = 1 To 9
          Print Tab(12 * b - 12); a; "*"; b; "="; a * b;
        Next b
        Print              ‘换行
Next a
或如下:
For a = 1 To 9
   For b = 1 To 9
      Print Tab(9 * b - 9); a & "*" & b & "=" & a * b;
   Next b
   Print              '换行
Next a
八、综合例子:
当一个三位数其各位数字的立方和刚好等于它本身,如:13+53+33=153,我们就称这样的三位数为“水仙花数”。编一程序,求出所有的“水位花数。
分析:采用穷举法解决问题。用a、b、c分别表示三位的百、十、个位。这样,a从1到9,b、c分别从0到9,步长都是1。对a、b、c每个取值,用x表示各位数字的立方和,y表示数本身,然后判断是否满足条件x=y,如果满足那y就是所求的数。
程序如下:
For a = 1 To 9
       For b = 0 To 9
          For c = 0 To 9
             x = a ^ 3 + b ^ 3 + c ^ 3
             y = 100 * a + 10 * b + c
             If x = y Then Print y; "="; a; "^3+"; b; "^3+"; c; "^3"
          Next c
       Next b
Next a
九、练习:猴子吃桃:每次吃掉一半多一个,直到第10天只剩一个,第一天共摘了多少个桃子?
程序如下:
x = 1
For n = 10 To 1 Step -1
        x = (x + 1) * 2
Next n
Print "第一天猴子共摘了:"; x; "个桃子。"
十、小结
1、DO—LOOP UNTIL语句的格式、作用。
2、FOR—NEXT循环语句的格式,
3、在程序中如何用循环嵌套来实现穷举法。
 
] [返回上一页] [打 印] [收 藏]
上一篇文章:2.3程序的选择结构
下一篇文章:2.5模块化程序设计
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]

 
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登录
Copyright © 2002-2008 dj.hzyz.net. All Rights Reserved .2006