您好,欢迎访问三七文档
亿库教育网百万教学资源免费下载算法教学内容:一、基本要求内容与要求1.算法初步(约12课时)(1)算法的含义、程序框图①通过对解决具体问题过程与步骤的分析(如二元一次方程组求解等问题),体会算法的思想,了解算法的含义。②通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程。在具体问题的解决过程中(如三元一次方程组求解等问题),理解程序框图的三种基本逻辑结构:顺序、条件分支、循环。(2)基本算法语句③经历将具体问题的程序框图转化为程序语句的过程,理解几种基本算法语句--输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想。(3)④通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献。何谓经历?了解——经历——理解——掌握——运用——灵活运用说明与建议1.算法是高中数学课程中新内容,其思想是非常重要的,但并不神秘。例如,运用消元法解二元一次方程组、求最大公因数等的过程就是算法。本模块中的算法内容是将数学中的算法与计算机技术建立联系,形式化地表示算法,在条件允许的学校,使其能在计算机上实现。为了有条理地、清晰地表达算法,往往需要将解决问题的过程整理成程序框图;为了能在计算机上实现,还需要将自然语言或程序框图翻译成计算机语言。亿库教育网百万教学资源免费下载本模块的主要目的是使学生体会算法的思想,提高逻辑思维能力。不要将此部分内容简单处理成程序语言的学习和程序设计。2.算法教学必须通过实例进行,使学生在解决具体问题的过程中学习一些基本逻辑结构和语句。有条件的学校,应鼓励学生尽可能上机尝试。3.算法除作为本模块的内容之外,其思想方法应渗透在高中数学课程其他有关内容中,鼓励学生尽可能地运用算法解决相关问题。不同的程序语言有不同的语言形式。教材A版中使用的是类语言。B版使用的是scilab语言。算法是数学及其应用的重要组成部分,是计算科学的重要基础。随着现代信息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。我们应该把握课程基本要求,不可求难,重在框图思想的理解和掌握,几个语句的使用。能用一种简单的计算机语言表达解决一些简单问题的算法。结合对具体数学实例的分析,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力。实践经验表明,研究至少需要40以上学时大部分学生才能学会初步BASIC程序设计,80以上学时才能进行真正的程序设计(算法设计),这时候才能真正谈及能力的提高。二、具体内容讲解1.关于算法的含义广义的讲,为了处理一个问题而采取的方法和步骤,称为算法(Algorithm)。也可以说算法是指完成一个任务所需要的具体步骤和方法的描述。狭义地讲,所谓算法,就是解题的具体方法和步骤。A版:算法通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。B版:算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题。总之,算法是解决问题方法或步骤的精确而有序的描述。高等代数中都学习过典型的一个算法是欧几里德算法:2.算法的特性分析算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清亿库教育网百万教学资源免费下载楚,而且经过有限步后能得出结果。具有下面几个特点:有穷性:步骤序列是有限的。确定性:算法能有效地执行,并能得到确定的结构。顺序性:算法从初始步骤开始,分为若干个明确具体的步骤,前一步骤是后一步骤的前提,后一步骤是前一步骤的后续,且除了最后一步外,每一个步骤只能有一个确定的后续。不唯一性:同一问题的解决算法一般是不唯一的。但是并不是所有问题都有算法,有些问题经研究可行,则相应有算法,但这并不是说问题就有结果。上述的“可行”,是指对算法的研究。3.算法的分类算法可以分为两类,一是针对某一具体问题而设计的算法,一是针对一类问题设计的算法,通常我们说算法能解决一类问题,并能重复使用,就是指的这类算法。我们不妨将第一类算法称为特殊算法,而第二中算法称为通用算法。例如:设计计算1+2+3+……+100的值的算法。设计计算1+2+3+……+n的值的算法。算法具有通性,所以,一般是先将数值(字母表示)输入进去,在程序执行过程中,这是待机等候输入具体数据阶段。然后给出计算公式似的运算式。4.算法的学习算法是一种不同于代数和几何的又一门新语言。学习它就好比当初学习几何学一样。是学生感到困难的内容。怎样表达一个算法有时是很难。处理算法的思维方式与解决通常的数学问题的思维方式不一样。尽管描述算法的方式有多种,可以用自然语言和数学语言叙述,也可以借助形式语言(算法语言)给出精确的说法,也可以用框图直观地显示。表达所用的知识就是几个语句。算法的学习要靠样例。通过阅读样例体会、理解,再通过模仿、亲自设计简单算法的练习,达到更深刻的理解,并获得简单的设计能力。告诉学生算法不要怕费事,不怕机械,算法设计很重要。巧思!思路要开阔,注意循环结构的运用。不能很好的设计算法很多时候是因为考虑不到循环结构。如一组数,给出一个求最大值的算法。STEP1先假设序列中第一个整数为“最大值”S2将序列中的下一个整数值与“最大值”比较,如果它大于此“最大值”,就假定这个整数是“最大值”,否则不变。S3如果序列中还有其他整数,重复第二步。S4直到序列中没有可比的数为止,这时假定的“最大值”就是这个序列中的最大值。解决算法设计问题要想到几个基本语句和基本技巧的运用。如何从问题出发,构造求解问题的数据结构和算法是一个归纳抽象过程。在学习算法设计或程序设计中,学生往往感到难以掌握设计的技巧,这也许正是因为学生熟悉的数学方法大多是演绎方式的,而计算机求解问题的设计过程却基本是一种归纳抽象。应当在课堂教学中,向学生举例说明这一抽象过程。“设计”的方亿库教育网百万教学资源免费下载法是工程的方法。5.算法和算法语言目前,国际上有几百种算法语言,常用的有几十种。每种算法语言都有自己的适用领域。但不论学习哪种算法语言,其目的是一致的,都是利用它去设计计算机程序,解决各种实际问题。应该说,算法语言仅仅是一种工具,它不同于其他学科,没有繁琐、复杂的推理和概念。算法语言的表达方式是一种接近人们习惯的自然语言和数学语言。因此,人们很容易接受和掌握。另外,学习这种语言,不必深入了解计算机的内部结构和工作原理,只要按照解题的算法,用算法语言写出解题的过程,通过计算机编译后就能执行。程序设计的核心是算法设计,有人说,数据结构+算法=程序。程序设计中除了设计算法,另一个重要环节是计算机如何实现算法,即如何用算法语言按照设计好的算法写出解题的全过程。由此可见,算法语言及程序设计是一门实用性很强的课。高中课程中不涉及到这个。但如何用数学语言或算法语言表达一个算法是一个很麻烦的事情,比当初学习几何证明时表述证明思想还感到难。因为那是线性逻辑的。而算法中间蕴涵着不是“因为——所以”之类的逻辑。如求最大值的算法的表示:S1max=aS2如果bmax,则max=bS3如果cmax,则max=c(这一行里的max可能是前面两个中的任一个)S4那么,max就是最大。(这一行里的max可能是前面三个中的任一个)(在这里,max不断在变。每一个算法思想需要学生去体会!想法的精巧!)直接的就是将一个问题先解决出来,在根据此设计算法。框图中的内容不拘泥,但是要尽量简练清楚。程序框图就是做一件事情的流程图,先做什么接着再做什么,等的一个程序。如举行婚礼的程序图。开始——结束都要有。循环结构结是个难点。怎样办?程序设计的重要性还在于它是重要的实践环节。计算机学科归根结底是一门实践性科学。它的一切理论都要到计算机上去验证。培养学生的计算机实践能力,重要的是培养程序设计能力。这种能力是在掌握所要求的连贯而广泛的计算学科的知识的基础之上的。程序设计是对计算机能力的综合检验。程序设计课程教学应能使学生有能力应用其知识求解问题,并实现之。但高中课程中的重点不在实践层面上,而在算法思想的理解。课程标准也强调说明,不要把算法初步教成程序设计。1.1算法与程序框图1.1.1算法概念初步感受算法亿库教育网百万教学资源免费下载例1设计解方程2x+6=0的算法分析:就是给出解这个方程的步骤解:算法1S1移项,将含未知数的项移到方程的左边,常数项移到右边,得2x=-6;S2未知数的项的系数化为1,得x=-3.算法2S1给出方程ax+b=0的解法公式x=-b/a;S2将a=2,b=6代入上式,得x=-3.比较说明:算法1是特殊算法,算法2是通用算法。这也是所谓的一个公式就是一个算法。例2设计解方程ax2+bx+c=0(a≠0)的算法。分析:将通常的解二次方程的思维方法步骤写出来就是了。解:S1计算△=b2-4ac;S2若△0,则输出“方程无实根”;S3若△0,则输出方程的根x1,2=242bbaca.例3设计一个求半径为一给定正实数的圆的面积的算法。分析:根据圆面积公式s=πr2设计算法,取π=3.1416解:S1将给定正实数r代入圆面积公式s=3.1416×r2;S2所得s的值就是所求圆的面积。说明:有了公式,算法设计很简单,就是代入公式。例4任意给定一个大于1的正整数n,设计一个算法求出n的所有因数。分析:根据因数的定义,是能整除n的正整数,1和自身是其因数,可以先不考虑;其它的小于这个数,运用整除,一个一个的进行检验。解:S1依次用2~n-1做除数去除n,看余数是否为0。若是,则是n的因数;若不为0,则不是n的因数。亿库教育网百万教学资源免费下载S2把1,n算在内;S3将求出的所有的因数写出。例5课本上的例1上述两个算法都涉及到了“遍历”算法思想。说明:在这节的内容中,可以使用输出、输入术语,尤其在写通用算法的时候,这样可能更容易向程序框图和算法语言过渡。如例1:1输入n;2判断n是否等于2。若等于2,则输出“n是质数”;若不等于2(其实就是大于2),则执行下一步。3依次检验从2~(n-1)中的数是否有是n的因数,即是否有整除n的。若有这样的数,则输出结果“n不是质数”;若没有这样的数,则输出“n是质数”。解释:在这里,至于如何操作是否是因数,不用考虑,那是算法实现的问题。例6某快递公司规定甲、乙两地之间物品的托运费用根据下面的方法计算:f=0.53ω,当ω≦50,50×0.53+(ω-50)×0.85,当ω50;其中f(单位:元)为托运费,为托运物品的重量(单位:千克),试画出计算费用f的程序框图。自然语言是:第一步:输入物品重量ω;第二步:如果ω≦50,那么f=0.53ω,否则f=50×0.53+(ω-50)×0.85;第三步:输出物品重量ω和托运费f.亿库教育网百万教学资源免费下载例7课本例2:设计用二分法求2的近似值的算法。例8设计求过点(a,b),(c,d)的直线斜率的算法。分析:根据斜率的定义和求法,设计如下。算法1S1判断a,c是否相等。若相等
本文标题:高一数学教学资料
链接地址:https://www.777doc.com/doc-2001498 .html