第一篇:《程序框图、顺序结构》教学设计
《程序框图、顺序结构》教学设计
监利县实验高中
万平方
一、内容及其解析
本节内容是在学生学习了算法的概念的基础上进行的,学生知道“在数学中,算法通常是按照一定规则解决某一类问题的明确的和有限的步骤”.在算法概念的表述中,有范围限定词 “在数学中”,因此学习的内容均为数学中的问题.有一个有前缀限制的基本特征词“步骤”,前缀中,“按照一定规则” 指的是解决具体问题时的依据和表达方式,关注的是算法的基本逻辑结构(顺序、条件和循环),也表示算法具有有序性.“解决某一类问题”,强调的是算法适用对象的常态,突出算法的研究价值以及它的普遍适用性,也表明特殊问题的解题与一般问题的算法,存在联系又有区别.“明确和有限”,表示算法的每一步都是明确的、可执行的,总的步骤是有限的.在算法概念中,还特别指出,“算法通常可以编成计算机程序,让计算机执行并解决问题”.这对高中学习的算法提出了要求,也决定了高中算法学习的范围.即仅提出算法概念,认识算法基本逻辑结构是不够的,还必须学习计算机能执行的算法程序,能用程序表达算法,让计算机来验证我们解决问题的算法是否可行.在我们利用计算机解决问题的时候,首先要设计计算机程序,在设计计算机程序时我们首先要画出程序运行的流程图,使整个程序的执行过程直观化,使抽象的问题十分清晰和具体.有了这个流程图,再去设计程序就有了依据,从而就可以把整个程序用机器语言表述出来,因此程序框图是我们设计程序的基本和开端,也是使用计算机处理问题前的一个必要的步骤.算法有三种表达方法:算法的自然语言、程序框图和算法程序.算法的自然语言表达,即算法步骤,是与人的表达最接近算法表达方式;算法的程序表达是计算机可以识别的语言,但与人的表达距离较远;而算法的程序框图表达能直观、明确表达算法的基本逻辑结构,又能在前两种算法表达之间架设桥梁,形成编写程序的基础.由此可见,程序框图是算法的直观、准确的表达,是自然语言表达的延伸,也是后面学习算法基本语句的基础.程序框图的学习起着承上启下的作用.二、目标及其解析
[课程目标] 通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.在具体问题的解决过程中,理解程序框图的三种基本逻辑结构:顺序、条件分支、循环.[教学目标] 理解程序框图的概念;会用通用的图形符号表示算法,掌握算法的顺序结构,了解算法的条件结构与循环结构;掌握画程序框图的基本规则.[目标解析] 1.知道用程序框图表达算法可以使算法的结构更直观、更条理、更明确,知道算法程序框图的设计顺序是先用自然语言表达算法步骤,再一一对应的翻译成程序框图,然后仔细推敲,使程序框图简化、细化和精确化.2.明确程序框图的基本要求,理解算法的顺序结构特征,会正确画出算法的顺序结构框图.3.通过模仿、操作、探索,经历通过设计算法的顺序结构解决问题的过程.4.认识到算法是数学及其应用的重要组成部分,是计算科学的重要基础,算法更强调思维的条理化、逻辑化和程序化,更注重问题解决的一般性,初步体会算法思想.5.通过程序框图画法规则的学习,体会程序化、规范化的算法思想,渗透对学生进行规范教育.6.了解算法的条件结构与循环结构.三、教学问题诊断分析
1.由于学生初次接触程序框图,可能会感到陌生,因此可以举生活中的例子,也可以举函数图像的例子,让学生感到程序框图并不神秘,让学生感觉到程序框图表达算法更直观、更条理、更明确.2.由于学生对算法思想没有深刻的认识,所以教学中要从学生熟悉的问题入手,让学生从算法的角度给熟悉的问题一个解决办法.但另一方面,学生可能会对很自然的、熟悉的问题不重视,因此要明确算法解决的是一类问题,算法是程序化的步骤,要强调算法适用对象的常态,突出算法的研究价值以及它的普遍适用性.3.由于程序框图是算法的一种新的表达形式,因此要明确算法的自然语言表达与程序框图表达的联系与区别,让学生掌握算法程序框图的设计顺序是先用自然语言表达算法步骤,再一一对应的翻译成程序框图,然后仔细推敲,使程序框图简化、细化和精确化.另外程序框图的符号表示可能学生一下子接受不了,需要给学生以消化的时空.4.由于学生没有上机操作,学生可能会对设计的程序框图是否正确心存疑虑.因此,教学上要强调程序框图只是把算法步骤的自然语言表达翻译成了程序框图表达,并不神秘,只要我们能把一类问题的解题步骤程序化,再按照规范操作就不会出错.四、教法与学法分析
《普通高中数学课程标准》指出,课程算法是高中数学课程中新内容,其思想是非常重要的,但并不神秘.算法内容是将数学中的算法与计算机技术建立联系,形式化地表示算法.为了有条理地、清晰地表达算法,往往需要将解决问题的过程整理成程序框图;为了能在计算机上实现,还需要将自然语言或程序框图翻译成计算机语言.学习算法的主要目的是使学生体会算法的思想,提高逻辑思维能力.不要将此部分内容简单处理成程序语言的学习和程序设计.因此,教学中首先要让学生明确学生程序框图的目的,列举生活中与函数的例子,增强学生学习的信心与兴趣.由于算法程序框图的设计顺序是先用自然语言表达算法步骤,再一一对应的翻译成程序框图,然后仔细推敲,使程序框图简化、细化和精确化.所以教学中必须通过实例进行,通过算法的自然语言表达与程序框图表达的对照学习,在解决具体问题的过程中学习一些基本逻辑结构和语句.至于学法,《课程标准》说的也很明确,那就是通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.要激发学生的学习兴趣和创新潜能,为学生形成积极主动的、多样的学习方式创造有利的条件.以帮助学生养成独立思考,积极探索的习惯.五、教学过程设计
复习提问:什么是算法?算法可以怎么表示?想过这样表示有什么缺点没有? 问题1.1:我们在高一学习过函数,请问函数的表达方法有几种? [设计意图]
比较迁移.教师说明:比较一下,我们可以将自然语言描述的算法看作“列表法”,那么算法的“图像法”有是什么呢?这就是我们要学习的程序框图.程序框图并不陌生,刚才我们进教室看到实验高中新生报名流程图就是例子.问题1.2:你能感觉流程图有什么优点吗? [设计意图] 初步感受流程图的优点.问题2.1: 上节我们学习了“判断整数n2是否为质数”的算法,还记得是哪些步骤吗?它用图形怎样表示呢?
[设计意图] 学生画出程序框图,培养学生的动手能力.初步感受流程图是算法的直观的、准确的表达.先整体认识,后面再局面分析.问题2.2: 观察所给的流程图,看看它们有哪些不同的几何形状? [设计意图] 促进对前面算法自然语言表达的理解,为程序框图的定义的得出打下基础.培养观察分析归纳能力,初步感受算法的程序框图.问题2.3:对照课本程序框图表自制作表格并填写,包括各程序框、名称、功能.[设计意图] 培养自学能力和识记能力,掌握各个图形的形状、作用及使用规则.认识程序框图里出现的基本图形符号,并且能很好地掌握他们,是接下来学习程序框图的前提,所以在学习用程序框图来描述算法之前,必须先了解这些符号所代表的意义,那样才能让后面的学习更加顺利.问题3.1: 观察所给的程序框图,说明什么是程序框图? 程序框图又叫流程图,是一种用程序框、流程线及文字说明来表示算法的图形.[设计意图] 通过观察,培养分析归纳能力.问题3.2:程序框图是怎么表示算法的? 在程序框图中,一个或几个程序框表示算法的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.[设计意图] 感受程序框图是建立在算法自然语言表达基础上的图形表示.将新知识纳入到原来认知系统中.练习1:1.流程图的判断框,有一个入口和n个出口,则n的值为()(A)1
(B)2
(C)3
(D)4 2.下列图形符号表示输入输出框的是()
(A)矩形框
(B)平行四边形框
(C)圆角矩形框
(D)菱形框 3.下列图形符号表示处理数据或计算框的是()
(A)矩形框
(B)平行四边形框
(C)圆角矩形框
(D)菱形框 [设计意图] 让学生熟悉程序框图的符号.问题4: “判断整数n2是否为质数”的程序框图有哪几种逻辑结构? [设计意图] 初步向学生们介绍在程序框图里存在的三种不同的基本逻辑结构.由于这部分知识是学生新接触到的内容,所以主要由老师引导学生一同找出图中存在的三种不同的逻辑结构,根据它们各自所呈现的不同特点总结出它们的特征,之后由老师说出它们的名称.这里对逻辑结构的初步认识,也是为后面对它们的深入探究打下基础.教师说明:(1)三者的特点:①顺序结构在程序框图中的体现是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤;
②条件结构在程序框图中是用判断框来表示,判断框内写上条件,两个出口分别对应着条件满足和条件不满足时所执行的不同指令;
③循环结构在程序框图中是利用判断框来表示,判断框内写上条件,两个出口分别对应着条件成立和条件不成立时所执行的不同指令,其中一个要指向循环体,然后再从循环体回到判断框的入口处.(2)条件结构与循环结构的区别与联系
区别:循环结构有重复性,条件结构具有选择性、不重复;
联系:循环结构中必定包含一个条件结构,用以判断循环的条件.问题5: 已知一个三角形的三边长分别为a,b,c,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.[设计意图] 例题选自课本的例3,它针对的只是顺序结构.在题目里涉及到一个学生不熟悉的概念,那就是海伦公式,所以首先要让学生们了解那是什么,否则将无从解题.之后就引导学生分析算法,这个过程可以培养学生积极思考的能力.然后由学生自己作出这道题的程序框图,锻炼学生的动手能力,加深对顺序结构的理解.练习2:任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积,并画出程序框图表示.[设计意图] 这是对课本第5页的练习第1题提出的新要求,旨在让学生体会算法的两种表达方法的联系,进一步体会设计程序框图的步骤.问题6: 写出下面程序框图的运行结果.[设计意图] 培养学生读图的能力,进一步理解算法的顺序框图.练习3: 根据右边的程序框图所表示的算法,输出的结果是______.
答案 2
解析 该算法的第1步分别将X,Y,Z赋于1,2,3三个数,第2步使X取Y的值,即X 取值变成2,第3步使Y取X的值,即Y的值也是2,第4步让Z取Y的值,即Z取值也是2,从而第5步输出时,Z的值是2.[设计意图] 培养学生读图的能力,初步感受赋值的含义
.问题6: 本节课你有哪些收获?还有哪里疑问?
[设计意图] 让学生小结本节课所学知识.1.程序框图的概念与意义.2.顺序结构的程序框图的基本特征:(1)必须有两个起止框,穿插输入、输出框和处理框,没有判断框.(2)各程序框从上到下用流程线依次连接.(3)处理框按计算机执行顺序沿流程线依次排列.3.条件结构与循环结构在后面学习.作业:
1.画出今天学习的程序框图.2.已知x=4,y=2,画出计算w=3x+4y的值的程序框图.(这是一道要求作出具有顺序结构的程序框图题,很基础,一般的学生都能独立完成)
[设计意图] 课后作业的布置是为了检验学生对本节课内容的理解和运用程度以及实际接受情况,并促使学生进一步巩固和掌握所学内容.知识性内容的小结,可把课堂教学传授的知识尽快化为学生的素质;数学思想方法的小结,可使学生更深刻地理解数学思想方法在解题中的地位和应用.
第二篇:《顺序结构》 教学设计
盐城中学
何娟
《顺序结构》教学设计
一、教材分析
本节课是《算法与程序设计》(选修)
盐城中学
何娟
★
学习方法:模仿学习、自主探究学习,小组交流合作学习
六、设计思想
尊重学生解决问题的思维过程,模拟学生的学习体验和情感体验,在以学生为主体、教师为主导的架构下,搭建以生为本的学习的平台,帮助学生通过学与练,以不断解决问题为手段,一步步完成学习任务。
新课标中提出了信息技术课程要以进一步提高学生信息素养为宗旨,强调通过合作解决实际问题,掌握信息技术,感受信息文化,增强信息意识,提高学生总体的信息素养。而在本节课中就坚持了以教师为主导,学生为主体,发展能力和提高素质为主线的启发式教学思想,努力为学生创设了开放式的学习环境。
本节课以一个简单的例子——计算图形的周长、面积并打印为主线介绍顺序结构的特点、执行过程和基本思想,并通过这个程序抽象出代码设计的四个基本部分:定义常变量、输入数据、处理数据、输出数据。让学生通过模仿学习、自主学习相结合的方式编写程序,发现问题,探究解决问题,最后学会自我总结。
七、教学过程
1.分组体验,导入新课
导入:上节课我们学习了赋值语句,现在屏幕上有三道题目,请同学选择其一解答。学生分组体验程序的运行结果。题一:
Dim a As Integer Dim b As Integer a = a + 1 a = 3 b = a b = b + 1 Print a, b 运行结果:3 4 题二:
Dim a As Integer Dim b As Integer a = 3 a = a + 1 b = a b = b + 1 Print a, b 运行结果:4 5
题三:
Dim a As Integer Dim b As Integer
盐城中学
何娟
a = 3 b = a a = a + 1 b = b + 1 Print a, b 运行结果:4 4 教师:经过观察,我们发现上述三个例子中涉及到的语句都是一模一样的,可是为什么得到结果不一样呢?
学生:顺序不同。
教师:对,由于这个程序的执行过程是按语句书写的先后顺序一句一句执行的,每次给变量赋的值不同,所以得到的结果不一样。这种按语句顺序执行的结构我们成为顺序结构,在以后的学习过程中我们还将学习另外两种结构:分支结构和循环结构。分支结构根据不同的条件判断来决定程序执行的走向,循环结构根据条件判断,需要重复执行某一段代码。而顺序结构每一条语句执行且只执行一次,没有跳过某一条语句,也没有重复执行某一条语句。老师这里有三幅图,图中显示的路途方式和程序设计的三种基本结构非常的类似,同学们仔细观察一下,你能猜出哪一幅图对应于顺序结构吗?
图1
图2
图3 学生:图1
2.学科迁移,设计代码
盐城中学
何娟
教师:这节课我们着重学习顺序结构。请看这道题目:已知圆的半径为1000,编写程序求解其周长和面积,并作图。如果是一道数学题,同学肯定不费吹灰之力,可是编程怎么求解呢?同学可能一时犯了难,没关系,既然同学们对数学的解题步骤比较熟悉,我们姑且把把它当作一道数学题来解答。首先,我们分析一下,题目中涉及到几个变量?哪几个?
学生:三个,半径、周长和面积。
教师:和数学中一样,我们分别用r、c、s表示这三个变量。请一位同学书写相关语句
学生操作:
教师:刚才的三个变量哪些是已知条件?
学生:半径
教师:其值是多少?
学生:1000 教师:好,利用赋值语句给半径赋值,代码是?
学生回答,教师操作:r=1000 教师:此时,我们已经知道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 教师:接下来我们还要作图。你们平时是怎么画圆的?
学生:用圆规画圆,先确定圆心位置,然后确定半径画圆。
教师:vb中提供了circle方法可以象圆规一样画圆,请同学看老师演示代码
Circle(2000, 2000), 1000其中(2000,2000)是圆心位置,1000是圆半径。需要说明的是,vb中的坐标系和数学中不同,原点(0,0)的位置为窗口左上角,窗口左边框为纵轴正方向,窗口上边框为横轴正方向。关于circle方法我还提供了一个小资料,同学们可以根据小资料修改不同参数画出不一样的圆。
3.现学现卖,小试牛刀
盐城中学
何娟
课堂实践一:已知圆的半径为1000,编写程序画出此圆,然后求解其周长和面积。(提供代码图片和circle小资料)
展示学生程序:老师不但可选成功的程序,也可选取较不成功的作品,但要有典型意义。
4.层层递进,探究实践
教师:现在我们已经能够求出指定半径圆的周长和面积并作图了,如果我们把这个程序给用户使用,他们可能会想这个程序只能求半径为1000的圆,我要是能输入其他的半径值就好了,而用户不一定懂得修改程序代码,直接修改程序行不通,同学们能不能想想办法让用户能自己输入半径的值?
学生1:我们可以用文本框
学生2:还可以用inputbox函数
教师:那就刚才程序的基础上修改代码实现你的想法吧。
课堂实践二:根据用户输入的半径值求圆的周长和面积并作图。解法一:
盐城中学
何娟
解法2:
展示学生程序:演示几个学生的程序,请学生相互评价指出优点和不足,教师适当点评。教师总结:一个完整的代码通常包括这样几个部分:
1、定义常变量
2、输入
3、处理
4、输出
5.课堂小结,提出希望
一直以来,在我们的印象中,编程是件很难的事。但是通过这节课的学习,我们发现编程也是有章可循的,希望同学们能喜爱上编程,让程序学习变成一件快乐的事,编写出更多更好的程序,成为
第三篇:02.《顺序结构》教学案例(本站推荐)
高中 《顺序结构》教学案例
案例名称:顺序结构 适用范围:高中一年级
教 材:教科版《算法与程序设计》(选修模块)2.3.1顺序结构 课 时:1课时 作 者:戈万红
单 位:江苏省东海高级中学(222300)E-----Mail:jsdhgwh@163.com *教学课题】顺序结构 *适用年级】普通高中一年级
*所用教材】教育科学出版社选修课之一《算法与程序设计》
*学生分析】学习了一段时间的VB基础知识后,由于种种原因,学生普遍认为《算法与程序设计》难度比较大,滋生一些畏难情绪。本节课的内容相对简单,希望通过编程解决和自己密切相关的问题来激发学生学习编程的兴趣,增强学生学习编程的信心。
*教材分析】第三节程序的基本结构是建立在前两节的基础上的,在本节乃至本章既是重点又是难点,本节课要学习的顺序结构则相对简单,学生容易掌握。
*教学目的】
1、知识技能:掌握顺序结构的功能,交换两变量的算法。
2、过程与方法:用程序设计方法解决实际问题。
3、情感态度与价值观:培养学生对程序设计的兴趣和严谨的思维习惯。*教学重点】
1、顺序结构的格式和功能。
2、交换两个变量的值。*教学难点】交换两个变量的值。
*主要教法】自主探究、讲解、演示、实践等 *教学环境】微机房多媒体演示系统 *教学过程】:
一.创设情境,复习导入
(一)学生完成课本P31页实践中第二小题,检测学生对赋值语句和函数掌握情况。程序参考代码如下:
Private Sub Command1_Click()Dim d As Single, i As Single Dim m As Integer,f As Single d = Val(Text1.Text)i = Val(Text2.Text)m = Val(Text3.Text)f = d *((1 + i)^ m-1)/ i Text4.Text = Str(f)End Sub
(二)让学生交换最后两行语句的位置,运行程序,观察结果有什么不同,为什么?
(三)学生通过实践观察得出:把给变量f赋值语句换到最后,则Text4文本框就不能正确显示变量f的值。引导学生探究原因,得出没有给变量f赋值,则Text4文本框只能显示变量f初始值。两。
二、合作讨论,探索新知
(一)由改变上面两个语句的顺序引发的问题,引导学生讨论得出顺序结构的含义。
(二)老师给出任务:有两个杯子,其中一只杯子里装的是糖水,另一只杯子里装的是盐水,如何交换两个杯子中的液体?
(三)学生用头脑风暴法思考,讨论,找到一个比较好的切实可行的办法:找来一个空杯子,作为中转来解决这个问题。
(四)老师继续问:在程序设计中如何交换两个变量的值?学生讨论,实践。
(五)广播部分同学的代码窗口,找出典型错误并进行修改,加深学生对交换变量思想的理解。
(六)请同学们尽量多地尝试各种输入和输出方法。
(七)广播部分学生代码窗口,让学生观察有哪几种输入和输出方法,然后共同归纳常用几种输入方式:文本框、Inputbox函数;常用输出方式:Print语句、MsgBox函数、文本框和标签等。
(八)学生练习使用各种输出语句来输出交换后变量a和变量b的值。
三、回归生活,学以致用
师:请每位同学算出自己出生多少天,多少小时了。生:太复杂了,算不出来。
师:把复杂的事交给电脑来完成吧。让我们编个小程序就能轻易解决这个问题。生:老师,我不知道如何下手。你可以提示一下吗? 师:要知道自己出生多少天,必须知道什么? 生:自己的生日和现在的日期。师:现在的日期如何表示? 生:date()师:两个日期型相减其结果是什么类型?
生:数值型。老师,我们知道怎么计算自己出生的天数了。(老师巡视,提醒学生注意使用相关的日期函数,个别进行指导。)生:老师,我的答案不准确,体现不出我是几点出生的,如何更精确一点? 师:这个问题问得好。有哪位同学可以帮他解决这个问题?
生:计算出出生的小时数后,再用当前时间减去出生时间,就可以得到精确的小时数。
四、适当拓展,延伸课堂
(一)老师给出任务:通过自己设计的程序,同学们现在可以很快算出自己出生的天数和小时,当然也可以随时帮其他人算出出生的天数和小时数。下面我想再请同学们编个程序解决这样的问题:假如你可以活到100岁,那么你还可以活多少天?
(二)学生思考后开始继续编程。
(三)通过编程计算的结果,引导学生思考:人的生命是有限的,要热爱生命,在有限的生命中,如何活得更充实、更精彩、更有意义;如何保持一颗乐观、健康和积极向上的心态。
*教学反思】本案例通过复习赋值语句,然后老师交换语句的位置,使程序运行的结果不同,再让学生找出问题产生的原因,从而使学生明确一般的程序都是按由上到下的顺序一行一行执行,这样加深了学生对顺序结构的理解。由于顺序结构的格式和功能比较简单,把理解“交换两个变量值的算法”作为本节课重点。这个问题我采用头脑风暴法,先让学生自主探究如何交换两个杯子中的不同液体的方法,学生思维异常活跃,找出很多解次问题的方法,和学生一起讨论归纳后总结出一种比较好的方法。有了解决生活中的相似问题的方法,然后引导学生探究“如何交换两个变量值”,这样降低了VB中“如何交换两个变量值”这个问题的难度。
因为本节课内容相对较少,我把VB中常用输入和输出的方式穿插在程序中让学生进行归纳总结。用和学生密切相关的问题“你出生多少天,多少小时”来应用和巩固所学知识,在这个问题的基础上继续进行拓展:“假如你可以活到100岁,那么你还可以活多少天?”最后进行升华:“人的生命是有限的,如何使有限的生命更有意义?”经过这样的处理,本节课内容得到充实,使课堂容量加大。
第四篇:2.3顺序结构的教学设计_图文(精)
顺序结构的教学设计 学生分析: 学生在高一必修模块接触过一些关于程序设计的知识,而对于高二学生只有在数学必修模块三中有对算法及程序的描述。因此学生对于程序设计的知识还是相对匮乏的。因此,在学习设计的过程中,应弱化对于某一编程语言的学习,应更注重学生编程思想的培养。
教学目标 知识与技能: 理解程序设计的顺序结构基本思想、掌握顺序结构语句特点。过程与方法: 培养用算法分析问题的能力能够使用顺序结构编写简单的程序解决具体问题。情感态度与价值观: 体会用结构化方法解决数学问题的便捷性。明确结构化在程序设计中的重要作用。激励尝试使用多种方法解决问题。培养良好的编程习惯和态度。教学重点: 理解程序设计的顺序结构基本思想。教学难点
顺序结构实现语句的格式和功能。
编写简单的程序的过程。变量的特点。教学方法
任务驱动法、直观演示法、师生互动法 教学过程
一、新课导入
师:随着计算机和网络的普及,“编程”这个词汇越来越被大家熟悉。有时候一说起XXX 会编程序,都觉得这人很牛。编程真的是这么深不可测的事情么?非也非也,实际上编程很简单。它简单到...简单到就像一个游戏!师:运行游戏电灯小人。介绍游戏规则和玩法,展示小人点灯过程。或安排学生上台试玩游戏!生:认真观看教师游戏。
师:通过游戏,大家可以看到小人点灯的过程实际上是按照,从左到右,从上到下的顺序进行的,中间没有分支,没有重复。这种结构就是我们今天向大家介绍的顺序结构。
设计意图: 展示游戏运行过程,引起学生的好奇心,探索新鲜事物欲望。更让学生认识到编程并不复杂,引入本课主题——顺序结构。联系实际,拉近程序与生活的距离。
二、展望新课
师:今天同学们要设计的程序来源于一堂体育课的游戏。
A B
有一次在上体育课的时候, a 同学想和 b 同学做一个换球的游戏,同学们能不能帮他们出出主意?(如 a 原来拿篮球, b 原来拿排球,交换后, a 拿排球, b 拿篮球 游戏规则:要求每次交换只允许每人手中最多有一个球。1.顺序结构的第一次亲密接触: 1.依照人的正常逻辑,必有学生想到直接互抛法来交换两个球的方法。分析算法,引出程序
算法 1 直接互抛法: Step1 : a(或 b 拿篮球 Step2 : b(或 a 拿排球 step3 : a 将篮球(或排球给 b step4 : b 将排球(或篮球给 a step5 :结束
生:两个学生先用简洁语言描述交换的过程,并演示。设计意图: 以游戏形式展开讨论,学生的兴趣被调动起来。限定交换规则为下面的算法 2 和算法 3 做铺垫。
师:算法1程序可描述为: Dim a as single Dim b as single a=1 b=2 a=b b=a print a,b 师:请同学们对比算法 1 与算法 1 程序,你能猜猜程序每一行语句的含义吗?(提示 1 代表篮球, 2 代表排球, single为整型的意思
程序界面
分析程序设计的过程的一般步骤:
1.数据类型说明部分。2.数据的输入部分。3.数据的处理部分。4.数据的输出部分。算法 1 程序完善如下: …… a = 1 b = 2 Print “交换前 :a=“;a, ”b=“;b a = b b = a Print ” 交换后 :a=“;a, ”b=“;b 让学生理解记忆,并将程序写到第一次亲密接触中运行程序不正确,设下疑点。生:输入代码(一定学生自己手动输入,否则无法了解编程的完整过程 [提问]:程序运行结果为什么会和我们交换的结果不一致呢? 预测:学生运行程序可能出现的情况: 1.程序正确运行,但无法实现正确交换。2.程序无法正确运行,出现编译错误。
教师应针对第2种情况予以说明,程序代码输入是否有误,输入法状态是否切换正确。
变量的特点:每个变量占用一个内存空间,有新的内容被送到这个变量中,旧的内容就被冲刷掉了。
师:分析变量在程序运行中的过程,使得学生清晰理解。
结论:程序运行结果不能满足要求,直接互抛法程序不成功。设计意图
让学生对程序的格式有一个初步的印象,增强学生对程序编写的信心。算法 1 是不符合游戏规则的算法,因此直接给出程序,类似于语文中倒叙的方式,然后再分析。引入自然,加深印象,学生可以在默写的过程,理清程序的结构。激励教学法,使学生对学习充满期望和信心
顺序结构的第二次亲密接触: 师:编写程序贵在有创新,而创新的关键就是算法,一种新的算法不亚于建造一种新的机型。引导学生进行算法2探讨。
淮南市第三批学科带头人评选公开课材料 生:学生分析每一行程序对应的含义,学生操作运行程序,观察结果做随堂笔记学生立刻发 现程序运行结果不正确。学生简洁说明交换过程,并模拟演示 算法2 “ 第三人 ” 交换法: Step1 : a(或 b 拿篮球,b(或 a 拿排球 step2 :输出交换前 a,b 的值 step3 :第三人 a(或 b step4 :第三人 a(或 b step5 : b(或 a第三人 Step6 :输出交换后 a,b 的值 Step7 :程序结束 师:纵观整个算法,第三人扮演着什么角色? 小结:第三人就像一个邮递员,它是 a 和 b 换球的中转站 模仿第一次亲密接触的程序,让学生将算法 2 程序写到第二次亲密接触中(教师随堂辅导)算法 2 程序如下(传递变量 c : Dim a as single Dim b as single a = 1 b = 2 Print ”交换前 :a=“;a, ”b=“;b c = a a = b b = c Print ”交换后 :a=“;a, ”b=“;b 师:分析变量在程序运行中的过程,使得学生清晰理解。-6-淮南市第三批学科带头人评选公开课材料 结论:小小“邮箱员”,结论:小小“邮箱员” 交换真方便 学生思考,并回答学生自己模仿算法 1 程序编写算法 2 程序 学生观看教师演示,并 思考了解中间变量作用,加深对程序的理解。顺序结构的第三次亲密接触: 顺序结构的第三次亲密接触: 游戏规则 2 :允许某一瞬间有人可以同时拿着两个球 师:有了前面两个程序编写的经验,同学们已经基本掌握了程序编写的过程。即分析问题,寻找算法,计算机识别模式转化,及程序语言编写程序的过程。同学们还能不能带给我们更 多的惊喜呢? 算法较复杂,可引导学生从模拟的算法中,将提示的交换程序补充完整。算法 3近距离互换: …… a=1 b=2 Print “交换前 :a=”;a, “b=”;b a=a+b b=a-b-7-淮南市第三批学科带头人评选公开课材料 a=a-b Print “交换后 :a=”;a, “b=”;b 师:分析交换过程 a,b 的值 学生回答 设计意图: 既是复述程序设计的过程,让学生记忆一个程序设计的概念,又能扩大学生的思维方式 算法复杂,学生可能无法
想到,可以让学生描述程序在交换过程中变量 a,b 的值理解程序 的运算过程。
三、拓展延伸 师:1.请修改刚才算法 2 的程序,按课本 33 面的代码输入。2.输入测试数据为 1,2; 2.3,3.2;-1.8,8.1;h,1-8-淮南市第三批学科带头人评选公开课材料 1,j H,J 记录运行结果,分析为什么会出现以上结果。设计意图: 一个程序做出来以后,这个程序有没有价值是要通过大量的数据进行测试,如果缺少测 试环节,这个程序是没有办法进行使用的。这里数据的测试目的有二,其一:让学生了解一 个完成程序的设计过程是包括测试的;其二:程序需要有一定的容错性,从而也引出下节内 容选择结构。总结归纳 师:纵观上述三个程序,无论是算法1的程序,还是算法2和算法3的程序,从运行的 结构上说都有一个共同的特点。从程序开始到程序结束,程序运行有没有出现某一行语句重 复运行,或者某一行语句不执行的情况呢? 程序设计的顺序结构:在程序执行过程中,语句按先后顺序一行一行执行,没有分支,没有重复,直到程序结束。学生回答 设计意图: 通过三次体验顺序结构的程序设计,学生能够深刻理解顺序结构的基本思想。教学反思: 本节通过两个变量相互交换值来进行探讨,教师以体育课中换球为例,生动形象的比喻 程序设计中变量的交换,并通过学生现场演示来让学生写出两个变量互换的算法,并上机实 验测试结果是否正确与否,通过测试发现结果并不让人满意,进一步修改算法,让学生了解 让学生了解 显示生活中的互换与程序设计中的互换是存在差别的。显示生活中的互换与程序设计中的互换是存在差别的。同时也为后面多种算法解决问题埋 下伏笔,让学生充分认识到中间变量的作用和特征。让学生亲自输入代码,体验编程的过程 中可能会出现的问题,测试数据测试程序容错性,让学生对程序开发设计有个完整的认识。-9-
第五篇:1.1 算法与程序框图 教学设计 教案
教学准备
1.教学目标
(1)了解算法的含义,体会算法思想.
(2)会用自然语言和数学语言描述简单具体问题的算法;
(3)学习有条理地、清晰地表达解决问题的步骤,培养逻辑思维能力与表达能力
2.教学重点/难点
重点:算法的含义、解二元一次方程组的算法设计. 难点:把自然语言转化为算法语言.
3.教学用具
课件
4.标签
算法
教学过程 情境导入
电影《神枪手》中描述的凌靖是一个天生的狙击手,他百发百中,最难打的位置对他来说也是轻而易举,是香港警察狙击手队伍的第一神枪手.作为一名狙击手,要想成功地完成一次狙击任务,一般要按步骤完成以下几步: 第一步:观察、等待目标出现(用望远镜或瞄准镜); 第二步:瞄准目标;
第三步:计算(或估测)风速、距离、空气湿度、空气密度; 第四步:根据第三步的结果修正弹着点; 第五步:开枪;
第六步:迅速转移(或隐蔽). 以上这种完成狙击任务的方法、步骤在数学上我们叫算法. ●课堂探究 预习提升
1.定义:算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题. 2.描述方式
自然语言、数学语言、形式语言(算法语言)、框图. 3.算法的要求
(1)写出的算法,必须能解决一类问题,且能重复使用;
(2)算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清,而且经过有限步后能得出结果. 4.算法的特征
(1)有限性:一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束.
(2)确定性:算法的计算规则及相应的计算步骤必须是唯一确定的.
(3)可行性:算法中的每一个步骤都是可以在有限的时间内完成的基本操作,并能得到确定的结果.
(4)顺序性:算法从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,后一步是前一步的后续,且除了最后一步外,每一个步骤只有一个确定的后续.
(5)不唯一性:解决同一问题的算法可以是不唯一的. 课堂典例讲练
命题方向1 对算法意义的理解 例1.下列叙述中,①植树需要运苗、挖坑、栽苗、浇水这些步骤;
②按顺序进行下列运算:1+1=2,2+1=3,3+1=4,„99+1=100; ③从青岛乘动车到济南,再从济南乘飞机到伦敦观看奥运会开幕式; ④3x>x+1;
⑤求所有能被3整除的正数,即3,6,9,12,„.能称为算法的个数为()A.2
B.3
C.4
D.5 【解析】根据算法的含义和特征:①②③都是算法;④⑤不是算法.其中④,3x>x+1不是一个明确的步骤,不符合明确性;⑤的步骤是无穷的,与算法的有限性矛盾. 【答案】B
[规律总结] 1.正确理解算法的概念及其特点是解决问题的关键.
2.针对判断语句是否是算法的问题,要看它的步骤是否是明确的和有效的,而且能在有限步骤之内解决这一问题.
【变式训练】 下列对算法的理解不正确的是________ ①一个算法应包含有限的步骤,而不能是无限的
②算法可以理解为由基本运算及规定的运算顺序构成的完整的解题步骤 ③算法中的每一步都应当有效地执行,并得到确定的结果 ④一个问题只能设计出一个算法
【解析】由算法的有限性指包含的步骤是有限的故①正确; 由算法的明确性是指每一步都是确定的故②正确;
由算法的每一步都是确定的,且每一步都应有确定的结果故③正确; 由对于同一个问题可以有不同的算法故④不正确. 【答案】④
命题方向2 解方程(组)的算法 例2.给出求解方程组的一个算法.
[思路分析]解线性方程组的常用方法是加减消元法和代入消元法,这两种方法没有本质的差别,为了适用于解一般的线性方程组,以便于在计算机上实现,我们用高斯消元法(即先将方程组化为一个三角形方程组,再通过回代方程求出方程组的解)解线性方程组. [规范解答]方法一:算法如下:
第一步,①×(-2)+②,得(-2+5)y=-14+11,即方程组可化为
第二步,解方程③,可得y=-1,④ 第三步,将④代入①,可得2x-1=7,x=4,第四步,输出4,-1.方法二:算法如下:
第一步,由①式可以得到y=7-2x,⑤ 第二步,把y=7-2x代入②,得x=4.第三步,把x=4代入⑤,得y=-1.第四步,输出4,-1.[规律总结]1.本题用了2种方法求解,对于问题的求解过程,我们既要强调对“通法、通解”的理解,又要强调对所学知识的灵活运用.
2.设计算法时,经常遇到解方程(组)的问题,一般是按照数学上解方程(组)的方法进行设计,但应注意全面考虑方程解的情况,即先确定方程(组)是否有解,有解时有几个解,然后根据求解步骤设计算法步骤. 【变式训练】
【解】 算法如下:S1,①+2×②得5x=1;③ S2,解③得x=;
S3,②-①×2得5y=3;④ S4,解④得y=;
命题方向3 筛选问题的算法设计
例3.设计一个算法,对任意3个整数a、b、c,求出其中的最小值. [思路分析]比较a,b比较m与c―→最小数 [规范解答]算法步骤如下:
1.比较a与b的大小,若a
2.比较m与c的大小,若m 【变式训练】在下列数字序列中,写出搜索89的算法: 21,3,0,9,15,72,89,91,93.[解析]1.先找到序列中的第一个数m,m=21; 2.将m与89比较,是否相等,如果相等,则搜索到89; 3.如果m与89不相等,则往下执行; 4.继续将序列中的其他数赋给m,重复第2步,直到搜索到89.命题方向4 非数值性问题的算法 例4.一个人带三只狼和三只羚羊过河,只有一条船,同船可以容一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊.(1)设计安全渡河的算法; (2)思考每一步算法所遵循的共同原则是什么? [解析](1)1.人带两只狼过河; 2.人自己返回; 3.人带一只狼过河; 4.人自己返回; 5.人带两只羚羊过河; 6.人带两只狼返回; 7.人带一只羚羊过河; 8.人自己返回; 9.人带两只狼过河. (2)在人运送动物过河的过程中,人离开岸边时必须保证每个岸边的羚羊的数目大于狼的数目. [规律总结]1.对于非数值性的问题,在设计算法时,应当先建立过程模型,也就是找到解决问题的方案,再把它细化为一步连接一步组成的步骤.从而设计出算法. 2.首先应想到先运两只狼,这是唯一的首选步骤,只有这样才可避免狼吃羊,带过一只羊后,必须将狼带回来才行. 【变式训练】两个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡一个大人或两个小孩,他们四人都会划船,但都不会游泳,他们如何渡河?请写出你的渡河方案及算法. [解析]因为一次只能渡过一个大人或两个小孩,而船还要回来渡其他人,所以只能让两个小孩先过河,渡河的方案算法为: 1.两个小孩同船渡过河去; 2.一个小孩划船回来; 3.一个大人独自划船渡过河去; 4.对岸的小孩划船回来; 5.两个小孩再同船渡过河去; 6.一个小孩划船回来; 7.余下的一个大人独自划船渡过河去; 8.对岸的小孩划船回来; 9.两个小孩再同船渡过河去. 课后习题 1.以下对算法的描述正确的个数是()①对一类问题都有效; ②对个别问题有效; ③计算可以一步步地进行,每一步都有唯一的结果; ④是一种通法,只要按部就班地做,总能得到结果. A.1个 B.2个 C.3个 D.4个 [答案]C [解析]①③④正确,均符合算法的概念与要求,②不正确. 2.算法的有限性是指()A.算法的最后必包含输出 B.算法中每个操作步骤都是可执行的 C.算法的步骤必须有限 D.以上说法均不正确 [答案]C [解析]由算法的要求可知,应选C.3.下列语句中是算法的个数是()①从广州到北京旅游,先坐火车,再坐飞机抵达; ②解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1; ③方程x2-1=0有两个实根; ④求1+2+3+4的值,先计算1+2=3,再由3+3=6,6+4=10得最终结果10.A.1个 B.2个 C.3个 D.4个 [答案]C [分析]解答本题可先正确理解算法的概念及其特点,然后逐一验证每个语句是否正确. [解析]①中说明了从广州到北京的行程安排,完成任务;②中给出了一元一次方程这一类问题的解决方法;④中给出了求1+2+3+4的一个过程,最终得出结果.对于③,并没有说明如何去算,故①②④是算法,③不是算法. 4.设计一个算法求方程5x+2y=22的正整数解,其最后输出的结果应为________. [答案](2,6),(4,1)[解析]因为求方程的正整数解,所以应将x从1开始输入,直到方程成立. x=2时,y==6; 5.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99.求它的总分和平均成绩的一个算法为: 1.取A=89,B=96,C=99; 2.____①____; 3.____②____; 4.输出D,E.[解析]求总分需将三个数相加,求平均分,另需让总分除以3即可. x=4时,y==1.[答案]①计算总分D=A+B+C ②计算平均成绩E=