程序的循环结构教学设计
一、教材分析
本节课是广东教育出版社出版《算法与程序设计(选修)》中第二章《程序设计基础》中的第四节《程序的循环结构》内容。
信息技术课程标准中对应要求是:“会使用程序设计语言实现顺序、选择、循环三种控制结构。
初步掌握调试、运行程序的方法。
教材通过“超级水稻种植试验的统计分析”、“陈婷植树”、“乘法表”等典型例题,引导学生经历分析问题、设计算法、编写程序、调试程序等用计算机解决问题的过程。
通过分析程序,介绍了VB语言的FOR循环语句和Do循环语句的格式、功能和执行过程。
二、设计思想
⒈教学设计指导思想
设计以学生为中心,以解决问题为主线,引领学生经历“分析问题——设计算法——编写程序——调试程序”等用计算机解决问题的过程,体验程序设计的一般方法,展示问题求解的思维过程和方法,培养学生分析问题、解决问题的能力。
强调教师对问题情境的创造性设置,突出学生主动思考、分析、对比和实践探究的过程。
三、教学目标
知识与技能:掌握循环语句的基本格式,理解循环语句的功能和执行过程。
过程与方法:学会使用循环语句解决简单实际问题,初步掌握根
据条件选择恰当的循环语句来解决简单问题的方法。
情感态度价值观:通过对不同循环语句解决问题的过程进行比较,体会到解决问题时要具体问题具体分析。
四、教学重点、难点
教学重点:循环语句的基本格式和执行过程.
教学难点:利用循环结构程序解决生活中的实际问题.
五、教学方法
讲授法、讨论法、任务驱动、探究法等。
六、教学准备
⒈教学用具:
多媒体网络教室及教学系统、VB6.0、课件。
七、教学过程
3
3 2. DO循环语句的基本格式和执行过程
DO循环执行过程板书
引导
分析
讲
观察
思考
理解
思考
学会
明确学习
内容
教授新课:
二、循环结构应用举例
例1:S=1-1/2^2+1/3^2-1/4^2+……+1/99^2
试编写程序求S的值
分析问题:此问题是一个有限数列求和问题。
此问题的求解要首先写出通项公式。
循环次数已知,应使
用FOR循环完成。
设计算法:
①I=1
②S=S+(-1)^(I+1)*1/(I*I)
③I=I+1
④若I值小于99,返回第②步
⑥输出S的值
⑦结束
6左右
2
3
9编写程序
For循环部分
For i = 1 To 99
S = S + (-1) ^ (i + 1) * 1 / (i * i)
Next i
完整程序
Private Sub Command1_Click()
Dim i As Integer, n As Integer
n = InputBox("请输入")
For i = 1 To n
If i Mod 2 <> 0 Then sum1 = sum1 + 1 / (i * i) Else
sum2 = sum2 + (-1) * 1 / (i * i)
Next i
Sum = sum1 + sum2
Print Sum
End Sub
调试运行
例2:π/4=1-1/3+1/5-1/7+……
利用以上公式求π的近似值,直到发现某一项的绝对值
小于10-6为止。
(该项不累加)
分析问题:此问题本质上是一个有限数列求和问题。
循环控制条件到某一项的绝对值小于10-6为止。
循环次
数不定,应使用DO循环完成。
程序设计
Private Sub Command1_Click()
Dim i As Long, pi As Single, s As Single, n As Double
i = 1
Do
n = (-1) ^ (i + 1) * 1 / (2 * i - 1)
s = s + n
演示
分析
指导
引导
师生
协作
小结
分析
讲解
分析
指导
布置
理解
思考
上机
实践
探究
归纳
思考
学会
思考
实践
探究
通过流程
图加深理
解,突破
难点
通过实例
突出重点
分层教学
加深理解
知识目标
学习
通过实践
加深理解
分层教学
pi = 4 * s
i = i + 1
Loop Until Abs(n) < 10 ^ (-6)
Print pi
End Sub
调试运行:
案例3:小球弹跳问题
小球从10米高处自由下落,每次弹起的高度是下落高度的一半,当小球弹起的高度不足原高度的千分之一时,小球会停止跳动。
(1)计算小球在整个弹跳过程中所经历的总路程。
(2)计算第10次小球落地时经历的总路程。
分析问题:此问题本质上累加求和问题。
(1)循环控制条当小球弹起的高度不足原高度的千分之一时,小球会停止跳动。
循环次数不定,应使用DO循环完成。
(2)循环次数已知,应使用FOR循环完成。
程序设计
Private Sub Command1_Click()
Dim D As Single, U As Single, S As Single
S = 10
D = 10
Do
D = D * 0.5
S = S + D * 2
Loop Until D < 10 / 1000
Print "小球移动的总路程是:"; S; "米"
End Sub
调试运行:
例4:编写程序:输出2~10000以内的完全数。
完全数:因子(不算自身)之和等于它本身的数称为完全数。
如28的因子是1,2,4,7,14,且1+2+4+7+14=28,则28是完全数。
分析问题:应先设计出判断一个数是否是完全数的程序,再使用嵌套循环完成出输2~10000以内的完全数。
程序设计
Private Sub Command1_Click()
Dim m As Integer, i As Integer, Sum As Integer
For m = 2 To 10000
i = 0: Sum = 0
Do
i = i + 1
If m Mod i = 0 Then Sum = Sum + i
Loop Until i = m-1
If m = Sum Then Print m; "是完全数"
Next m
End Sub
调试运行
3、三、不同循环语句的比较
⒈For循环语句和Do循环语句的比较
For 循环语句:适合于描述预先知道重复次数的循环,是一种计数循环。
Do循环语句:适合于描述难以预先确定重复的次数的循环。
四、总结归纳:
如果一个算法涉及到循环结构,一定要分析以下几点:
⒈分析循环次数:已知或未知
⒉分析进入和退出循环体条件。
⒊分析循环体内容:①需要重复的内容
②改变循环变量值的方法。
不同问题,用同一种循环语句解决;同一个问题,可以用不同循环语句解决,具体问题具体分析。
程序的循环结构学情分析。