1、【课标要求】1.通过分析解决具体问题的过程与步骤,体会算法的基本思想.2.了解算法的含义和特征.3.能用自然语言描述解决具体问题的算法.知识导图 学法指导1.通过具体实例体会算法的概念,明确算法的各个特征,能够区别算法和解法2通过设计具体问题的算法,体会一个问题可能存在多种算法,且算法有优劣之分.知识点一 算法的含义1算法的含义12 世纪的算法 指的是用阿拉伯数字进行算术运算的过程数学中的算法 通常是指按照_解决某一类问题的_和_的步骤现代算法通常可以编成_,让计算机执行并解决问题.一定规则明确有限计算机程序2.算法的描述算法可以用不同的方式描述,一般常用自然语言、框图(程序框图)以及计算机语
2、言进行描述,三种方式各有优点(1)自然语言就是人们日常使用的语言,优点是通俗易懂,但操作步骤过多时显得烦琐(2)框图(程序框图)是用规定的图形符号来描述算法的图形(将在下一节中学习),具有结构清晰,条理分明,便于检查、修改等优点(3)计算机语言是可以被计算机识别并执行的语言状元随笔 算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的、有限的、确切的计算序列,并且这样的步骤或序列能够解决某一类问题它和数学问题 的解法既有联系也有区别:(1)联系:算法与解法是一般与特殊的关系,也是抽象与具体的关系比如,教材中根据具体的二元一次方程组的求解步骤,归纳出求解一般的
3、二元一次方程组的步骤,这些步骤就构成了解二元一次方程组的一个算法(2)区别:算法是解决某一类问题所需要的步骤的统称,也可理解为数学中的“通法”,而解法是解决某一个具体问题的过程和步骤,是具体的解题过程知识点二 算法的特征根据算法的含义,可以得出算法的六个特征:可执行性、确定性、有限性、不唯一性、普遍性以及有序性(1)可执行性:顾名思义,即要求算法在现有的条件下可以执行(2)确定性:对于一个算法,必须明确每一步应该做什么,对每一步的表述要_,不能有_(3)有限性:对于一个算法,其步骤必须是_的,不能无限执行下去,否则不能达到解决问题的目的(4)不唯一性:对于某个问题来说,解法不唯一,由此导致算法
4、_如解二元一次方程组的算法就有代入消元法、加减消元法两种简洁清楚歧义有限不唯一(5)普遍性:算法是用来解决某一类问题的_的步骤,因此,要考虑算法是否能够用来解决一类问题,且能_使用(6)有序性:算法分为若干个明确的步骤,前一步是下一步的前提,只有_才能进行下一步,并且每一步都准确无误才能解决问题明确和有限重复执行完前一步状元随笔 由算法的特征可知,算法从初始步骤开始,每一个步骤只能有一个确定的后继步骤,从而组成一个步骤序列,序列的终止表示问题得到解答或指出问题没有解知识点三 算法的设计1设计算法的要求(1)写出的算法必须能解决一类问题,并且能够重复使用;(2)设计的算法必须具有可执行性;(3)
5、要保证每一个操作步骤必须明确无歧义;(4)设计的算法必须能在有限步后得出结果;(5)要使算法尽量简单,步骤尽量少,即给出最优算法2设计算法的步骤(1)分析问题,寻找可以解决问题的一般的数学方法;(2)将问题的各种情况加以分类;(3)将每一类情况划分为若干个步骤;(4)用简练的语言与数学符号和各种参数将各个步骤表达出来;(5)按照顺序将步骤列出来状元随笔 设计算法的关键是把过程分解,用计算机语言表达并让计算机执行,要尽量做到简单明了小试身手1下列对算法的理解正确的是()A算法就是解题的方法B任何问题都可用算法来解决C解决一个具体问题的算法不同,结果也不同D算法不一定通过计算机来实现解析:A 错,
6、算法与解法是一般与特殊的关系;B 错,不是所有的问题都能用算法来解决,如,根据一列数找规律,算法是不能解决的;C 错,解决某一个具体问题时,算法可以不同,但结果必定相同;D 正确,故选 D.答案:D2下列语句表达的是算法的有()拨本地电话的过程为:1提起话筒;2拨号;3等复话信号;4开始通话或挂机;5结束通话;利用公式 VSh 计算底面积为 3,高为 4 的三棱柱的体积;x22x30;求所有能被 3 整除的正数,即 3,6,9,12,.A BC D解析:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤都各表达了一种算法;只是一个纯数学问题,不是一个明确步骤;的步骤是无穷的,与算法的有穷
7、性矛盾答案:A3结合下面的算法:第一步,输入 x.第二步,判断 x 是否小于 0.若是,则输出 x2,否则执行第三步第三步,输出 x1.当输入的 x 的值为1,0,1 时,输出的结果分别为()A1,0,1 B1,1,0C1,1,0 D0,1,1解析:根据 x 值与 0 的关系,选择执行不同的步骤当 x1 时,输出 x2,即输出 1;当 x0 时,输出 x1,即输出1;当 x1 时,输出 x1,即输出 0.故选 C.答案:C4输入一个 x 值,利用 y|x1|求函数值的算法如下,请将所缺部分补充完整:第一步:输入 x;第二步:_;第三步:当 x1 时,计算 y1x;第四步:输出 y.解析:以 x
8、1 与 0 的大小关系为分类准则知第二步应填当 x1时,计算 yx1.答案:当 x1 时,计算 yx1类型一 算法的判断例 1 下列说法:植树需要运苗,挖坑,栽苗,浇水这些步骤解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为 1.求过两点 A(1,3),B(5,6)的直线方程,可先计算直线 AB 的斜率,再根据点斜式求得直线方程解不等式其中,算法的个数为()A1 B2C3 D4状元随笔 算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤,或看成按照要求设计的、明确、有限的计算序列【解析】中说明了植树的步骤中给出了求一元一次方程这一类问题的解决方法给出了过两点求直线方
9、程的方法而只描述了一个事件,并没说明怎么解决问题,不是算法故都是算法,不是,故选 C.【答案】C方法归纳 解决有关算法概念的判断题应根据算法的概念、特征及设计算法的要求等进行判断特别注意,算法能在有限的步骤内解决某一类问题,其中每个步骤必须是明确可行的,不能模棱两可跟踪训练 1 下列叙述不能称为算法的是()A从北京到上海先乘汽车到飞机场,再乘飞机到上海B解方程 4x10 的过程是先移项再把 x 的系数化成 1C利用公式 Sr2 计算半径为 2 的圆的面积得 22D解方程 x22x10解析:ABA,B 两选项给出了解决问题的方法和步骤,是算法C利用公式计算也属于算法D只提出问题没有给出解决的方法
10、,不是算法答案:D类型二 算法的设计例 2(1)设计算法,将 1 573 分解成质因数的乘积(2)写出求 a、b、c 三个数中最大值的算法状元随笔 (1)先将 1 573 质因数分解(2)比较a、b取a、b中较大者,记为m比较m与c 得最大值 【解析】(1)第一步,判断 1 573 是否为质数:否第二步,确定 1 573 的最小质因数是 11,即 1 57311143.第三步,判断 143 是否为质数:否第四步,确定 143 的最小质因数 11,即 1431113.第五步,判断 13 是否为质数:是分解结果是 1 573111113.(2)第一步,比较 a、b 的大小,若 ab,则记 mb,若
11、 ba,则记 ma.第二步,比较 m 与 c 的大小,若 m1)是否为素数的算法解析:算法如下:第一步,给出任意一个正整数 n(n1)第二步,若 n2,则输出“2 是素数”,判断结束第三步,令 m1.第四步,将 m 的值增加 1,仍用 m 表示第五步,如果 mn,则输出“n 是素数”,判断结束第六步,判断 m 能否整除 n,如果能整除,则输出“n 不是素数”,判断结束;如果不能整除,则转第四步类型三 算法的应用 例3 一个笼子里有一些鸡和兔,现在知道里面一共有35个头,94 只脚,请设计一个算法计算鸡和兔各有多少只一设二列,三解四答【解析】算法如下:第一步,设有 x 只鸡,y 只兔;第二步,列
12、方程组:xy35,2x4y94;第三步,解方程组求得:x23,y12.第四步,答:笼子里有鸡 23 只,兔 12 只.方法归纳应用算法解决实际问题的一般方法:(1)弄清题目中所给要求;(2)建立过程模型;(3)根据过程模型建立算法步骤,必要时由变量进行判断.跟踪训练 3 现有三个油瓶子,分别能装 8 kg,5 kg,3 kg 的油,当 8 kg 的瓶子装满油时,设计一个用这三个瓶子倒油的算法,怎样倒能使这些油被平分到两个瓶子里?(要求倒油的次数最少)只能分装到大瓶和中瓶内解析:第一步,规定 8 kg 的大油瓶为 A,5 kg 和 3 kg 的油瓶分别为 B,C.第二步,从 A 往 C 倒 3 kg,将 C 装满,此时 A 中剩下 5 kg 油第三步,将 C 中的 3 kg 油倒进 B.第四步,再从 A 往 C 倒 3 kg 油第五步,从 C 往 B 倒 2 kg,即 B 装满第六步,将 B 中油全部倒入 A.第七步,将 C 中油全部倒入 B.第八步,从 A 往 C 倒油,将 C 装满,此时 A 中的油为 4 kg.第九步,将 C 中的油全部倒入 B,则 B 中的油为 4 kg.