高中信息技术《循环结构》优质课教学设计、教案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§2.3.3 循环结构(一)
教学目标:
知识与技能:1、掌握for-next 循环结构的基本格式和执行过程
2、掌握for-next 循环4 个规律并会巧妙运用
过程与方法:能用for-next 循环解决实际问题,并对程序代码做客观分析与评价,比较程序设计算法与数学算法的异同
情感态度与价值观:在用for-next 结构解决实际问题的过程中,提高学生分析问题、理解和解决问题的能力,激发学生探究热情。
重点难点:1、For-next 格式及四条规律
2、用For-next 解决实际问题
教学方法:讲授法,任务驱动法
课时:1 课时
导入:“棋盘上的麦粒”、“韩信点兵”,“希望工程捐款问题”
教学过程:
一、分析实例:
1-24 月份捐款情况
设N 表月份,同时代表当月存入钱数,S 表和,初始值为0
N s
N=1
s= 0 + 1 =1
N=2 s= 1 + 2 =3
N=3 s= 3 + 3 =6
N=4 s= 6 + 4 =10
… …
… …
N(1<=n<=24)
在 N 从 1 变化到 24 的过程中, s=s+n 一直成立
N 每变化一次,s=s+n 求和进行一次,这是重复性操作,可用循环来解决,共重复 24 次, 次数明确的循环可用 for –next 结构
二、For –next 格式:
for 变量=<初值> to <终值> step <步长>
循环体
Next <变量>
说明:
(1) 步长为每次循环时循环变量递增量
(2) 循环变量从初始值开始进入循环,执行循环体里的语句,变量每增长一个步长,返回与终值比较,小于等于终值再次进入循环,否则退出循环。
ν 程序实现:
ν S=0
ν For n=1 to 24 step 1
ν
s=s+n
νNext n
νPrint s
循环过程:
N s
N=1 s= 0 + 1 =1
N=2 s= 1 + 2 =3
N=3 s= 3 + 3 =6
N=4 s= 6 + 4 =10
…………
N=24 s=前23 月和+24
N=25 >24 终值退出循环
循环运行机制:
νS 为和,初始值为0,N 的初始值为1 当N 为时,第一次进入循环,FOR 与NEXT 之间的循环体,执行循环体里的语句,则S=0+1=1 ;按顺序执行“NEXT N”下一个N 为本次循环中的N+步长,则N 为2,返回到FOR(形成环路),验证N=2 是否超过了终值24,如没有继续进入循环
如何修改程序实现以下几个问题:(分组完成以下问题)
ν1、如1 月份存入24 元,2 月份存入23 元,依此类推两年存款总和为多少?
ν2、求这个程序的循环次数,并试着改变初始值、终值、步长,推导出循环次数的关系式。
ν3、本程序循环完毕时循环变量的值是多少,步长改为3 时,退出循环循环变化的值又为多少,它与哪些因素有关?
三、for—next 循环规律:
ν1、步长为1 时可省略
ν2、初始值>终值则步长为负
ν初始值<终值则步长为正
ν3、循环次数=INT(终值-初始值)/步长+1
ν4、退出循环时循环变量值:
ν终值(程序实际执行的终值)+步长
化繁为简:学生分组体验以下三个任务的不
同1、画一个圆的程序
2、画5 个圆的画圆程序的笨办法
3、画5 个圆的循环语句程序
四、程序实现(略)
结论:程序的运行结果是一样的。
说明步长的设置:步长可以是整数也可以是小数,可以是正数也可以是负数。
问题:如果步长为零,结果如何?
结论:程序陷入死循环。
五、检验真知:
1、编写程序1+2+3+‥‥‥+100
ν程序实现:
νDim n ,s as single
νS=0
νFor n=1 to 100
νs=s+n
νNext n
νPrint s ,n
(思考:如何修改程序实现求100 以内奇数和,100 以内偶数和)
当堂训练:
例题1
s=0 (把0 赋值给s)
for I=10 to 4 step –3 (循环变量I 的初值为10,终值为4,步长为-3,即I 的取值由10 开始,每次取值比上次减3)
s=s+I (把s 的值再加上I 当前的取值赋值给s)
next I (根据步长决定下一个循环变量I)
print “s=”;s(输出“s=”和s 变量的值)
(有s、I 两个变量,结果为:s=21 )
例2:
写出下列程序的结果:
s=0
for I= 1to 2 0step 2
s=s+I\5
next I
print s ,i
六、解决实际问题:
韩信点兵实现:
νDim n as integer
νFor n=500 to 1500
νif (n mod 3=2)and (n mod 5=3)and (n mod 7=2) then νprint n
νEnd if
νNext n
扩展思维 - 国王与宰相棋王的故事
Private Sub Form_Click()
Dim I,s as double
For i = 0 To 63
s = s + 2^i
Next i
Print "一共放"; s; "颗麦粒; "
End Sub
巧用循环解题:(分组任务)