1、 活动九 体验循环结构程序设计 精品文档 活动九 体验循环结构程序设计 教学目标: 1.知识 (1) 了解For循环与Do…Loop循环语句的格式及作用。 (2) 了解ListBox控件的常用属性及其使用方法。 2.技能: 体验For循环语句、Do…Loop循环语句在实际生少中的应用 3.情感 (1) 鼓励学生对知识进行迁移,完成创新活动,提高教学的实效性。 (2) 培养学生探究精神与独立操作能力。 课时: 3课时 重点与难点: 1.教学重点: 分析问题的循环性质、构建表达循环结构算法,建立起循环程序设计思维架构 2.教学难点: 如何
2、将这么多的学习内容有机结合在一起,让学生能够接受。 教学方法: 演示法、练习法、讨论法 教学准备: 1.教学环境。 配有黑板或白板的多媒体网络教室 2.教学资源 辅助教学使用的程序,存放学生练习的文件夹。 教学过程: 教学环节 教师活动 学生活动 设计意图 导课 引言:通过前面4节谭的学习,大家越来载了不起了,知道了顺序结构程序设计,以知道了分支结构程序设计。我们再来看一类问题。 听课 单刀直入,进入新的课程 提出问题 问题1 在电视歌手大奖赛中,经常有10个评委为参赛选手打分,分数为1到10分。选手的得分为:去掉一个最高分和一个最低分后其余8个分数的平
3、均值 听课、发言。 选择学生熟悉的问题。 人工解决问题 我们采用人工方法来求选手得分,大家觉得如何求呢? 我们一起寅出解决方案。 1、找出这10个得分中的最大数max和最小数min 2、求10个选手得分的和sum 3、求选手得分为(sum-max-min)/8 人工方法比较容易解决问题的主要原因是人有智能,10个数,眼睛看一遍就知道最大值和最小数,求10个数的和也简单,将10个数加起来即可。 讨论人工解决方案 从学生熟悉的知识入手。 求最大数得法,循环结构的概念 如何让计算机实现呢? 分析人工方法如何求10个得分中的最大数max的过程。 1、看第1个数时,第1个数
4、即为此时的最大数max的过程。 2、看第2个数时,会怎么做呢? 将第2个数与max比较,如果第2个数大于max,那么最大数max的值为第2个数,不由不写第2个数。 3、看第3个数时,会怎么做呢 与第2个数的做法一样 4、显然看第4~10个数都是这么做的。当10个数看完后,最大数即为max 现在我们用算法描述方式,写出上棕最大值的过程。 因为得分值在1~100间,可先简单地设max值为0 1、设max的初值,max=0 2、读入一个得分存放在score中。 3、如果score>max,那么max=score 4、重复2、3的操作,直到10个得分读完为止。 5、max即为这
5、10个分数中的最大数。 我们把这种得利作同样操作的过程,叫循环结构。为了表达循环结构算法,程序设计语言中通常提供了循环语句与之对应。 请学生写出10个得分中的最小数min的算法 听课、思考,与教师交流互动 实践循环结构算法 知识迁移,导出新知识 问题的完整算法 理解了用循环结构求最大值和最小值的算法,现在我们来讨论解决该问题的完整算法。 设变理max存放最大值,变量min存放最小值,变量sum存放和,变量score存放分数。 1、设初值,max=0,min=10,sum=0。 2、读入一个得分存在放在score中。 3、将读入的得分求和,sum=sum+score
6、4、如果score 7、西来理解,当我们把一件东西放入桶中,桶的值为原先桶的值加上放入的东西。不断向桶中放东西,桶的值不断累加求和。
听课,思考,与教师交流互动。
实践循环结构算法。
理解累加求和的思维方式。
知识迁移,导出新知识。
学生首次接触累加求和,尽量用形象化的对比让学生理解。了解生活中的很多操作思想是可以迁移的。
界面设计
讨论解决该问题界面需要哪些元素,讨论设计界面样式。
1、如果希望输入数据的同时将数据保留显示,可介绍ListBox控件对象的使用。
界面设计,参考教材P97,P101 表态-1“歌手大赛评分”程序用到的及其属性说明,实施界面设计,可以改变界面样式
讨论 8、设计界面
实施界面设计
学习如何根据问题进行界面设计。
输入程序
双击“开始”按钮,产生按钮单击触发事件过程。
Private Sub Command1_click()
End Sub
输入P102程序。
双击“结束”按钮,产生按钮单击触发事件过程。
Private Sub Command2_click()
End Sub
输入end
在教师引领下完成相应的输入程序操作
让学生体验程序输入过程,在输入程序过程中,学生会有许多疑问,疑问本身就是最好的老师。
运行程序
让学生运行程序,一运行程序,学生就会有疑问,与以前不同,程序弹出对话框
引入Inputb 9、ox对话框的使用
运行程序。
利用对话框输入数据
让学生进一步学习如何运行程序。
了解程序、了解循环结构程序设计
讲解程序的组成。
1变量的定义。
2、给变量和对象赋值。
3、For i=1 To 10
score=Val[Inputbox](“请输入第”&i&“平为人打分”,“输入分数”)
List1.AddItem(score)
If score>max Then max=score
If score 10、行该段程序时,让程序段重复执行多遍,我们把宁产结构的程序称为循环程序设计,For…Next语句是表达循环结构的程序语句中的一种。
4、使用ListBox显示和结果数据,
听课、思考、理解、提问
在学生理解算法、理解界面设计、体验了程序运行基础上,学生读懂程序。理解循环结构程序设计的形式和概念。
修改程序
如果评委人数改变了,如评委人数变成15人,程序应如何修改呢?
实现程序的修改
进一步理解For循环语句的作用。
创新活动
以小组合作方式 ,让学生尝试探究、实践教材P103的“创新活动”。
小组诗集如何实现“创新活动”的内容
让学生大胆实践,失败没关系。
提出新的问 11、题
问题2:角谷猜想又称考拉兹猜想,3n+1猜想、哈塞猜想、乌拉姆猜想或叙拉古猜想,是日本数学家角谷静夫发现。它是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此变换,最终都能够得到1。
取一个数字,如n=6,根据上述变换,得出6→3→10→5→16→8→4→2→1.(步骤中最大的数是16,共7个步骤)
如n=11,根据上述变换,得出11→34→17→52→26→13→40→20→10→5→16→8→4→2→1.(步骤中最大的数是52,共13个步骤)
到目前为止,国际上还没有人证明这个猜想是对的。你有办法证明吗?
听课、发言
选择学生熟悉的问题
12、
人工问题
对于某个数n进行证明。
将数n不断实施如下运算,如果为奇数,则n*3+1,如果为偶数,则n除以2。看看能否得到1.
显然,这个问题人脑不如电脑。
讨论人工解决方案
从学生熟悉的知识入手。
算法
试试用算法形式描述
1、输入n
2、如果n位奇数,那么n变换为n*3+1,否则,n变换后的n的值。
3、输出变换后的n值
4、当n>1时,重复2、3的步骤。
显然,这是一个循环结构,思考一下该算法的循环结构与问题1算法的循环结构有何不同。
一个重复次数确定。
一个重复次数不确定。
尝试写算法。
思考,讨论
知识迁移,导出新知识
界面设计
讨论解决该问题软 13、件界面需要哪些元素。讨论设计界面样式。
界面设计,参考教材P97图9-2,P105表9-3“验证‘角谷猜想’”程序设计用到的控件及其属性说明,实施界面设计。
教材中用文本框输出过程值,试一试能否用前面学习的ListBox显示过程中n的值。
讨论、设计界面。
实施界面设计。
学习如何根据问题进行界面设计。
输入程序
双击“开始”按钮,产生按钮单击触发事件过程。
Private Sub Command1_click()
End Sub
在过程中输入P106的程序。
或如下程序:(n的过程值输出用ListBox)
Private Sub Command1_click()
14、
Dim As Long
List1.Clear
n=Text1.Text
Do While n>1
If n Mod 2=0 Then n=n\2 Else n=n*3+1
List1.AddItem n
Loop
End Sub
End Sub
在教师引领下完成相应的输入程序操作
让学生体验程序输入过程,在输入程序过程中,尝试读懂程序。
运行程序
输入不同的n的值。运行程序,证明“角谷猜想”。
运行程序
让学生在运行程序过程中,理解循环的概念。
了解程序、了解循环结构程序设计
讲解程序的组成:
1、Dim n As Long的作用是定义一个n变量,该 15、变量的值,该变量的值为-2147483648~2147483647之间的整数。
2.n=Text1.Text,从文本框中读入数据。
3、Do while n>1
If n Mod 2=0 Then n=n\2 Else n=n*3+1
List1.AddItem n
Loop
当n>1 时,重复执行循环体语句,遇n<=1退出。
该程序段为循环结构设计。Do…Loop语句是另一种表达循环结构的程序语句。
4、List.AddItem n
使用ListBox显示过程数据。
听课、思考、理解
在学生理解算法、理解界面设计、体验了程序运行基础上,学生读懂程序。进一步理解循环结构程 16、序设计的形式和概念。
循环语句表达的区别
思考:本问题的循环结构能否用For…Next语句实现?为什么?
讨论
了解不同形式的循环结构使用不同形式的循环语句
创新活动
以小组合作方式,让学生尝试探究、实践教材P107的”创新活动”
小组讨论如何实现“创新活动”的内容
让学生大胆实践,失败没关系
总结
程序设计的是问题分析与算法确定,程序计语言是实现算法的工具,因此,语言可以多式多样,正如写一篇文章,核心是文章的内容构思,可以用不同的语言来描述。跟大家熟悉的中文、英文一样,不同的计算机语言,算法与程序父均由三种基本结构产生了今天计算机应用无数软件,这就是程序设计的魅力所在。
听课、思考、理解
让学生建立起程序设计思维基本架构。
教学反思:
1.突出的教学重点是否在教学过程中得到落实。
2.教学难点在教学过程中是否得到解决,学生是否在学习过程中掌握了难点。
3.学生在学习中是否获得了“原来是这样”的感悟。
收集于网络,如有侵权请联系管理员删除






