数学:1.1.1 《算法的概念》 教案 (新人教版必修3)
- 格式:doc
- 大小:610.50 KB
- 文档页数:6
1.1.算法的概念-人教B版必修三教案一、知识目标•理解算法的基本概念;•掌握算法设计的基本方法和步骤。
二、教学重点•算法的概念和分类;•算法设计的基本方法和步骤。
三、教学难点•算法设计的实例分析和应用。
四、教学内容1.算法的概念(1)什么是算法?算法(Algorithm)是指用来解决特定问题的一系列清晰而又有限的指令集合,它对于计算机的操作是必不可少的。
(2)算法的特性•输入:一个算法必须有零个或多个输入,这些输入取自某个特定的对象集合。
•输出:一个算法必须有一个或多个输出,这些输出是从输出集合中选出的,输出集合与输入集合不一定相同。
•明确性:算法中的每一个步骤都必须清晰而明确地定义,任何人根据算法的描述都能准确地进行计算。
•有限性:算法必须保证在执行有限的步骤之后终止。
•有效性:算法必须有效,也就是说,它能够完成指定的任务。
(3)算法的分类根据算法设计的目的和方法可以将其分类为以下几种:•穷举法:该方法是将问题转化为若干个子问题,然后枚举所有可能的解。
•贪心法:该方法是在每一步求解的过程中选择当前状态下的最优解。
•分治法:该方法是将问题划分为若干个规模较小的子问题,然后逐一解决,并将结果合并得到原问题的解。
•动态规划法:该方法是将原问题划分为若干个相互依赖的子问题,然后先求解子问题的解,再根据子问题的解得到原问题的解。
2.算法设计的方法和步骤(1)算法设计的方法•从具体问题出发:根据具体问题选择合适的算法设计方法。
•细化抽象问题:将原问题抽象为若干个子问题,并对每个子问题设计算法。
•设置结构框架:根据算法设计方法的特点,设置算法的结构框架。
•验证和改进:对于已有的算法解决特定问题,通过验证和改进提高其效率和精度。
(2)算法设计的步骤•确定问题:对要解决的问题做一个明确而详细的描述。
•确定算法的输入和输出:确定问题的输入和输出,以及它们的数据类型。
•设计算法的流程:设计算法的流程,具体而明确地描述算法执行的每一步。
课题:算法的概念教学目标 1、知识目标:了解算法。
分析算法。
2、能力目标:体验程序的独特魅力,了解编程加工的内在机制,培养学生的创新能力。
3、情感目标:通过编程实现信息的加工,激发学生的兴趣,增加学生的成就感。
重点:如何分析算法,算法的概念 ,算法的表示难点: 如何写算法。
理解用算法描述实际问题,理解人的思维在计算机工作中发挥的作用。
教学方法:讲授法,演示法,归纳法教学反思:教 学 过 程一、 导入在学习程序设计时,既要掌握所使用的某种计算机计算机语言如PASCAL 语言,更好掌握解题的方法和步骤,这是程序设计中的关键。
语言只是一个工具,只懂得语言的规则并不能编制出有效的高质量的程序,下面所讲座的算法,就是研究解题的步骤和方法,这是编程的基础,同时也是我们解数理化题的基础。
著名计算机科学家沃思提出一个公式:数据结构 + 算法 = 程序二新授什么是算法:广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。
或者说:算法是解题方法的精确描述。
解决一个问题的过程,就是实现一个算法的过程。
1.做任何事情都有一定的步骤。
例如要计算的值,无论手算,心算,或用算盘,计算器计算,都要经过有限的事先设计好的步骤。
2、对同一个问题,往往有不同的解题方法和步骤如 • 方法1:顺序计算1-1/2+1/3-1/4+1/5……+1/99-1/100,一直加到100 加99次 • 方法2:先计算+,再计算减,即1+1/3+1/5……+1/99,1/2+1/4+1/6……+1/100当然各种方法有优劣之分。
3、不仅数值计算的问题要研究算法,实际上,做任何事情。
都需要事先设想好的步骤和方法,这就是算法。
计算机算法可分为两大类别: • 数值运算 • 非数值运算数值运算举例:求数值解,例如求方程的根、求函数的定积分等。
非数值运算举例:人名排序,图书资料检索等.三、简单算法举例为了理解如何设计算法,下面举几个算法的简单例子。
1.1.1算法的概念教学目标:体会算法的思想,了解算法的含义教学重点:体会算法的思想,了解算法的含义教学过程:一、算法的教育价值1.有利于培养学生的思维能力2.有利于培养学生理性精神和实践能力3.有利于学生理结构造性数学4.算法内容反映了时代的特点,同时也是中国课程内容的新特色二、算法的概念算法是解决某个特定问题的一种方法或一个有限过程。
计算机对数据的操作可以分为数值性和非数值性两种类型。
在数值性操作中主要进行的是算术运算;而在非数值性操作中主要进行的是检索、排序、插入、删除等等。
设计算法的基本过程通过对问题进行详细地分析,抽象出相应的数学模型;确定使用的数据结构,并在此基础上设计对此数据结构实施各种操作的算法;选用某种语言将算法转换成程序;调试并运行这些程序。
算法应该具有下列五个特性(1)有穷性:一个算法必须在执行有穷步之后结束。
(2)确定性:算法中的每一步,必须有确切的含义,在他人理解时不会产生二义性。
(3)动态性:算法中描述的每一步操作都可以通过已有的基本操作执行有限次实现。
(4)输入:一个算法应该有零个或多个输入。
(5)输出:一个算法应该有一个或多个输出。
这里所说的输出是指与输入有某种特定关系的量。
举例问题:按从小到大的顺序重新排列x,y,z三个数值的内容。
算法:(1)输入x,y,z三个数值;(2)从三个数值中挑选出最小者并换到x中;(3)从y,z中挑选出较小者并换到y中;(4)输出排序后的结果。
三、描述算法的几种方式选择算法描述语言的准则(1)该语言应该具有描述数据结构和算法的基本功能;(2)该语言应该尽可能地简捷,以便于掌握、理解;(3)使用该语言描述的算法应该能够比较容易地转换成任何一种程序设计语言。
1.自然语言(1)二义性(2)繁杂(3)表达不清楚2.流程图(1)直观清楚可读(2)表达清晰度利于程序语言3.程序语言四、本节的例子应主要使用自然语言叙述算法五、算法举例一些有趣的问题为我们进一步理解算法提供了很好的例子.例子:两列火车相对而行如图之有一段旁轨可以利用怎样才能平安错车?为了方便起见我们把左边的列车叫做“动力号”,右侧的火车叫做“前进号”在解这个算法是索要涉及的铁轨有四段:左边至旁轨间的那段正规(标为A)。
§1.1.1 算法的概念(两个课时)教学目标: (1)了解算法的含义,体会算法的思想。
(2)能够用自然语言叙述算法。
(3)掌握正确的算法应满足的要求。
(4)会写出解线性方程(组)的算法。
(5)会写出一个求有限整数序列中的最大值的算法。
教学重点: 算法的含义、解二元一次方程组和判断一个数为质数的算法设计。
.教学难点: 把自然语言转化为算法语言。
.学法:1、写出的算法,必须能解决一类问题(如:判断一个整数n(n>1)是否为质数;求任意一个方程的近似解;……),并且能够重复使用。
2、要使算法尽量简单、步骤尽量少。
3、要保证算法正确,且计算机能够执行,如:让计算机计算1×2×3×4×5是可以做到的,但让计算机去执行“倒一杯水”“替我理发”等则是做不到的。
教学过程 一、章头图体现了中国古代数学与现代计算机科学的联系,它们的基础都是“算法”。
算法作为一个名词,在中学教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念。
但是我们却从小学就开始接触算法,熟悉许多问题的算法。
如,做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现。
广义地说,算法就是做某一件事的步骤或程序。
菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法。
在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。
(古代的计算工具:算筹与算盘. 20世纪最伟大的发明:计算机,计算机是强大的实现各种算法的工具。
)例1:解二元一次方程组: ⎩⎨⎧=+-=-②y x ①y x 1212 分析:解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,下面用加减消元法写出它的求解过程. 解:第一步:② - ①×2,得: 5y=3; ③第二步:解③得 53=y ; 第三步:将53=y 代入①,得 51=x . 学生探究:对于一般的二元一次方程组来说,上述步骤应该怎样进一步完善?老师评析:本题的算法是由加减消元法求解的,这个算法也适合一般的二元一次方程组的解法。
1.1.1算法的概念一、教学目标:1、知识与技能:(1)了解算法的含义,体会算法的思想。
(2)能够用自然语言叙述算法。
(3)掌握正确的算法应满足的要求。
(4)会写出解线性方程(组)的算法。
(5)初步学会写出判断整数是否为质数的算法。
2、过程与方法:通过求解二元一次方程组,体会解方程的一般性步骤,从而得到一个解二元一次方程组的步骤,这些步骤就是算法,不同的问题有不同的算法。
由于思考问题的角度不同,同一个问题也可能有多个算法,能模仿求解二元一次方程组的步骤,写出一个求有限整数序列中的最大值的算法。
3、情感态度与价值观:通过本节的学习,使我们对计算机的算法语言有一个基本的了解,明确算法的要求,认识到计算机是人类征服自然的一各有力工具,进一步提高探索、认识世界的能力。
二、重点与难点:重点:算法的含义、解二元一次方程组和判断一个数为质数的算法设计。
难点:把自然语言转化为算法语言。
三、教学用具:教学用具:电脑,多媒体四、教学设想:1、回顾解一元一次方程的一般步骤。
引例: 你能写出解一元一次方程的步骤吗?2、回顾用加减法解一个实例的二元一次方程组。
引例: 你能写出用加减法求解二元一次方程组x-2y=-7 (1), 2x+y=1 (2)的步骤吗?3、由第2步归纳解一般的二元一次方程组的常规操作步骤——算法。
思考: 你能写出用加减法求解一般二元一次方程组的步骤吗?提出算法概念。
严格地说,算法还没有一个非常明确的公认的定义。
广义地说,算法就是做某一件事的步骤或程序。
菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法。
课本上定义如下:算法是指按照一定规则解决一类问题的明确和有限的步骤。
现在,算法可以编成计算机程序,让计算机执行并解决问题。
从上面的例子和定义可以看出:算法有五个重要特征:(1)有限性:一个算法的步骤序列应当是有限的,在有限步操作后必须停止,而不能是无限的进行下去;(2)确定性:算法中的每一步应该是确定的,并且能有效地执行且得到确定的结果,不应当模棱两可;(3)有序性:操作步骤必须是有顺序的。
人教版数学高中必修3《算法的概念》教学设计【学习目标】1.通过实例体会算法思想,了解算法的含义与主要特点;2.能按步骤用自然语言写出简洁问题的算法过程;3.培育学生规律思维力量与表达力量.【学习重点】将问题的解决过程用自然语言表示为算法过程.【学习难点】用自然语言描述算法.【授课类型】新授课【学习方法】探究式【学习过程】一、复习引入:算法不仅是数学及其应用的重要组成局部,也是计算机理论和技术的核心.在现代社会里,计算机已经成为人们日常生活和工作不行缺少的工具.听音乐、看电影、玩嬉戏、打字、画卡通画、处理数据,计算机几乎渗透到了人们生活的全部领域.那么,计算机是怎样工作的呢?要想弄清晰这个问题,算法的学习是一个开头.同时,算法有利于进展有条理的思索与表达的力量,提高规律思维力量.在以前的学习中,虽然没有消失算法这个名词,但实际上在数学教学中已经渗透了大量的算法思想,如四则运算的过程、求解方程的步骤等等,完成这些工作都需要一系列程序化的步骤,这就是算法的思想.二、新课学习:一般的二元一次方程组其中的求解步骤见课本第3页。
算法概念算法:在数学中,算法通常是指根据肯定规章解决某一个或一类问题的明确和有限的步骤。
算法的重要特征:(1)有限性:一个算法在执行有限步后必需完毕;(2)准确性:算法的每一个步骤和次序必需是确定的;(3)输入:一个算法有0个或多个输入,以刻划运算对象的初始条件.所谓0个输入是指算法本身定出了初始条件.(4)输出:一个算法有1个或多个输出,以反映对输入数据加工后的结果.没有输出的算法是毫无意义的.三、特例示范例1.(1)设计一个算法,推断7是否为质数。
(2)设计一个算法,推断35是否为质数。
例2.写出用“二分法”求方程的近似解的算法。
四、当堂练习:课本第5页练习1、2五、本节小结:算法的概念;用自然语言写出算法过程;六、学习评价:1.高一数学(必修3)学生同步学案《1.1.1算法的概念》完成状况评价。
1.1.1 算法的概念一、序言算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础. 在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具. 听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机几乎渗透到了人们生活的所有领域. 那么,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始. 同时,算法有利于发展有条理的思考与表达的能力,提高逻辑思维能力.在以前的学习中,虽然没有出现算法这个名词,但实际上在数学教学中已经渗透了大量的算法思想,如四则运算的过程、求解方程的步骤等等,完成这些工作都需要一系列程序化的步骤,这就是算法的思想.二、实例分析例1:写出你在家里烧开水过程的一个算法.解:第一步:把水注入电锅;第二步:打开电源把水烧开;第三步:把烧开的水注入热水瓶.(以上算法是解决某一问题的程序或步骤)例2:给出求1+2+3+4+5的一个算法.解: 算法1 按照逐一相加的程序进行第一步:计算1+2,得到3;第二步:将第一步中的运算结果3与3相加,得到6;第三步:将第二步中的运算结果6与4相加,得到10;第四步:将第三步中的运算结果10与5相加,得到15.算法2 可以运用公式1+2+3+…+=直接计算 第一步:取=5;第二步:计算; 第三步:输出运算结果.(说明算法不唯一)例3:(课本第2页,解二元一次方程组的步骤)(可推广到解一般的二元一次方程组,说明算法的普遍性)例4:用“待定系数法”求圆的方程的大致步骤是:第一步:根据题意,选择标准方程或一般方程;第二步:根据条件列出关于,,或,,的方程组;第三步:解出,,或,,,代入标准方程或一般方程.三、算法的概念通过对以上几个问题的分析,我们对算法有了一个初步的了解.在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些 n 2)1(+n n n 2)1(+n n a b r D E F a b r D E F在数学中,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程例6:(课本第4页例2)练习2:设计一个计算1+2+…+100的值的算法.解:算法1 按照逐一相加的程序进行第一步:计算1+2,得到3;第二步:将第一步中的运算结果3与3相加,得到6;第三步:将第二步中的运算结果6与4相加,得到10;……第九十九步:将第九十八步中的运算结果4950与100相加,得到5050. 算法2 可以运用公式1+2+3+…+=直接计算 第一步:取=100;第二步:计算; 第三步:输出运算结果.练习3:(课本第5页练习1)任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.解:第一步:输入任意正实数;第二步:计算;第三步:输出圆的面积.五、课堂小结1. 算法的特性:①有穷性:一个算法的步骤序列是有限的,它应在有限步操作之后停止,而不能是无限的.②确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可.③可行性:算法中的每一步操作都必须是可执行的,也就是说算法中的每一步都能通过手工和机器在有限时间内完成.④输入:一个算法中有零个或多个输入..⑤输出:一个算法中有一个或多个输出.2. 描述算法的一般步骤:①输入数据.(若数据已知时,应用赋值;若数据为任意未知时,应用输入) ②数据处理. n 2)1(+n n n 2)1(+n n r 2r S π=S③输出结果.。
人教版高中必修3(B版)1.1.1算法的概念教学设计一、教学目标1.学习算法的定义和概念;2.了解算法的特性和分类;3.学习算法设计的基本思想和方法。
二、教学内容1. 算法的定义和概念•算法的定义•算法的三个要素•算法的特性2. 算法的分类•算法的时间复杂度•算法的空间复杂度•算法的递归与非递归•算法的分类方法3. 算法设计的基本思想和方法•算法设计的基本思想•算法设计的方法•算法的设计流程三、教学重点和难点教学重点:算法的定义和概念、算法设计的基本思想和方法。
教学难点:算法的时间复杂度和空间复杂度的计算。
四、教学方法本课程采用讲授、课堂演示和课堂练习相结合的教学方法,注重理论联系实际、启发式教学和拓展性学习。
五、教学过程1. 导入环节引导学生思考以下问题:•什么是算法?•为什么需要学习算法?2. 正文教学(1) 算法的定义和概念讲解算法的定义和概念,并介绍算法设计中的三个要素:输入、输出和正确性。
(2) 算法的分类通过示例和计算复杂度来讲解算法的时间复杂度和空间复杂度,并介绍算法的递归与非递归和常见的分类方法。
(3)算法设计的基本思想和方法讲解算法设计的基本思想和方法,并介绍算法的设计流程。
3. 课堂练习设计一道算法题目让学生进行练习,以检测学生对所学内容的掌握情况。
4. 总结反馈回顾本节课学习的主要内容,引导学生总结所学知识点,巩固学习成果,并提供适当的反馈和建议。
六、教学资源•讲义•PPT•算法编程练习网站七、教学评估通过课堂练习和自主练习的方式进行教学评估,检测学生对所学知识点的掌握情况,并提供有针对性的学科辅导和指导。
1.1.1算法的概念一、教学目标:1、知识与技能:(1)了解算法的含义,体会算法的思想。
(2)能够用自然语言叙述算法。
(3)掌握正确的算法应满足的要求。
(4)会写出解线性方程(组)的算法。
(5)会写出一个求有限整数序列中的最大值的算法。
(6)会应用Scilab求解方程组。
2、过程与方法:通过求解二元一次方程组,体会解方程的一般性步骤,从而得到一个解二元一次方程组的步骤,这些步骤就是算法,不同的问题有不同的算法。
由于思考问题的角度不同,同一个问题也可能有多个算法,能模仿求解二元一次方程组的步骤,写出一个求有限整数序列中的最大值的算法。
3、情感态度与价值观:通过本节的学习,使我们对计算机的算法语言有一个基本的了解,明确算法的要求,认识到计算机是人类征服自然的一各有力工具,进一步提高探索、认识世界的能力。
二、重点与难点:重点:算法的含义、解二元一次方程组和判断一个数为质数的算法设计。
难点:把自然语言转化为算法语言。
三、学法与教学用具:学法:1、写出的算法,必须能解决一类问题(如:判断一个整数n(n>1)是否为质数;求任意一个方程的近似解;……),并且能够重复使用。
2、要使算法尽量简单、步骤尽量少。
3、要保证算法正确,且计算机能够执行,如:让计算机计算1×2×3×4×5是可以做到的,但让计算机去执行“倒一杯水”“替我理发”等则是做不到的。
教学用具:电脑,计算器,图形计算器四、教学设想:1、创设情境:算法作为一个名词,在中学教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念。
但是我们却从小学就开始接触算法,熟悉许多问题的算法。
如,做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现。
我们知道解一元二次方程的算法,求解一元一次不等式、一元二次不等式的算法,解线性方程组的算法,求两个数的最大公因数的算法等。
因此,算法其实是重要的数学对象。
2、探索研究算法(algorithm)一词源于算术(algorism),即算术方法,是指一个由已知推求未知的运算过程。
后来,人们把它推广到一般,把进行某一工作的方法和步骤称为算法。
广义地说,算法就是做某一件事的步骤或程序。
菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法。
在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。
比如解方程的算法、函数求值的算法、作图的算法,等等。
3、例题分析:例1 任意给定一个大于1的整数n ,试设计一个程序或步骤对n 是否为质数1做出判定。
算法分析:根据质数的定义,很容易设计出下面的步骤:第一步:判断n 是否等于2,若n=2,则n 是质数;若n>2,则执行第二步。
第二步:依次从2至(n-1)检验是不是n 的因数,即整除n 的数,若有这样的数,则n 不是质数;若没有这样的数,则n 是质数。
这是判断一个大于1的整数n 是否为质数的最基本算法。
例2 用二分法设计一个求议程x 2–2=0的近似根的算法。
算法分析:回顾二分法解方程的过程,并假设所求近似根与准确解的差的绝对值不超过0.005,则不难设计出以下步骤:第一步:令f(x)=x 2–2。
因为f(1)<0,f(2)>0,所以设x 1=1,x 2=2。
第二步:令m=(x 1+x 2)/2,判断f(m)是否为0,若则,则m 为所长;若否,则继续判断f(x 1)·f(m)大于0还是小于0。
第三步:若f(x 1)·f(m)>0,则令x 1=m ;否则,令x 2=m 。
第四步:判断|x 1–x 2|<0.005是否成立?若是,则x 1、x 2之间的任意取值均为满足条件的近似根;若否,则返回第二步。
小结:算法具有以下特性:(1)有穷性;(2)确定性;(3)顺序性;(4)不惟一性;(5)普遍性 典例剖析: 1、基本概念题x-2y=-1,① 例3 写出解二元一次方程组 的算法 2x+y=1② 解:第一步,②-①×2得5y=3;③ 第二步,解③得y=3/5;第三步,将y=3/5代入①,得x=1/5学生做一做:对于一般的二元一次方程组来说,上述步骤应该怎样进一步完善? 老师评一评:本题的算法是由加减消元法求解的,这个算法也适合一般的二元一次方程组的解法。
下面写出求方程组)0(002121222111≠-⎩⎨⎧=++=++A B B A C y B x A C y B x A 的解的算法:第一步:②×A 1-①×A 2,得(A 1B 2-A 2B 1)y+A 1C 2-A 2C 1=0;③ 第二步:解③,得12212212B A B A C A C A y --=;第三步:将12212212B A B A C A C A y --=代入①,得12212112B A B A C B C B x -+-=。
此时我们得到了二元一次方程组的求解公式,利用此公司可得到倒2的另一个算法: 第一步:取A 1=1,B 1=-2,C 1=1,A 2=2,B 2=1,C 2=-1; 第二步:计算12212112B A B A C B C B x -+-=与12212212B A B A C A C A y --=第三步:输出运算结果。
可见利用上述算法,更加有利于上机执行与操作。
基础知识应用题例4 写出一个求有限整数列中的最大值的算法。
解:算法如下。
S1 先假定序列中的第一个整数为“最大值”。
S2 将序列中的下一个整数值与“最大值”比较,如果它大于此“最大值”,这时你就假定“最大值”是这个整数。
S3 如果序列中还有其他整数,重复S2。
S4 在序列中一直到没有可比的数为止,这时假定的“最大值”就是这个序列中的最大值。
学生做一做 写出对任意3个整数a,b,c 求出最大值的算法。
老师评一评 在例2中我们是用自然语言来描述算法的,下面我们用数学语言来描述本题的算法。
S1 max=aS2 如果b>max, 则max=b. S3 如果C>max, 则max=c. S4 max 就是a,b,c 中的最大值。
综合应用题例5 写出求1+2+3+4+5+6的一个算法。
分析:可以按逐一相加的程序进行,也可以利用公式1+2+…+n =2)1(+n n 进行,也可以根据加法运算律简化运算过程。
解:算法1: S1:计算1+2得到3;S2:将第一步中的运算结果3与3相加得到6; S3:将第二步中的运算结果6与4相加得到10; S4:将第三步中的运算结果10与5相加得到15; S5:将第四步中的运算结果15与6相加得到21。
算法2:S1:取n=6;S2:计算2)1(nn;S3:输出运算结果。
算法3:S1:将原式变形为(1+6)+(2+5)+(3+4)=3×7;S2:计算3×7;S3:输出运算结果。
小结:算法1是最原始的方法,最为繁琐,步骤较多,当加数较大时,比如1+2+3+…+10000,再用这种方法是行不通的;算法2与算法3都是比较简单的算法,但比较而言,算法2最为简单,且易于在计算机上执行操作。
学生做一做求1×3×5×7×9×11的值,写出其算法。
老师评一评算法1;第一步,先求1×3,得到结果3;第二步,将第一步所得结果3再乘以5,得到结果15;第三步,再将15乘以7,得到结果105;第四步,再将105乘以9,得到945;第五步,再将945乘以11,得到10395,即是最后结果。
算法2:用P表示被乘数,i表示乘数。
S1 使P=1。
S2 使i=3S3 使P=P×iS4 使i=i+2S5 若i≤11,则返回到S3继续执行;否则算法结束。
小结由于计算机动是高速计算的自动机器,实现循环的语句。
因此,上述算法2不仅是正确的,而且是在计算机上能够实现的较好的算法。
在上面的算法中,S3,S4,S5构成一个完整的循环,这里需要说明的是,每经过一次循环之后,变量P、i的值都发生了变化,并且生循环一次之后都要在步骤S5对i的值进行检验,一旦发现i的值大于11时,立即停止循环,同时输出最后一个P的值,对于循环结构的详细情况,我们将在以后的学习中介绍。
4、课堂小结本节课主要讲了算法的概念,算法就是解决问题的步骤,平时列论我们做什么事都离不开算法,算法的描述可以用自然语言,也可以用数学语言。
例如,某同学要在下午到体育馆参加比赛,比赛下午2时开始,请写出该同学从家里发到比赛地的算法。
若用自然语言来描述可写为(1)1:00从家出发到公共汽车站(2)1:10上公共汽车(3)1:40到达体育馆(4)1:45做准备活动。
(5)2:00比赛开始。
若用数学语言来描述可写为:S1 1:00从家出发到公共汽车站S2 1:10上公共汽车S3 1:40到达体育馆S4 1:45做准备活动S5 2:00比赛开始大家从中要以看出,实际上两种写法无本质区别,但我们在书写时应尽量用教学语言来描述,它的优越性在以后的学习中我们会体会到。
5、自我评价1、写出解一元二次方程ax2+bx+c=0(a≠0)的一个算法。
2、写出求1至1000的正数中的3倍数的一个算法(打印结果)6、评价标准1、解:算法如下S1 计算△=b2-4acS2 如果△〈0,则方程无解;否则x1=S3 输出计算结果x1,x2或无解信息。
2、解:算法如下:S1 使i=1S2 i被3除,得余数rS3 如果r=0,则打印i,否则不打印S4 使S5 若i≤1000,则返回到S2继续执行,否则算法结束。
7、作业:1、写出解不等式x2-2x-3<0的一个算法。
解:第一步:x2-2x-3=0的两根是x1=3,x2=-1。
第二步:由x2-2x-3<0可知不等式的解集为{x | -1<x<3}。
评注:该题的解法具有一般性,下面给出形如ax2+bx+c>0的不等式的解的步骤(为方便,我们设a>0)如下:第一步:计算△= ac b 42-;第二步:若△>0,示出方程两根aac b b x 2422,1-±-=(设x 1>x 2),则不等式解集为{x | x >x 1或x <x 2};第三步:若△= 0,则不等式解集为{x | x ∈R 且x ab 2-≠};第四步:若△<0,则不等式的解集为R 。
2、求过P(a 1,b 1)、Q(a 2,b 2)两点的直线斜率有如下的算法: 第一步:取x 1= a 1,y 1= b 1,x 2= a 2,y 1= b 2; 第二步:若x 1= x 2; 第三步:输出斜率不存在; 第四步:若x 1≠x 2; 第五步:计算1212x x y y k --=;第六步:输出结果。