循环结构的嵌套教案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VB程序设计中循环嵌套的使用
一、课题
循环结构的嵌套及其应用
二、教学对象分析
本节课的教学对象是计算机信息管理专业中职第二年的学生,学生基本是初中起点,有一定的数学基础和逻辑思考的能力。学生们对计算机知识有一定的认识,有着浓厚兴趣,却又不甚精通,普遍对程序设计有一定的畏难心理。在教学的过程中,主要从一个个简单的实例处出发,让学生们从自身的实践中去学习,培养兴趣、循循善诱、重在能力,提高综合素质和增强其逻辑思维能力。
三、教学内容分析
1、教学内容:本节课是《中文visual basic6.0实用教程-结构化程序设计》(人民邮电出版社)的第3章第4节中的内容,主要介绍for-next循环语句嵌套的应用,在介绍了for-next循环嵌套的语法后,重点讲解了几种常见循环嵌套错误的应用情况和项目实现。
2、该节内容的地位和作用:这部分内容对刚介绍过的for-next循环语句进行了拓展补充,而且循环语句的嵌套在第4章算法和程序设计方法及第5章数组和基本数据结构的项目拓展实例中反复出现,固牢牢掌握循环语句的嵌套具有承前启后的作用,必须理解其应用的逻辑,不然后面的内容没法开展。
3、教材中存在的问题:教材中介绍了几个常见的循环嵌套应用的项目实现,但缺少难度逐步过渡的过程,学生理解起来比较抽象。
四、教学目标
1、知识目标:了解循环结构程序设计的思想,准确掌握“for-next”循环结构的应用和循环嵌套语句的结构以及内外循环的功能。
2、能力目标:增强学生的逻辑思维能力,培养学生分析解决实际问题的同时,锻炼他们探索规律,举一反三,融会贯通的能力。
五、教学重点和难点
1、重点:循环嵌套语句的结构和使用
2、难点:内外循环的功能及print语句对输出格式的控制
六、教学方法
1、任务驱动法
2、梯度教学法
七、教学过程设计
【知识回顾】循环结构也称重复结构,它的作用是使一段程序能重复执行,被重复执行的
部分称为循环体。但重复一般都是有条件的,即在满足FOR语句中的条件下才执行循环体,否则退出循环体。下面我们就来看一下“FOR-NEXT”语句的语句格式:
格式:FOR〈变量名〉=〈表达式1〉 TO 〈表达式2〉 STEP〈表达式3〉
〈语句序列(循环体)〉
NEXT
说明:1)当步长为1时,STEP 1可省略不写;
2)语句序列中可以含有任意多条语句,也可无任何语句,称为空循环;
3)语句序列中可以含有循环结构;
4)有时需中途退出循环,这时用EXIT FOR命令。
实例1:试写出下述两段循环代码的输出结果。<课件演示代码执行步骤> For i=1 to 6 for i=1 to 6 step 2
Print “☆” print “☆”
Next next
Print “i=”;i print “i=”;i
(代码1)(代码2)
代码1的输出结果是在屏幕上的一列输出6个“☆”,并且输出i=7;代码2的输出结果是在屏幕上的一列输处3个“☆”,并且输出i=7。
提出问题:当需要在屏幕上的一行输出6个“☆”,上述[代码1]需要怎样修改?
(把print “☆”语句改成print “☆”;)
得出结论:print输出语句后面的;是用来控制显示的符号或文字是紧密输出还是分行显示。
【创设情境,引出循环嵌套结构】
前面我们已经解决了利用循环结构来在一行打印6个“☆”或者是在一列打印6个“☆”的问题,那么,如果我想要打印3行,每行6个“☆”,这个问题又该如何解决呢?
引导学生思考,可以将上面的“FOR-NEXT”语句再重复3次。(如下)
<课件演示代码执行步骤>
For i=1 to 6
Print “☆”;
Next i
Print ‘第一行的6个“*”输出完毕,第二行开始
For i=1 to 6
Print “☆”;
Next i
Print ‘第二行的6个“*”输出完毕,第三行开始
For i=1 to 6
Print “☆”;
Next i
这么写当然可以,可是,如果我们要打印10行、100行、1000行呢?这么写当然就不行了,由于我们已经知道了循环的次数,可以再利用一个“for-next”循环语句。这样就形成了
循环中套循环的结构,我们称为循环的嵌套。
实例2:利用循环的嵌套输出一个3行,每行6个“☆”的图形。<课件演示代码执行步骤> For i=1 to 3
For j=1 to 6
Print “☆”;
Next
Next
探究:若外层循环控制为1~8,内层循环还是1~6,查看图形效果
得出结论:内层循环次数控制一行中“☆”的个数,即列数;外层循环次数控制行数。
【举一反三,深入探究,加深理解】
查看书上的实例代码,利用上述我们得出的结论,外循环控制显示的行数,内循环则控制显示的列数。
实例3:查看以下代码,并描述其输出<课件演示具体程序执行流程>
For a=1 to 2
For b=5 to 3 step -2
Print a,b
Next
Next
Print “a=”;a,“b=”;b
分析以上代码,外循环变量a由1到2,固循环两次。每一次外循环里,内循环变量b都需要由5到3,并且其步长为-2(也就是说内循环也需要循环2次),并且每执行一次内循环
就打印输出变量a 和b 的值。当外循环完毕时,再输出变量a=?和变量b=?
[需要注意的是,内循环的循环体中print a,b 语句后面没有;]
实例4:九九乘法表中循环嵌套的应用 <课件演示具体代码>
For n1=1 to 9
For n2=1 to n1
Print Tab(n2 * 10 - 10); CStr(n2) & "*" & CStr(n1) & "=" & CStr(n1 * n2); Next
Next
特别注意print tab()对格式的控制及字符连接所构成的表达式格式。
【循环嵌套应用中的常见错误及其注意事项】
1:内循环与外循环的循环变量名称不能相同
2:外循环必须完全包含内循环,不可以出现交叉现象
<课件演示常见错误情况>
八、课后思考题
根据上面探究所得出的结论和方法,仔细观察下述图形,试着打印下面的图形: (1) (2)
* 1 2 3 4 5 6 7 8 9 1 1*1=1
2 2*1=2 2*2=4
3 3*1=3 3*2=6 3*3=9
4 4*1=4 4*2=8 4*3=12 4*4=16
5 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 ☆ ☆☆ ☆☆☆ ☆☆☆☆ ☆☆☆☆☆ ☆
☆☆☆
☆☆☆☆☆
☆☆☆☆☆☆☆
☆☆☆☆☆☆☆☆☆