1、 课程目标 1双基目标(1)体会算法思想和特征,了解算法含义能说明解决简单问题的算法步骤通过实例学习有条理地清晰地表达解决问题的步骤发展对解决具体问题的过程与步骤进行分析和有条理地表达能力提高逻辑思维能力(2)理解程序框图的顺序结构、条件分支结构和循环结构这三种基本逻辑结构,能识别和理解简单框图的功能能运用三种基本逻辑结构设计程序框图解决简单问题(3)理解几种基本的算法语句赋值语句、输入和输出语句、条件语句、循环语句,能初步应用这些算法语句编写程序并通过模仿、操作实践、探索分析,于解决具体问题的算法设计、框图、程序的编写过程中发展应用算法的能力和思维能力(4)了解几个算法案例(5)经历解决具体
2、问题的算法设计过程,体会自然语言、框图和算法语句三者之间的对应,熟练地进行程序框图与算法语句的转换 2学习目标(1)通过具体实例,在解决问题过程中学习一些基本的逻辑结构和语句,感受和体会算法思想的意义,认识算法思想的重要性(2)感受并认识现代信息技术在解决数学问题中的重要作用和威力经历设计程序框图表达解决问题的算法的过程和将具体问题的程序框图转化为程序语句的过程,体会算法在科学技术和社会发展中的重要作用,形成自觉将所学数学理论知识和现代信息技术结合的思想,并在解决问题过程中,养成扎实严谨的科学态度(3)了解以算法为基础的中国古代数学的辉煌成就,增强民族自豪感,树立为国争光思想 学法探究 1结合
3、实例,体会算法思想 算法对高中学生来说并不陌生,在义务教育阶段学习一元二次方程的解法,求三角形面积公式,在高中数学1中介绍了求方程近似根的二分法,数学2中利用公式计算的几何问题进行分步求解等等都是算法在本章中,要在初步感受算法思想的基础上,结合对具体数学实例的分析,体验程序框图在解决问题中的作用;通过模仿、操作、探索,经历设计程序框图表达解决问题的过程;经历将具体问题的程序框图转化为程序语句的过程 体会算法的基本思想以及算法的重要性和有效性,发展有条理地思考表达能力,提高逻辑思维能力 2注重实践,培养算法思想 算法是实践性很强的内容,只有通过自身的实践解决几个算法设计问题,才能体会到算法思想,
4、学会一些基本逻辑结构和语句因此尽可能地通过实例体会和理解算法的含义,通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程,了解算法语言的基本构成,理解几种基本算法语句但并非必须使用信息技术才能学习算法,在数学中的算法更注重设计算法的过程,体验算法的思想,培养有条理地思考表达能力,提高逻辑思维能力 因此不要将这部分看成单纯地程序设计和上机操作当然如果能上机,算法设计的整个过程就可以得到完整地体现就可以及时地看到自己设计的算法的可行性、有效性,这不但可以很好地激发兴趣,而且还能提高学习效率 教法点津 1本章教学的重点应放在体会、理解算法思想、理 解 三 种 基 本 逻 辑 结 构,提 高
5、逻 辑 思 维 能力会用框图表示具体问题的算法要通过实例引入算法概念,通过实例探讨如何用程序框图表示算法 2要清楚本章的目的不是要学生学习程序设计语言,更不要在算法的优化设计上下功夫对于算法语句的学习,只要求理解可把自然语言、框图语言转化为计算机能够识别的形式语言(计算机语言)3有条件的可上机尝试 11 算法与程序框图 11.1 算法的概念 1算法是指按照一定的规则解决某一类问题的和的步骤 算法也可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题 计算机解决任何问题都要依赖于,只 有 将 解决问题的过程
6、分解为若干个明确的、有限的步骤(即算法),并且用计算机能够接受的“”准确地描述出来,计算机才能够解决问题明确有限算法语言 2描述算法可以有不同的方式例如,可以用自然语言和数学语言加以叙述,也可以借助形式语言(即算法语言)给出精确的说明,也可以用框图直观地显示算法的全貌 3算法的设计不同于求解一个具体问题的方法,它有如下的要求:(1)写出的算法,必须能解决一类问题(例如解任意二元一次方程组),并且能重复使用(2)算法过程要能一步一步执行,每一步执行的操作必须确切,不能含糊不清,而且经过有限步后能得出结果 重点:算法概念与特征 难点:(1)体会算法思想,理解算法含义(2)非数值型问题算法的描述方法
7、 1算法的概念与意义(1)算法是数学及其应用的重要组成部分,是计算科学的重要基础随着现代信息技术的飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种基本数学素养 本节主要通过对解决具体问题过程及步骤的分析(如求解二元一次方程组等问题)体会算法的思想,了解算法的含义(2)算法与一般意义上具体问题的解决方法既有联系,又有区别,它们之间是一般与特殊的关系,也是抽象与具体的关系算法的获得要借助一般意义上具体问题的求解方法,而任何一个具体问题都可以利用这类问题的一般算法来解决 2算法的特点(1)算法是做一件事情的方法与步骤,而做一件
8、事情的方法与步骤往往有多种,因此算法具有不惟一性我们设计算法应本着简捷方便的原则但一开始学习应着重放在对算法概念的理解上,不要把主要注意力放在算法最优化设计上(2)写出的算法必须能解决某一类问题,并且能够重复使用即算法具有概括性 在解决具体问题过程中可针对具体问题设计出算法,然后考虑怎样修改或推广可使算法能够解决一类问题,使设计出的算法能够重复使用,具有通用性(3)很多具体问题,都可以按事先设计好的有限步骤加以解决如数值计算问题,可以用心算、算盘、手算或计算器等不同方法去计算,但都要经过有限的、事先确定好的步骤加以解决,又如一个教学计划、一个工作计划、一个生产流程等过程性问题也都可以按事先确定
9、好的有限步骤去解决这些过程或步骤都可以设计为合理的算法因此算法具有普遍性(4)算法从初始步骤开始,分为若干个明确的步骤,每一个步骤都必须是确切定义的,每一步操作的内容和顺序必须确切,不可含糊不清,前一步是后一步的前提只有执行完前一步,才能进行下一步,具有确定性和顺序性,每一步的操作都应当是基本的可执行的,具有可行性前后步骤之间具有严密的逻辑性,经过有限的步骤之后,必须有惟一结果输出,不能无休止的执行下去,尤其是循环结构中,一定要考虑好何时停止循环,转入下一步操作,因而具有有穷性和可输出性 3算法的描述(1)对于数值型计算问题,例如解方程、解方程组,解不等式、解不等式组、套用公式计算性的问题、累
10、加、累乘等这一类算法的描述,要建立数学模型,通过数学模型借助一般数学计算方法,分解成清晰的步骤,使之条理化就可以了(如解二元一次方程组的算法,可借助高斯消去法分步描述)(2)非数值型问题算法的描述 非数值计算问题(如查找最大值、最小值,变量的交换,文字处理以及一些生活实际问题等)需建立过程模型只要把解决问题的过程描述清楚即可 4本节是本章的入门课,学习本节先从具体的解决二元一次方程的求解过程出发,归纳其求解步骤,进而考虑如何将以上步骤加以推广利用推广后的步骤来解决所有二元一次方程组的求解问题,在此基础上结合具体的算法实例,体会算法的概念,归纳算法特征,感受算法思想 一、填空题 1给定直线l1:
11、A1xB1yC10,l2:A2xB2yC20,下面是判定两直线位置关系的一个算法 S1 输入A1、B1、C1和A2、B2、C2的值 S2 计算D1_,D2B1C2B2C1 S3 若D10,则转入执行S6.S4 若D10,D20,则输出l1与l2平行结束算法 S5 若D10,D20,则输出l1与l2重合结束算法 S6 计算D3A1A2B1B2.S7 若D30,则输出l1与l2垂直,否则(D30),输出l1与l2相交但不垂直,结束算法 则处应填_ 答案 A1B2A2B1 2下面是给出求解方程组的 一 个算法 S1 输入a1、b1、c1、a2、b2、c2的值1、2、1、2、1、1.S2 计算Da1b
12、2a2b1.S3 若D0,则输出方程组无解或无法求解,否则 x_,y_.S4 输出x、y.则处应填_,处应填_ 二、解答题 3写出一个解一元一次方程axb0(a0)的算法 解析 S1 输入a,b的值 S3 输出x.4若一个三位数的各位数字倒过来,它的值不变,则这个数称作回文数,如383为回文数 写出从键盘上任意输入一个三位数a,判断a是否为回文数的算法 解析 S1 输入一个三位数a.S2 把a的百位数给x.S3 把a的个位数给y.S4 判断xy是否成立,如果成立,则是回文数,如果不成立,则不是回文数 5给出下列问题的一个算法(1)求sum147101316.(2)求mul24681012.解析(1)S1 设sum0,i1.S2 如果i16,则执行S3,否则(i16)则执行S6.S3 计算sumi,并用其值代替sum的值 S4 用i3的值替代i的值 S5 转入执行S2.S6 输出sum结束(2)S1 设mul1,i2.S2 如果i12则转去执行S6.S3 如果i12,则计算mul乘以i并用其积替换mul的值 S4 计算i2并用其和替换i的值 S5 转去执行S3.S6 输出mul.