《算法初步》专题讲座
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《算法初步》专题讲座
算法作为一个全新的课题,已经成为计算科学的重要基础,它在科学技术和社会发展中起着越来越重要的作用,算法的思想已经成为现代人所具备的一种数学素养,每一个高中学生,都应该在九年义务教育的基础上,为适应时代发展的需要,进一步提高自身的数学素养•高中数学课程改革将算法初步列为高中必修课程内容的一部分,既体现了现代社会使公民具有较高数学素养的要求,也是基础数学教育改革面向世界、面向未来、面向现代化的体现,是历史的必然.
1 •算法的背景及含义
广义的讲,算法就是做某一件事的步骤和程序。如:菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌的算法。算法并不是一个全新的概念,在社会上得到广泛使用的珠算口诀就可以看作是典型的算法,它把复杂的计算(例如除法)描述为一系列按口诀执行的简单的算珠拨动操作,口诀就是算法. 从古到今,算法都在扮演着重要的作用。算法有着悠久的历史和文化背景。
♦中国古代的数学叫做算术。术,即方法,因此算术也就可认为是算法的别称了。
在上个世纪,小学的数学仍然叫算术,初中以后才叫数学。算术的叫法,一直沿用到上个世纪末。我国从11世纪到14世纪,出现了一批著名的数学家和许多经典数学著作,如贾宪的《黄帝九章算法细草》,杨辉的《详解九章算法》,《杨辉算法》等。其中一些方法在现代仍然是极为优秀的算法。如:割圆术则是求n 值的优秀算法,我国传统的开方术求高次方程的近似根是算法上的一大成就.
♦在国外,公元前2100年左右,美索不达米亚人已有了乘法表,其中有六十进制的算法。公元前2000年左右,古埃及已有将乘法简化为加法的算法。人类最早关于算法的记录是在两河流域发现的公元前两三千年的黏土板,其中的一个典型例子就是计算利息何时能够等于本金.算法早期发展中的一个成果应归功于古希腊的欧几里德,他提出的计算最大公约数的辗转相除法(又称欧几里德算法)是算法上的一大成就.最近几个世纪,求定积分近似值的梯形法、求方程近似解的牛顿切线法等,都是非常典型的优秀算法。
我们今天探讨数学中现代意义上的算法可以理解为:由基本运算及规定的运算顺序构成的完整的解题步骤,或看成按要求设计好的、有限的、确切的计算序列,并且这样的步骤或序列能解决一类问题。更具体的通常是指:可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.比如,我们非常熟悉的带余除法、解线性方程组的消元法等,都是算法.
2.算法思想方法
算法思想就是指:按照一定的步骤,一步一步去解决某个问题的程序化思想。算法一方面具有通用化、程序化、机械化的特点,同时又有高度抽象性、概括性和精确性。对于一个具体算法而言,从算法分析到算法语言的实现,任何一个疏漏或错误都将导致算法的失败。算法思想是思维的条理化、逻辑化。算法步骤具有明确有效有限的要求。在中学学习算法的主要目的,在于让学生了解算法所具有的一些
特殊的思想方法和技巧。这些思想方法和技巧主要体现在以下几个方面。
♦Step by Step 的思想方法
算法的实质是将人的思维过程处理成计算机能够一步一步执行的步骤,进而转化为一步一步执行的程序。这种处理问题的方式,学生以往有一些经验,如教师对某些题型总结的较为固定的解题步骤。不过这种经验并没有得到应有的升华。学习了算法后,学生才能把这些知识提升到新的高度来认识。顺序结构反映的是 step by step 的思想,即把解决问题的方法步骤化,一步一步地执行 . 顺序结构是任何一个算法都离不开的最简单、最基本的结构。
♦逻辑选择的思想方法
教材中介绍了条件结构和IF…ELSE…THEh语句,这对学生来说是较新的思想。这之前学过的分段函数与这种思想较为接近,但这种思想并不是只能用来处理分段函数。正是有了这种方法,才使得计算机有了思维能力,或称之为逻辑判断能力。学习这种思想对于学生了解计算机人工智能有很好的作用。条件结构反映的是先判断、后执行的思想,计算机区别于其他机械的能力就来自于算法做判断和按判断的结果行动的能力。条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构。
♦循环的思想方法
人们最怕机械重复,因为重复枯燥乏味。而计算机则擅长重复。这种重复体现到程序中就是循环。不难想象,如果没有循环,计算机还能干什么!在教材中出现了几个典型的循环问题,如二分法、数列求和、判定质数、辗转相除法、秦九韶算法等。这种思想方法在其他内容中很少使用,即使用到也因为手工计算过于繁琐而不愿用或不能用。循环结构蕴涵的是递推迭代的思想。
♦递推的思想方法
所谓递推,就是已知第一个数,其后的每一个数都可利用递推公式由前数推出,并且能够重复进行,因此这种算法可用循环结构来处理解决。例如:裴波那契数列表示这样一系列数:0, 1, 1, 2, 3, 5, 13, 21,…,后一项等于前两项的和,请设计一个算法框图,输出这个数列的前 100项。
♦累加、累乘的思想方法
累加、累乘算法的思想在我们生活中无处不在, 比如我们小时候所用的存钱罐的例子,当我们每次把剩余的零钱存到存钱罐中,最后把存钱罐打开作一个统计。这就是一个累加的过程。
♦迭代的思想方法所谓迭代就是一个不断用新值取代变量的旧值或由旧值递推出变量的新值的过程。而在算法循环结构的教学中,应用循环结构和迭代思想,就可以解决数例求和、数列求积等问题。
另外,在教学中,同一算法稍加改造可以用来解决不同的问题,对算法的优化或
改造,是帮助学生理解算法的通用性、有效性的良好素材。对算法的优化或改造
在算法的程序框图中进行,也有利于学生看清算法的结构和更好地把握算理。例
如让学生改造求S=1+2+3+••…+100的值①若推广为求S=1+2+••…+m则只需在循环结构前给定变量m赋初始值,并将循环的终止条件改为 n>m即可;②若求
S=3+5+••…+(2m+1,则起始值变成了 3,终端数字变成了 2m+1循环体也变为 S=S+ (2i+1);③若求2+2+2 + ..... +2°°,贝U只需将循环体变为S=S+2,这样的训
练,容易触类旁通,大大激发学生学习的积极性,对学生创新意识的培养和创新
能力的提高也具有很强的现实意义。
教材中还涉及了一些其他的思想方法及技巧,这里就不一一列举了3.《算法初步》教学内容的课程定位
2003年我国颁布了《高中数学课程标准》,其中对算法作为具体的教学内容进入中学数学的教科书中提出了具体的要求和建议:
♦为了适应信息时代发展的需要,高中数学课程应增加算法的内容,把最基本的数据处理、统计知识等作为新的数学基础知识和基本技能。算法具有悠久的历史背景,在现代生活中有着广泛的应用,是重要的数学研究对象,是中国数学课程内容的新特色。
♦算法是一个全新的课题算,是数学及其应用的重要组成部分,是计算科学的重要基础。随着现代信息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。需要特别指出的是,中国古代数学中蕴涵了丰富的算法思想。在本模块中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力。
♦12 算法初步已经作为必修系列内容算,除作为本模块的内容之外,其思想方
法应渗透在高中数学课程其他有关内容中,鼓励学生尽可能地运用算法解决相
关问题。教师在教学中应注意它与有关内容的整合。信息技术与数学课程内容的整合还有较大的开发空间,教师可在这方面进行积极的、有意义的探索。算法思想将贯穿高中数学课程的相关部分。算法思想是贯穿高中课程的一条主线
♦对算法内容,应着重强调使学生体会算法思想、提高逻辑思维能力,不应将算法简单处理成程序语言的学习和程序设计,同时应通过具体实例的上机实现(或编程)帮助学生理解算法思想及其作用。在课程设计中算法分为两部分,一部分是介绍算法的基本思想和基本知识。另一部分是把算法思想渗透到高中课程的其他内容中。
♦算法的基本思想和基本知识的学习遵循以下原则:通过学生熟悉的实例和数学中的实例进行教学,即案例教学;引导学生动手实践,在做中学习、体会、理解算