循环结构的嵌套教案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

Print

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 ☆ ☆☆ ☆☆☆ ☆☆☆☆ ☆☆☆☆☆ ☆

☆☆☆

☆☆☆☆☆

☆☆☆☆☆☆☆

☆☆☆☆☆☆☆☆☆

相关文档
最新文档