一、教材分析1、本章的作用和地位本章是算法与程序设计模块的重点。学生在必修模块中对程序设计的概念有了初步的了解,然后在本模块前面的章节加深了对程序设计语言VB的认识,对设计程序解决问题作了一些实践,积聚了初步的编程经验,本章把这些原始的编程经验上升到“算法”的高度,把以模仿为主的编程实践过渡到以创造为主的程序设计过程。算法在程序设计中占有重要的地位,算法是程序设计的核心,被比作程序设计的灵魂。算法强调按照逻辑顺序进行程序设计的过程和步骤,因此,算法的学习和掌握,有利于培养学生的逻辑思维能力。程序设计在计算机应用中处于比较高端的位置,要纯熟掌握自由主义的技巧去解决问题,需要一个不断学习、总结的过程。因此,学习程序设计,除了本身的价值外,对于陪养终生学习的习惯和建立正确的学习方法将起到很好的作用,为学生形成良好的学习惯奠定基础。2、本章主要内容介绍掌握编程技术是信息社会的建设者的基本素质。本章通过解决具体的问题方式,介绍了一些常见的算法。但本章所介绍的算法仅仅是算法的一部分,实际上,算法的种类远不止这几种。而且,问题的解决并不都是依靠单独的一种算法就能完成的,多数情况是,需要配合使用几种算法才能达到整个目的。也就是说,算法存在多样性、复杂性等特征,这些特征有利于学生形成对算法的正确认识,从而提高利用算法来解决问题的能力,所以,在实际教学中需要对这些内容给予关注。本章设置了6节内容。“4.1用解析法设计程序”。本节介绍了主要靠列出解析式来解决问题的方法。这种得法对工程技术界是常见的。解析式的导出可能需要专门的知识,本节只探讨了一些在程序设计中常见的问题解析解法。更深入的探究可能需要“计算方法”的专门学问。“4.2用穷举法设计程序”。本节介绍的算法是比较容易理解,算法也相对直观。人们解决问题时,通常都会考虑用穷举法,但没有计算机帮助时,穷举法所需要的计算量往往令人望而生畏,但应用穷举法设计程序解决问题,则显得游刃有余。应用计算机作穷举法,关键是穷举过程的设计。“4.3查找得法设计”。本节介绍了顺序文件查找的思路,还介绍了一种非常有用的数据结构――数组。从这一节开始,我们有意识地留下一些在进行程序设计实践时常常会遇到的问题让同学们自己解决,有时例子中给出的程序亦非尽善尽美,我们希望在教师的引导下,同学们能够通过讨论和探索找到解决问题的途径。这种发现和排除错错误的能力,是进行程序设计所必不可少的。“4.4排序算法设计”。本节介绍了选择排序和拖入排序两种常见的排序算法。这两种排序算法是庞大的排序算法家族比较粗浅的,效率不高,但比较容易理解,因此在数据量不太多的场合,应用还是很广泛的。“4.5递归算法与递归程序”。本节介绍的是一种直接或间接地调用自身程序段的算法,这是本章介绍的算法中比较抽象的。递归算法一般并不直接给出问题的解答,而是只在最初的简单情况下给出了解答,然后通过自身的调用,把所有的情况都归结到最初的情形。必须注意的是,递归程序中对自身的调用一定是有条件的,否则递归过程不可能正常结束。专心爱心用心1“4.6问题求解综合活动”。算法不是孤立的,更不是静止的,要设计程序解决实际问题,往往需要整合多种算法并且加以创新。本节进行了一个综合实践活动,以期让同学们在学习了一定的算法基础知识之后,了解这个整合和创新的过程,加深对算法的认识。这里选择了一个很有实用价值也有一定难度的问题――两个很大整数的如何相乘。本节给出了解答的过程,但本节最后得出的程序却并非尽善尽美的,因为我们想留有一些空间让同学们发挥,以增加他们发现错误和排队错误的能力。本章是在同学们对算法语言和程序设计有了基本的认识之后进行的,在问题提出→问题分析→寻找算法→设计各种程序→调试(测试)程序的问题求解过程中突出了算法的主线。在算法的主线之下,本章对VB语言在语法方面的知识也作了必要的补充。这些语法知识主要是顺序文件和数组。然而,这些是程序设计中十分有用的内容,在教学过程中必须充分注意。3、重点难点分析教学重点:(1)理解算法的思想。了解寻找恰当的算法...