2020年高中数学必修三第一章《算法初步》
1.1.1 算法的概念
学习目标 1.了解算法的含义;2.了解算法的思想;3.会用自然语言描述一些具体问题的算法.
知识点一 算法的概念
思考1 有一碗酱油,一碗醋和一个空碗.现要把两碗盛的物品交换过来,试用自然语言表述你的操作办法.
答案 先把醋倒入空碗,再把酱油倒入原来盛醋的碗,最后把倒入空碗中的醋倒入原来盛酱油的碗,就完成了交换.
思考2 某笑话有这样一个问题:把大象装进冰箱总共分几步?答案是分三步.第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上.这是一个算法吗? 答案 是. 梳理 算法概念
12世纪的算法 数学中的算法 现代算法 知识点二 算法的特征
思考1 设想一下电脑程序需要计算无限多步,会怎么样?
答案 若有无限步,必将陷入死循环,解决不了问题.故算法必须在有限步内解决问题. 思考2 算法与一般意义上具体问题的解法的区别与联系是什么? 答案 (1)它们之间是一般与特殊的关系,也是抽象与具体的关系.
(2)要设计出解决一类问题的算法,可以借助于此类问题中的某一个问题的解决过程和思路进行设计,而此类问题中的任何一个具体问题都可以利用这类问题的一般算法来解决. 梳理 算法的五个特征
(1)有限性:一个算法的步骤是有限的,它应在有限步操作之后停止.
(2)确定性:算法中的每一步应该是确定的,并且能有效地执行且得到确定的结果,而不是是指用阿拉伯数字进行算术运算的过程 通常是指按照一定规则解决某一类问题的明确和有限的步骤 通常可以编成计算机程序,让计算机执行并解决问题 第 1 页 共 12 页
模棱两可的.
(3)逻辑性:算法从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,只有完成前一步,才能进行下一步,而且每一步都是正确无误的,从而组成具有很强逻辑性的步骤序列.
(4)普遍性:一个确定的算法,应该能够解决一类问题.
(5)不唯一性:求解某一个问题的算法不一定只有唯一的一个,也可以有不同的算法. 特别提醒:判断一个问题是不是算法,关键是明确算法的含义及算法的特征. 知识点三 算法的设计要求及描述
思考1 求解某一个问题的算法是不是唯一的?
答案 解决一个问题的算法可以有多个,只是有优劣之分,结构简单,步骤少,速度快的算法就是好算法.
思考2 任何问题都可以设计算法解决吗?
答案 不可以,只有能按照一定规则解决的、明确的、有限的操作步骤的问题才可以设计算法,其他的问题一般是不可以的. 梳理
1.算法的设计要求
(1)写出的算法,必须能解决一类问题,并且能够重复使用. (2)要使算法尽量简单、通俗易懂. (3)要保证算法正确,且计算机能够执行. 2.算法的描述
描述算法可以有不同的方式,常用的有自然语言、框图(流程图)、程序设计语言等. (1)自然语言
自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等,用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤按顺序执行时比较容易理解,缺点是如果算法中包含判断和转向,并且操作步骤较多时,就不那么直观清晰了. (2)框图(流程图)
所谓框图,就是指用规定的图形符号来描述算法(这在下一节中将学习).用框图描述算法,具有直观、结构清晰、条理分明、通俗易懂、便于检查、修改及交流等优点. (3)程序设计语言
算法可以通过程序语言编写出来,并在计算机上执行.程序设计语言可分为低级语言和高级
第 2 页 共 12 页
语言,低级语言包括机器语言和汇编语言.
类型一 算法概念理解
例1 下列描述不能看作算法的是( )
A.做米饭需要刷锅,淘米,添水,加热这些步骤 B.洗衣机的使用说明书 C.解方程2x2+x-1=0
D.利用公式S=πr2,计算半径为4的圆的面积,就是计算π×42 答案 C
解析 A、B、D都描述了解决问题的过程,可以看作算法,而C只描述了一个事实,没说明怎么解决问题,不是算法.
反思与感悟 算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成是设计好的、有限的、确切的计算序列,并且这样的步骤或序列能够解决某一类问题. 跟踪训练1 下列关于算法的描述正确的是( ) A.算法与求解一个问题的方法相同 B.算法只能解决一个问题,不能重复使用
C.算法过程要一步一步执行,每步执行的操作必须确切 D.有的算法执行完后,可能无结果 答案 C
解析 算法与求解一个问题的方法既有区别又有联系,故A项不对;算法能重复使用,故B项不对;每个算法执行后必须有结果,故D项不对;由算法的有序性和确定性,可知C项正确.
类型二 算法的阅读理解
例2 下面算法要解决的问题是________________________________________. 第一步,输入三个数,并分别用a、b、c表示.
第二步,比较a与b的大小,如果a
第 3 页 共 12 页