资源简介 VB循环语句 【教学目标】 了解程序中循环的基本概念 学会用计数循环、条件循环语句编写简单程序。 培养学生分析问题与解决问题的能力 【教学方法】 启发式教学、讲解与讨论、实验与探究 【教学过程】 一、引言 在上一节中,我们已经学习了判断语句,因为if语句与我们的日常逻辑思维过程几乎完全相同,所以学起来很容易掌握。学会了判断语句,会让我们的程序变得更聪明。 ?本节课学习循环语句。VB的循环语句有多种,我们只学习最常用的两种。(一节课学习一种)只要理解了这两种,其他循环语句基本上可以无师自通。 (展示:for…next循环与do…loop循环的语法格式) ? 二、几点看法 ?在各种程序语言的学习中,对初学者来说都会遇到三个坎:一是变量;二是循环;三是数组。因为这几个概念相对于比较直观的赋值、判断等概念来说显得十分抽象。在讲到这三个问题的时候,老师需要从学生的角度出发,了解学生心里是怎样理解的,并给予恰当的引导和帮助,使学生能顺利度过难关。如果过了这三关,才能算是基本入门了。 ?如果说判断语句会让我们的程序更聪明,那么循环语句有什么作用呢?那就是高效。我们常说一个程序可能会轻松完成十个人或者上百人的工作,这种高效率往往都是通过循环语句来体现的。老师应当从这一点入手,才会比较容易地让学生对循环语句有一个基本的印象。 ?三、教学要点: 1、for…next循环语句的语法格式 2、什么时候能用到循环语句?用循环语句有什么好处? 3、循环的过程是如何进行的? 4、体验一下循环的高效和神奇 ?注:关于循环语句的语法,只强调什么是关键字匹配、什么是循环体即可。可以把for…next语句和do…loop语句一同展示,只强调它们的一般区别,前者用于已确定循环次数的情况下,后者用于不能确定循环多少次的情况下。 ?四、教学过程设计 ????1、从一个简单的实例引入:什么时候用到循环? 假如有这样一项工作,我们需要批量打印一些标语,比如要把“爱护环境,人人有责”这句话打印三遍,你会怎样写代码? ? Private?Sub?Command1_Click()? ????Dim?a?As?String? ????a?=?"爱护环境,人人有责"? ????Print?a? ????Print?a? ????Print?a? End?Sub? ? 运行一下,效果是这样: 假如我们要把这句话打印十遍,你会怎样做?是不是把Print a?这行语句复制10行?没有错,完全可以。 ? 但是如果我们要打印100行,或者1000行,怎么办? ? 显然,这种方法毫无效率可言。既然每一行都是循环往复地重复完全相同的工作,那么我门只需要告诉它做多少次就可以了,这就要用到循环语句。 ? 代码可以这样写: Private?Sub?Command2_Click()?? ???? Dim?a?As?String?? ??? ?Dim?i?As?Integer?? ????a?=?"爱护环境,人人有责"?? ????For?i?=?1?To?10?? ??????Print?a?? ????Next?? End?Sub? 上面的10就是告诉程序,要把下面循环体中间的代码重复执行多少次,你可以把它改成100,1000,或者10000都可以,它可以在瞬间帮你完成任务。 ? 2、循环语句是如何工作的? 实例:求1-10之间所有整数的和。 ? 先给出代码: Private?Sub?Command3_Click()? ????Dim?h,?j?As?Integer????'h为和,j为被加数? ????For?j?=?1?To?10? ????????h?=?h?+?j? ????????Print?j,?h? ????Next? End?Sub ? 在我们没有给变量h、j赋值以前,它们的默认值都是0; 注意:h=h+i?这个表达式在数学上是不成立的,但在程序语言中经常用到。它和数学表达式中的含义完全不同:它表示将h当前的值加上j的值再重新赋给h,换言之,就是让h等于它的当前值再加上j的值。 我们先来推测一下: 当第1次循环的时候,h=0,??j=1,??h+j=1 当第2次循环的时候,h=1,??j=2,??h+j=3 当第3次循环的时候,h=3,??j=3,??h+j=6 当第4次循环的时候,h=6,??j=4,??h+j=10 …… …… …… 运行一下程序,看看和我们的推测是不是一样? ? 循环语句的工作原理就是这样的,是不是很简单? ? 五、作业:(梯度任务,任选一题) ????1、求1-100之间所有整数的和。 ????2、显示一个IP地址段的所有IP地址列表:从172.16.23.0到172.16.23.255 ? 参考代码: 1、(略) 2、提示:为了能显示所有行,应将结果显示在文本框中而不是窗口上。 ? 代码如下: ?'添加一个文本框text1,并将MultiLine(允许多行)属性设为True? 'ScrollBars(滚动条)属性设为2? Private?Sub?Command4_Click()? ????Dim?a,?b?As?String? ????Dim?i?As?Integer? ????a?=?"172.16.23."? ?Text1.Text?=?""? For?i?= 0?To?255 b?=?a?&?CStr(i)? Text1.Text?=?Text1.Text?&?b?&?vbCrLf? ?Next? End?Sub ? 运行效果如图: 展开更多...... 收起↑ 资源预览