VB循环结构程序设计
-for…next循环语句
一、基本说明
1、教学内容所属模块:选修1《算法与程序设计》
2、年级: 高二
3、所用教材出版单位:上海科技教育出版社
4、所属的章节:第二章 第四节 循环结构
5、学时数:45分钟
6、作者:徐娟 所在单位:隆回县第十二中学
E-mail:
二、教学设计
教学目标 知识 1.了解循环结构的构建。2.掌握for…next语句的格式及其功能。3.灵活运用for…next语句。
技能 通过编写程序,让学生会运用for/next语句实现循环流程控制。
情感价值观 1.通过问题和算法分析过程,促进逻辑分析能力的提高。2.通过活动的实践,体验循环结构的构建和实现过程。3.能够运用循环结构的知识和技能,阅读和欣赏更多的关于循环问题的程序。
教学重点 循环结构的构建,运用循环语句实现对循环流程的控制。
主要教学方法 通过计算机阅卷及一个简单程序引出循环结构,遵循从易到难,由浅到深的循序渐进的开放式课堂教学。教师采用分析法、演示法、实验法和讨论法等多种教学方法,充分体现了学生是教学活动中的主体;而教师通过对学生参与学习的启发、调整、激励来体现自己的主导作用。使学生在协作学习中目标明确、态度积极、气氛活跃,注意培养学生掌握结构化程序设计思想。
教学过程
教师活动 学生活动 教学意图
[复习引入]:同学们分组讨论:现在我们很多考试都使用答题卡,都是采用计算机阅卷,那么计算机是怎样阅卷,怎样进行这项重复工作的呢? 学生议论纷纷,气氛活跃 通过身边的事例引起学生好奇心,导出新课
同学们:首先我们从一个简单的例题说起:例1:编写一个程序:打印5行竖排的“*”。如果是打印10行、100行、1000行甚至更多的竖排“*”,那我们用循环就很容易实现。 学生稍做思考并编写出程序:Private Sub form_click()PRINT “*”PRINT “*”PRINT “*”PRINT “*”PRINT “*”End Sub 复习一下前面所学内容,从简单到复杂
这就是我们今天要学的循环结构,循环结构也称重复结构,它的作用是使一段程序能重复执行,被重复执行的部分称为循环体。但重复一般都是有条件的,即在满足FOR语句中的条件下才执行循环体,否则退出循环体。下面我们就来看一下FOR/NEXT循环语句的格式:FOR〈循环控制变量〉=〈初值〉TO〈终值〉STEP〈循环变量增量(步长)〉〈循环体语句块(循环体)〉NEXT 〈循环控制变量〉说明:1)循环控制变量必须为整型;2)当步长(循环变量增量)为1时,STEP 1可省略不写;3)语句序列(循环体)中可以含有任意多条语句,也可无任何语句,称为空循环;4)语句序列中可以含有循环结构;5)FOR语句与NEXT语句必须成对出现,缺一不可。6)FOR语句与NEXT语句的循环变量是同一变量。7)有时需中途退出循环,这时用EXIT FOR命令。1、给出上例的程序代码,并通过流程图加以理解 :Private sub form_click()FOR I=1 TO 5 STEP 1PRINT “*”NEXT IEnd Sub在上例中,FOR语句称为“循环起始语句”,它的作用是确定循环变量的值如何变化,从而控制循环的次数;I是循环变量,它的值在执行过程中是变化的,它的初值为1,终值为5,循环增量(步长)为1。流程图见附件 学生分组讨论并上机调试程序。 在教师的点拨下,学生很快能把程序稍作修改,实现打印1000行“*”的程序。
2、设置“陷阱”,深化理解语句格式1)学生分成四组讨论,然后每组完成一题,发现错误并纠正。(给出四组题目见附件)教师收集结果并作分析。3、请同学们阅读下面程序,写出结果并上机验证,画出流程图,说明程序功能。示题:for i=1 to 3 step 1print inext iend[程序执行过程分析]第几次循环循环开始时i的值执行NEXT之后i的值i与终值比较执行下一次循环否?123123234<3=3>3执行执行停止执行出示流程图:见附件。4、阅读下面程序,深化对程序的理解。5、突破难点,尝试独立编程。刚才我们通过分析阅读已有程序,对循环结构又有了进一步理解,但我们不能仅局限在看懂、读懂程序上,我们的目的是要自己完成程序设计。首先要进行审题,认真分析题目需要解决什么问题,达到什么目的(算法);然后从已知条件出发,分析经过哪些处理才能解决问题。再把分析出来的处理步骤用流程图表示出来(流程图);最后用VB语言描述出各个解题步骤,程序设计就不会让你束手无策(编写代码)。下面我们就参照例题,按照老师介绍的程序设计步骤,试着自己来编制2个程序:依次在屏幕上打印2、4、6、…、20的平方。求1+1/2+1/3+1/4+…+1/10的值。 采取分组讨论,共同讨论得出算法,画出流程图,最后由学生独立写出VB程序代码,并上机调试。 开展讨论,发挥学生学习的积极性,培养学生之间互相协作、共同解决问题的能力。通过分析已有的简单程序的执行过程,慢慢渗透程序设计的思想、方法,引导学生从模仿开始,由易到难、循序渐进,逐步过渡到独立进行程序设计。第一道题相对简单,大部分学生应能独立完成;但第二题相对困难,因它要用到三重循环去完成,要求学生分组讨论,互相协作完成。
6、总结本节内容,布置课外作业各学科的内容之间都是有联系的,都不是孤立的,同学们要把知识动态化,多角度、多方式地去思考,掌握知识的内在联系,提高解题能力,开阔自己的视野。作业:1)求出满足每位数字的平方之和等于它本身的所有三位数。 2)编程打印三角型”*”。(需要用到循环的嵌套) 布置作业的目的是在巩固本节所讲内容的同时,进行知识的拓展、探究。
教学评价 学生能否完成教师布置的课堂操作,能完成多少?学生能否把解题的思路和方法(算法)、流程图和VB代码有机联系起来,能否进行自主学习及互相合作,进行创新?学生与教师配合是否默契,自主学习积极性是否高涨?
教学反思 在教学过程中,要真正以学生为主体,发挥教师的主导地位,把学生组织好,调动学生的学习积极性和主动探索学习的能力才是关键。设计好学生练习,让学生有事做,愿意做、会做,调动每一个学生的积极性,使同学之间能相互协作学习,以弥补学生之间水平的差距,避免课堂教学带来的“吃不饱”“吃不消”的情况出现。不足之处是容量太大,时间有些紧张。
循环变量←初值
语句序列
循环变量←循环变量+步长
循环变量超
过终值吗?
N
Y
Private Sub form_click()
s=0
for x=1 to 100
s=s+x
next x
print s
End Sub
功能:求1到100的和
Private Sub form_click()
for i=20 to 10 step –2
print i
next i
End Sub
功能:输入出20,18,16,14,12,10六个数(共15张PPT)
[复习引入]:
同学们想一想:
现在我们的会考、高考都使用答题卡,然后由计算机阅卷,那么计算机是怎样阅卷,怎样进行这项重复工作的呢?
例1:编写一个程序:打印5行竖排的“*”。
Private Sub form_click()
Print “*”
Print “*”
Print “*”
Print “*”
Print “*”
End Sub
☆如果是打印10行,100行甚至更多,那应该怎样实现?
循环结构也称重复结构,它的作用是使一段程序能重复执行,被重复执行的部分称为循环体。但重复一般都是有条件的,即在满足FOR语句中的条件下才执行循环体,否则退出循环体。
循环结构:
For 循环控制变量 = 初值 To 终值 [ Step 循环变量增量(步长) ]
循环体语句块(循环体)
Next [ 循环控制变量 ]
For/next循环语句 :
循环变量←初值
语句序列
循环变量←循环变量+步长
循环变量超
过终值吗?
N
Y
1)循环控制变量必须为整型;
2)当步长(循环变量增量)为1时,STEP 1可省略不写;
3)语句序列(循环体)中可以含有任意多条语句,也可无
任何语句,称为空循环;
4)语句序列中可以含有循环结构;
5)FOR语句与NEXT语句必须成对出现,缺一不可。
6)FOR语句与NEXT语句的循环变量是同一变量。
7)有时需中途退出循环,这时用EXIT FOR命令。
说明:
1、上例1用循环语句实现:编程打印5行竖排的“*”。
Private Sub form_click()
For I=1 TO 5 Step 1
Print “*”
Next I
End Sub
I=1
Prnit “*”
I=I+1
I >= 5
N
Y
☆FOR语句称为“循环起始语句”,它的作用是确定循环变量的值如何变化,从而控制循环的次数;I是循环变量,它的值在执行过程中是变化的,它的初值为1,终值为5,循环增量(步长)为1。
应用:
1)如果把程序中的step 1改成step -1,应该如何修改程序。
2)如果程序中缺少s=1,最终s的值是多少? 3)如果计算1×2×3×…×N,应该如何修改程序。
4)如果计算2×4×6×8×…×1000,应该如何修改程序。
阅读计算1×2×3×4×5的程序,回答以下问题,并上机验证:
Dim i As Interger
Dim s As Interger
S=1
For i=1 To 5 step 1
s=s*I
Next i
2、同学们分成四组讨论下题,然后每组完成一小题,进一步了解For/next语句的格式。
3、请同学们阅读下面程序,写出结果并上机验证,画出流程图,说明程序功能。
for i=1 to 3 step 1
print i
next i
end
第几次
循环 循环开始时i的值 执行NEXT之后i的值 i与终值
比较 执行下一次循环否?
1
2
3 1
2
3 2
3
4 <3
=3
>3 执行
执行
停止执行
I =1
Prnit i
I=I+1
I >= 3
N
Y
[程序执行过程分析]
Private Sub form_click()
s=0
for x=1 to 100
s=s+x
next x
print s
End Sub
功能:求1到100的和
Private Sub form_click()
for i=20 to 10 step –2
print i
next i
End Sub
功能:输入20、28、16、14、12、10六个数
4、阅读下面程序,深化对程序的理解。
5、练习:
1)依次在屏幕上打印2、4、6、…、20的平方。
2)求1+1/2+1/3+1/4+…+1/10的值。
1、For 循环控制变量 = 初值 To 终值 [ Step 循环变量增量(步长) ]
循环体语句块(循环体)
Next [ 循环控制变量 ]
2、解决问题的思路和方法(算法)→制作流程图→编写VB代码
3、循环变量的值“超过”终值时才终止循环过程。
总结:
1)求出满足每位数字的平方之和等于它本身的所有三位数 .
2)编程打印下列图形。(需要用到循环的嵌套)
*
**
***
****
*****
******
作业: