高中数学算法与框图教学研究 教师培训版.docx
- 文档编号:8314150
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:21
- 大小:301.77KB
高中数学算法与框图教学研究 教师培训版.docx
《高中数学算法与框图教学研究 教师培训版.docx》由会员分享,可在线阅读,更多相关《高中数学算法与框图教学研究 教师培训版.docx(21页珍藏版)》请在冰豆网上搜索。
高中数学算法与框图教学研究教师培训版
高中数学“算法与框图”教学研究
一、整体把握“算法与框图”的教学内容
(一)算法
1.什么是算法
算法(algorithm)一词源于算术(algorism),算术方法的原义是一个由已知推求未知的运算过程.后来,人们把它推广到一般,指算法是在有限步骤内求解某一问题所使用的一组定义明确的规则,甚至把把进行某一工作的方法和步骤也称为算法.
例如,人们在计算过程中,先乘除,后加减,从内到外去括号等规则,都是按部就班必须遵守的算法.人类最早关于算法的记录存在于在两河流域发现的公元前两三千年的泥板书上,其中的一个典型例子就是计算利息何时能够够等于本金.算法早期发展中值得一提的另一个成果应归功于古希腊的欧几里得,他提出的计算最大公约数的方法——辗转相除法(又称欧几里得算法)至今仍在使用.
我国古代数学发展的主导思想,就是构造“算法”,解决问题.可以说:
我国古代数学中蕴含着丰富的算法思想,其中最具代表性的就是《九章算术》.
《九章算术》是战国、秦、汉时期数学发展的总结,就其数学成就来说,堪称是世界数学名著.其内容按类分章,以数学问题的形式出现,包括分数四则运算、开平方与开立方(包括二次方程数值解法)、盈不足术、各种面积和体积公式、线性方程组解法、正负数运算的加减法则、勾股形解法(特别是勾股定理和求勾股数的方法)等.其中方程组解法和正负数加减法则在世界数学发展上是遥遥领先的.就其特点来说,它形成了一个以筹算为中心,与古希腊数学完全不同的独立体系.
我们现在学习的算法,不同于求解某一个具体问题的方法,它应具有如下特点:
2.算法的特点
通用性:
能解决一类问题.能重复使用.
程序性:
stepbystep.算法过程要一步一步执行.
确定性:
算法的每一步执行的操作,必须确切,不能含混不清.
可行性:
算法中的每一个步骤必须是能实现的.例如,在算法中,不允许出现分母为零的情况;在实数范围内不能求一个负数的平方根等.
有穷性:
算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.
3.为什么要学习算法?
算法一方面具有具体化、程序化、机械化的特点,同时又有抽象性、概括性和精确性.对于一个具体算法而言,从算法分析到算法语言的实现,任何一个疏漏或错误都将导致算法的失败.算法是思维的条理化、逻辑化.算法所体现出来的逻辑化特点被有些学者看成是逻辑学继形式逻辑和数理逻辑之后发展的第三个阶段.因此,培养逻辑思维能力,不仅可以通过几何论证、代数运算等手段来进行,还可以通过算法设计的学习来达到.
4.整体把握“算法”教学内容
《课程标准》中算法的内容以两种形式呈现:
一是在本模块中,相对集中地介绍算法的基本思想、基本结构、基本语句等;另外,《标准》还要求把算法思想渗透在其他相关内容之中.中学数学中的算法内容和其他内容是密切联系在一起的,比如线性方程组的求解、数列的求和等.具体来说,需要通过模仿、操作、探索,学习设计程序框图表达解决问题的过程,体会算法的基本思想和含义,理解算法的基本结构和基本算法语句,并了解中国古代数学中的算法.
(二)框图
框图是表示一个系统各部分和各环节之间关系的图示,它能够清晰地表达比较复杂的系统各部分之间的关系,是表达和交流思想的有力工具.
框图分为流程图和结构图两种.流程图用来描述动态过程,可用来刻画数学问题或其他问题的解决过程,结构图用来刻画系统结构或组成.流程图通常会有一个“起点”,一个或多个“终点”,其基本单元之间由流程线连接;结构图则更多表现为“树”形结构,其基本要素之间一般为概念上的从属关系或逻辑上的先后关系.
框图有直观、明确的特点.用框图表达数学问题解决的过程或事物之间的关系,有助于提高抽象概括能力和逻辑思维能力,提高清晰表达和交流思想的能力.
(三)重点、难点分析
课标要求:
1.算法初步(约12课时)
(1)算法的含义、程序框图
①通过对解决具体问题过程与步骤的分析(如二元一次方程组求解等问题),体会算法的思想,了解算法的含义.
②通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.在具体问题的解决过程中(如三元一次方程组求解等问题),理解程序框图的三种基本逻辑结构:
顺序、条件分支、循环.
(2)基本算法语句
经历将具体问题的程序框图转化为程序语句的过程,理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想.
(3)通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献.
2.框图(约6课时)(文科)
(1)流程图
①通过具体实例,进一步认识程序框图.
②通过具体实例,了解工序流程图(即统筹图)(参见例4、例5).
③能绘制简单实际问题的流程图,体会流程图在解决实际问题中的作用.
(2)结构图
①通过实例,了解结构图;运用结构图梳理已学过的知识、整理收集到的资料信息.
②结合作出的结构图与他人进行交流,体会结构图在揭示事物联系中的作用.
结合课标要求和前面的分析,可以看到:
算法中,算法思想——即程序化处理问题的思想是教学的重点,而算法的基本结构、基本语句无疑也是算法学习的重点.难点则集中体现循环结构的学习中.程序框图,作为描述算法的一种简洁清晰地语言,是算法也是框图的重点.
另外,算法与框图除作为各自单元学习的内容之外,其思想方法也应渗透在高中教学课程其他有关内容中,鼓励学生尽可能地运用算法解决相关问题,运用框图表达知识结构.让程序化思想成为我们思考问题的习惯.
二、“算法与框图”教与学的策略
(一)注重算法基本思想的理解
算法与框图作为新名词,在以前的数学教材中没有出现,但是算法与框图本身,学生并不陌生,解方程的算法、解不等式的算法、每章的知识结构图,都是同学们熟知的内容.只是算法的基本思想、特点,学习算法的必要性等问题没有专门的涉及.
算法与框图首先培养学生的是一种思维习惯,为了让学生体会这种思想,这种思维方法的好处,一开始的时候,我们不应该让算理成为算法学习的难点.应选用大量具体的、学生熟悉的实例,在剖析具体实例的过程中,体会算法的基本思想以及算法的重要性和有效性.
例1.让学生整理用加减消元法解二元一次方程组
的步骤,并将步骤用语言描述;(该步骤即为算法)
在这个过程中,体会算法就是有条理地解决问题的步骤;体会算法的特性:
通用性、程序性、确定性、可行性、精确性等.
给人看的算法与给机器用的算法.
例2.红色的瓶装着红墨水,蓝色的瓶装着蓝墨水,请设计算法,将两瓶里的墨水互换.
S1:
找一个空瓶.
S2:
将红墨水倒在空瓶里,于是红瓶空了.
S3:
将蓝墨水倒在红色的瓶里,于是蓝瓶空了.
S4:
将空瓶里的红墨水倒在蓝瓶里.
例3.判断1997是否质数?
算理:
用小于1997的所有数去除1997,看余数是否为0
S1:
用2去除1997,看余数是否为0,若余数为0,输出“不是质数”,结束;若余数不为0,执行下一步.
S2:
用3去除1997,看余数是否为0,若余数为0,输出“不是质数”,结束;若余数不为0,执行下一步.
……
S1995:
若1996去除1997,看余数是否为0,若余数为0,输出“不是质数”,结束;若余数不为0,输出“质数”.
(二)案例教学是算法与框图教学的基本方法
在算法与框图的教学中,案例应该贯穿始终.
从某种意义上来看,程序框图、程序语言其实都是一种描述算法的语言.那么,语言应该如何学习呢?
适合在具体的语境中通过模仿、使用来学习.
比如算法的三种基本逻辑结构及其框图表示,可用下面的方法来教学.
(三)赋值语句与循环结构的教学
在算法中有两个难点:
一个是赋值语句,一个是循环结构.
教学中,教师要注意分散这些难点.比如说:
我们可以在讲完算法的概念之后,就安排一节课,专门讲“变量与赋值”,学生有了一定的了解之后,再讲算法的三种逻辑结构,并在这两种结构中有意识地运用“变量与赋值”,以求达到让学生逐步熟悉的目的,这样,循环结构中再用到变量与赋值的时候,就比较自然,学生可以将主要精力放在循环结构的其它部分,达到了分散难点的目的.
【案例1】变量与赋值
我们已经注意到,设计算法的过程中,解决问题的基本思想常常很简单,很清楚,但是表述却很麻烦,(比如说:
判断1997是不是质数).为了解决这个问题,需要引入变量与赋值,在初中我们就了解变量的含义:
在研究问题的过程中可以取不同数值的量称为变量.
变量和函数是中学数学最重要和最基本的概念,在算法和程序设计中,它们仍然发挥着重要和基本的作用,它们会使算法的表述变得非常简洁、清楚.
这节课来介绍如何设置变量和给变量赋值.
例1.设计一个算法,从5个数中找出最大数
剖析算理:
解决这个问题的思想很简单,先选两个数进行比较,去掉小的,留下大的;再取第三个数与留下的数进行比较,去掉小的,留下大的;继续进行,直到每个数都被比较,最后留下的数就是最大数.
设计算法:
记这5个不同的数分别为a1,a2,a3,a4,a5,算法步骤如下:
1.比较a1与a2,将较大的数记作b.
{在这一步中,b表示的是前两个数中的最大数.}
2.再将b与a3进行比较,将较大的数记作b.
{执行完这一步后,b的值就是前3个数中的最大数.}
3.再将b与a4进行比较,将较大的数记作b.
{执行完这一步后,b表示的是什么?
}
4.再将b与a5进行比较,将较大的数记作b.
{执行完这一步后,b表示的是什么?
}
5.输出b,b的值即为所求的最大数.
上述算法的四个步骤中,每步都要与上一步中得到的最大数b进行比较,得出新的最大数,也记作b,b可以取不同的值,通常把b称作变量.
比如第1步中,如果a1>a2,则把a1的值赋予b,否则就把a2的值赋予b.这个过程称为赋值.把将a1的值赋予b记作:
b=a1.(bßa1.或b:
=a1).
其中“=”为赋值符号.
第一步用赋值语句,可以表示为:
如果a1>a2,则b=a1,否则,b=a2.
回到例1,在这个问题中,可以将a1作为初始值赋予变量b.这样可以把算法步骤改写如下:
1.b=a1;
2.比较b与a2,如果b 3.比较b与a3,如果b 4.比较b与a4,如果b 5.比较b与a5,如果b 6.输出b,b就是这5个数中的最大数. 本题中只有一个变量b. 变量和赋值的概念在算法中十分重要.可以把变量想象成一个盒子,赋值就相当于往盒子里放东西.这个盒子可以装不同的数值,但是一次只能装一个.当赋予它新值的时候,原来的值将被新值取代.当变量参与运算和操作时,它表示的是想象中盒子里装的值. 有的老师用“喜新厌旧”来比喻赋值语句,只要给他一个新的数值,旧的数值马上不见踪影;形象有趣;还有“见异思迁”的条件语句;“不撞南墙不落泪”的循环结构. 例2.现有一瓶红墨水,一瓶蓝墨水,红墨水装在了红瓶子中,蓝墨水装在了蓝瓶子中,设计一个算法,将两瓶墨水对调瓶子. 问题的实质就是: 现有两个变量a,b,设计算法,交换两个变量的值.于是,需增设一个变量c. c=a, a=b, b=c. 例3.设计算法,判断一个大于2的正整数n是否质数? 剖析算理: 先从具体的例子看起: 如何判断1997是不是质数? 用小于1997的所有数去除1997,看余数是否为0.这个问题中有1个变量(除数),若有必要,余数也可设成变量. S0: i=2. S1: 用i去除1997,看余数是否为0,若余数为0,输出“不是质数”;若余数不为0,执行下一步. S2: i=i+1. S3: 若i<1997,返回S1;否则,输出“质数”. 算法教学要注意循序渐进,先具体再抽象,先了解算理,再描述算法.通常,我们说一个算法越是抽象,有一般意义,应用就越广泛,越能体现算法本身的应用价值.可是,作为教学意义上的算法则不同,一定要从具体问题出发分析算法的算理、步骤,然后抽象概括出一般意义的算法,画出算法流程图,并在这个过程中,学习使用变量,学习更好的表示算法,以便在计算机上操作执行. 【案例2】循环结构 循环结构之所以是教学的难点,主要的原因是由于它的高度抽象.循环结构的主要组成部分是循环体,而循环体中往往涉及两个变量——计数变量和累加变量,变量的选择、变量的初值、循环的终止条件,这些都是学生容易犯错误的地方. 如何突破这个难点? 除了把变量和赋值先期处理,分散难点之外,更重要的是让学生明确循环体各部分的作用. 可以选择从顺序结构中生成循环结构,一方面可培养学生的抽象概括能力,另一方面,也便于学生迅速把握循环的主体,采用中心突破,前后补充的方法来生成循环结构. 可以从下面的问题引入: 画出计算 的程序框图. 多数同学们都可以用顺序结构来实现.这时可以提问: 问题1: 如果画出 的程序框图,我们还能够用顺序结构有效的实现该题的算法吗? 如果累加到一百万分之一呢? 这就需要我们找到一个新的方法解决这个问题. 至此,学生已经体会到了循环结构的必要性. 在此基础上,抽丝剥茧,形成概念. 问题2: 观察这个结构里的这5个步骤有什么规律呢? 学生通过独立思考发现了两个规律: (1)变量S每次都重复加上一个形如 形式的数重新赋值给S; (2)每次加上的数 与步骤数i有关,这几步是在重复地进行将i+1赋值给i这一过程. 至此,循环的主体已经形成. 从算法的有穷性出发,学生很自然地得到了循环终止条件,顺势抽象出循环结构的概念: 根据指定条件决定是否重复执行一条或多条指令的控制结构称为循环结构. 最后通过变式探究,来突破难点. 对循环体各部分作用的辨析,可以帮助学生在理解算法多样性的同时养成严谨细致的好习惯. 易错扫描: 不同的程序语言,对于程序框图的设计有细微的要求,比如Basic语言,要求弄清楚“当型循环”和“直到型循环”,这是为了后面程序语言的学习作准备;而Scilab语言的两种循环结构“While循环”、“for循环”,则没有这种要求.总的来说,最本质的是要搞清楚: 条件框的位置、内容起决定作用. (四)学会检验 所编写的程序框图是否正确? 输出地结果应该是什么? 框图实现的是什么功能? 初值应该如何填写? …… 这些问题都可以通过检验来得以解决.应该帮助学生学会通过对循环变量的追踪分析来检验框图的正确性. 检验步骤应该如何写? 例1.检验: 检验的过程,也是循环过程的再现,不仅可以使学生加深对循环结构的理解,也是培养学生严肃认真的科学态度好时机. 例2.求满足12+32+52+……+n2<1000的最大整数解的程序框图②处应为n-4. (五)算法设计要注重算理 高中数学中学习算法,与计算机教学中学习算法有何区别? 本模块的主要目的是使学生体会算法的思想、提高逻辑思维能力,不要将此部分内容简单处理成程序语言的学习和程序设计.数学内容中学习算法,不同于计算机程序设计,更重要的是明确算理、优化算理. 循环结构的算法设计尤为困难,而明确算理,最关键的是在于从特殊中提炼一般,从具体中归纳抽象.变量的确定在其中起着至关重要的作用. 例1.写出求 (该式子中共有6个2)的值的一个算法,并画出流程图. 分析: 如何从具体中抽象出算理? 例2.设: ,以下是计算分数 中分子m和分母n的程序流程,试填入流程框图中所缺部分; (1)__________________; (2)_____________________. 分析: 1)确定变量及其作用. 分子m,分母n,循环变量k,变量t. 2)研究算理: 从具体的开始: 抽象出算理: m=km+n,n=t 3)根据检验的步骤往下写: m=7,n=1,k=6,否,t=7,m=6*7+1,n=7,k=5 否,t=7,m=5*43+? ,n=t,k=5 例3.S=1+(1+2)+(1+2+3)+…+(1+2+…+50) 分析: 变量的设置.优化循环结构. 要帮助学生掌握解决算法问题的基本步骤: 第一、清晰地描述问题 第二、明确算理 第三、用自然语言描述解决问题的步骤 第四、确定问题中的常量与变量 第五、用框图描述解决问题的过程 第六、选择特殊情况进行检验 (六)程序语言的教学 本模块中的算法内容是将数学中的算法与计算机技术建立联系,形式化地表示算法,为了有条理地、清晰地表达算法,往往需要将解决问题的过程整理成程序图;为了能在计算机上实现,还需要将自然语言或程序框图翻译成计算机语言.在条件允许的学校,应该尽量为学生提供上机的机会,使其将设计的算法能在计算机上实现,一方面有助于学生养成重视细节的习惯,另一方面,计算机上实现算法,实际上是对于算法学习成果的检验,是算法学习中的一个重要环节. 关于语言的选择,可选择教材或学生熟悉的语言.一般在学习算法的时候,通过上计算机课,学生已经有了一定的计算机基础,要充分发挥学生的主动性和积极性,选出一部分程序语言较好的同学,采取小组互助学习的方式进行. (七)框图(文科)的教学建议 框图是学生在必修三学习算法之后,为了强化文科同学的条理性和逻辑性而设置的板块.框图的内容学生并不陌生,算法中的流程图、各章节的知识结构图,都是学生熟悉的内容. 框图的教学,应从分析实例入手,引导学生运用框图表示数学计算与证明过程中的主要思路与步骤、实际问题中的工序流程、某一数学知识系统的结构关系等.使学生在运用框图的过程中理解流程图和结构图的特征,掌握框图的用法,体验用框图表示解决问题过程的优越性.也可以围绕学生感兴趣的话题展开,比如有的学生会选择画出红楼梦的人物关系图等. 流程图,可以用来描述具有时间特征的动态过程,关于流程图的教学,除了围绕算法展开,也可将解题(或干某件工作)的步骤条理化,形成操作程序.如,可让学生用流程图整理解解析几何题的常规步骤. 结构图则是用来刻画系统结构,其基本要素之间一般为概念上的从属关系或逻辑上的先后关系.如知识结构图、组织结构图等.要注意流程图与结构图的区别. 例1.右图是《集合》的知识结构图,如果要加入“子集”,则应该放在() A.“集合的概念”的下位 B.“集合的表示”的下位 C.“基本关系”的下位 D.“基本运算”的下位 三、学生学习目标检测分析 (一)课程标准与高考对“算法与框图”的要求 依据课标要求和考试说明的要求,将算法与框图学习的主要检测内容与标准整理如下: 总体而言,高考中,程序框图是考察的重点,算法语句的考察需要结合各地所使用的教材. 另外,课标一再提到: 算法与框图除作为各自单元学习的内容之外,其思想方法也应渗透在高中教学课程其他有关内容中.因此,不要只用高考的模式学算法,平时教学中,也不要只用高考的方式考算法.应鼓励学生尽可能地运用算法解决相关问题,运用框图表达知识结构.通过这些来考察学生对于程序化思想的掌握程度,并培养学生的逻辑思维能力. 下面我们选择一些例题加以说明: (二)典型题目的检测分析 例1.阅读下图所示的程序框图,运行相应的程序,输出的 值等于 (A)2(B)3(C)4(D)5 【选题目的】考查认识程序框图的基本能力.选B的学生是忽略了s=s+a与i=i+1的顺序,但明确算理. 可要求学生将此程序框图写成算法语言.考察对于算法语言的使用. 高考中对算法的考察,一般用程序框图考察循环结构,并且考察对象一般是循环体中的关键赋值语句、控制条件、变量初始值或者输出结果.解答问题的关键在于通过检验的步骤明确算理. 对输出结果的考察属于其中最简单的层次,只需按照程序框图依序执行即可. 例2.阅读下边的程序框图,若输出s的值为-7,则判断框内可填写 (A)i<3? (B)i<4? (C)i<5? (D)i<6? 答案: D. 解析: 涉及循环语句的问题,通常可以采用依次执行循环体的方式解决. 第一次执行循环时s=1,i=3; 第二次执行循环时s=-2,i=5; 第三次执行循环时s=-7,i=7, 所以判断框内可填写“i<6? ”,选D. 可要求学生将此程序框图转化为程序语言,因为循环次数已知,可用while循环,也可用for循环. 例3.2010年上海世博会园区每天9: 00开园,20: 00停止入园.在右边的框图中,S表示上海世博会官方网站在每个整点报道的入园总人数, 表示整点报道前1个小时内入园人数,则空白的执行框内应填入____________. 【选题目的】仍然考查学生认识程序框图的基本能力.但填写条件框和执行框属于其中较高层次的能力考察.例2考察学生是否会根据检验步骤填写条件;例3则考察学生是否学会通过阅读明确算理. (3)国庆期间,某超市对顾客实行购物优惠活动,规定一次购物付款总额: (i)若不超过200元,则不予优惠; (ii)若超过200圆,但不超过500元,则按标价价格给予9折优惠; (iii)如果超过500元,500元的部分按照第(ii)条优惠,超过500元的部分给予7折优惠,设计一个收款的算法,画出程序框图. 【选题目的】编制程序框图是综合运用所学知识解决问题.属于高层次能力考察.在算法教学中要有这样的测试. 例5. (1)画出算法一章的知识结构图. (2)用流程图表示解析几何中求轨迹方程的一般步骤. 【选题目的】将算法与框图的知识运用到日常教学中,渗透到其它内容的学习中,将算法与框图的考察结合到整个高中数学内容中. 学习算法,能指导对问题的统筹操作,鼓励学生尽可能地运用算法解决相关问题,运用框图表达知识结构.把算法作为认识其他数学知识的工具,用算法思想突出逻辑思维能力的培养,增强学生对该部分知识的理解,增强学生的“算法意识”和“应用意识”,让学生体会
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高中数学算法与框图教学研究 教师培训版 高中数学 算法 框图 教学研究 教师 培训