高中信息技术《顺序结构》优质课教学设计、教案
顺序结构
【教材分析】本节课是《算法与程序设计》(选修)第二章第三节第一课时内容。这一课时介绍了VB 程序三种基本结构中的顺序结构。这一节课引入同学们比较熟悉的数学问题——计算圆形的周长、面积并输出作为为引领本节课的例子,重点介绍顺序结构的特点、执行过程和基本思想,并通过这个程序抽象出代码设计的四个基本部分:定义常变量、输入数据、处理数据、输出数据。顺序结构是三种基本结构中最为简单的一种,通过这一课时的学习让学生进一步体验可视化编程的完整过程,为学生
日后学习其他两种基本结构奠定基础。
【学情分析】
前几节课主要介绍了VB 的开发环境(包括控件、对象、属性)和VB 程序基础知识(VB 中的常用数据类型、变量与常量、运算符与表达式、语句与函数),学生已经有了VB 上的知识储备,但缺乏程序设计的“实战”经验。这节课通过解决一个具体问题,学生进一步体验可视化编程的
完整过程:设计界面,编写程序代码,调试并运行程序,保存程序文件,尤其是编写和调试程序。由于大部分学生是初次接触程序设计,而一般人对于程序设计有着“难”的偏见,因此学生既有好奇心,又有畏难情绪。因此教师应充分了解这一点,通过简单的例子,让同学体验成功的快乐,在揭开“编程”神秘的面纱的同时,激发学生学习的积极性和对程序设计的兴趣。
【教学策略】
教学方法:讲解与演示相结合、启发式教学法、任务驱动法
学习方法:模仿学习、自主探究学习,小组交流合作学习
【教学目标】
1、知识与技能目标:
①掌握顺序结构程序执行的基本思想。
②能使用顺序结构编写简单的程序解决具体问题。
2、过程与方法
培养学生的思维能力、创新能力、自主学习能力, 加强学生的合作学习,提高学生的动手能力。
3、情感态度和价值观
①培养学生自主探索、协作学习的能力。
②培养学生对程序设计的兴趣。
【教学重点与难点】
重点:代码设计的四个基本部分:定义常变量、输入数据、处理数据、输出数据;顺序结构代码执行的特点和基本思想。
难点:学生在熟悉编程的一般步骤的基础上能编程解决实际问题。
【设计思想】
尊重学生解决问题的思维过程,模拟学生的学习体验和情感体验,在以学生为主体、教师为主导的架构下,搭建以生为本的学习平台,帮助学生通过学与练,以不断解决问题为手段,一步步完成学习任务。
本节课以一个简单的例子——计算图形的周长、面积并打印为主线介绍顺序结构的特点、执行过程和基本思想,并通过这个程序抽象出代码设计的四个基本部分:定义常变量、输入数据、处理数据、输出数据。让学生通过模仿学习、自主学习相结合的方式编写程序,发现问题,探究解决问题,最后学会自我总结。
【教学环境】教室
【教学安排】1 课时
【教学过程】
一.分组体验,导入新课
导入:上节课我们学习了VB 中常用的语句与函数,其中重点介绍了赋值语句、输出语句、与用户交互函数,那么现在屏幕上有三道题目,请同学选择其一解答。
学生分组体验程序的运行结果。
题一:
Dim a As Integer
Dim b As Integer
a = a + 1
a = 1
b = a
b = b + 1
Print a,b
运行结果:1 2
题二:
Dim a As Integer Dim b As Integer a = 1
a = a + 1
b = a
b = b + 1
Print a,b
运行结果:2 3
题三:
Dim a As Integer Dim b As Integer
a = 1
b = a
a = a + 1
b = b + 1
Print a, b
运行结果:2 2
教师:同学们,请仔细观察这三道题,我们发现上述三个例子中涉及到的语句都是一模一样的,可是为什么得到结果不一样呢?
学生:顺序不同。
教师:对,由于这个程序的执行过程是按语句书写的先后顺序一句一句执行的,每次给变量赋的值不同,所以得到的结果不一样。这种按语句顺序执行的结构我们称为顺序结构,在以后的学习过程中我们还将学习另外两种结构:分支结构和循环结构。分支结构根据不同的条件判断来决定程序执行的走向,循环结构根据条件判断,需要重复执行某一段代码。而顺序结构每一条语句执行且只执行一次,没有跳过某一条语句,也没有重复执行某一条语句。老师这里有三幅图,图中显示的路途方式和程序设计的三种基本结构非常的类似,同学们思考一下,你能猜出他们分别对应于哪种结构吗?
图1 图2 图3
学生:图1 对应分支结构、图2 对应顺序结构、图3 对应循环结构教师:下面我们一起来总结一下顺序结构的执行特点以及它的流程图
学生:阅读教材33 页
二.学科迁移,设计代码
教师:这节课我们着重学习顺序结构。请看这道题目:已知圆的半径为10,编写程序求解其周长和面积。如果这是一道数学题,同学们肯定不费吹灰之力,可是编程怎么求解呢?同学们可能一时犯了难,没关系,既然同学们对数学的解题步骤比较熟悉,我们姑且把它当作一道数学题来解答。首先,我们来分析一下,题目中涉及到几个变量?分别有哪几个?
学生:三个,半径、周长和面积。
教师:和数学中一样,我们分别用r、c、s 表示这三个变量。请一位同学书写相关语句
学生操作:
教师:刚才的三个变量哪些是已知条件?
学生:半径
教师:其值是多少?
学生:10 教师:好,利用赋值语句给半径赋值,代码是?
学生回答,教师操作:r=10
教师:此时,我们已经知道半径r 的值了,那么如何通过已知条件
求解出c 和s 呢?请一位同学在教师机上演示。
学生操作:c=2*3.14*r
s=3.14*r*r(书写过程中若有语法错误,请其他同学纠正)设疑:程序编写到这里是否行了呢?同学的意见出现了分歧,都说实践是检验真理的唯一标准,那么我们就让机器来验证吧
教师:程序并没有如我们所料想的那样显示结果,事实证明我们的程序存在一些小问题,那究竟是哪里出错了呢?正如同学们知道的,我们其实已经把周长和面积的值求出来了,可是程序为什么不显示结果呢?对!我们把求出来的结果存放在变量c 和s 中,而对于用户而言,并不
知道变量c 和s 的存在,他只关心屏幕上有没有显示结果,所以,我们还应该输出变量c 和s。代码是?
学生:print c,s
教师:这样的代码已经能完成基本功能了,为了使用户看得更清楚明了,再添加一些说明性文字。Print "圆的周长为"; c
Print "圆的面积为"; s
三.现学现卖,小试牛刀
课堂实践一:已知圆的半径为10,编写程序求解其周长和面积。
展台展示学生程序
四.层层递进,探究实践
教师:现在我们已经能够求出指定半径圆的周长和面积了,如果我们把这个程序给用户使用,他们可能会想这个程序只能求半径为10 的圆,我要是能输入其他的半径值就好了,而用户不一定懂得修改程序代码,直接修改程序行不通,同学们能不能想想办法让用户能自己输入半径的值?
学生1:我们可以用文本框
学生2:还可以用inputbox 函数
教师:那就刚才程序的基础上修改代码实现你的想法吧。课堂实践二:根据用户输入的半径值求圆的周长和面积。解法1:
Private Sub C ommand1_Click()
Dim r As Single
Dim c As Single
Dim s As Single
r = Val(Text1.Text)
c = 2 * 3.14 * r
s = 3.14 * r * r
Print "圆的周长为"; c
Print "圆的面积为"; s
End Sub
解法2:
Private Sub C ommand1_Click()
Dim r As Single
Dim c As Single
Dim s As Single
r = inputbox("请输入圆的半径","顺序结构")
c = 2 * 3.14 * r
s = 3.14 * r * r
Print "圆的周长为"; c
Print "圆的面积为"; s
End Sub
展示学生程序:演示几个学生的程序,请学生相互评价指出优点和不足,教师适当点评。
教师总结:一个完整的代码通常包括这样几个部分:
1、定义常变量
2、输入
3、处理
4、输出
五.课堂小结,提出希望
一直以来,在我们的印象中,编程是我们遥不可及的梦,是一件很
困难的事情。但是通过这节课的学习,我们发现编程也是有章可循,有法可依的,希望同学们能喜欢上编程,让程序学习变成一件轻松快乐的事,编写出更多更好的程序,成为第二个比尔·盖茨。