1、第一章 算法初步11 算法与程序框图111 算法的概念【明目标、知重点】1通过解二元一次方程组的方法,体会算法的基本思想2了解算法的含义和特征3会用自然语言表述简单的算法【填要点、记疑点】1算法的概念12 世纪的算法是指用阿拉伯数字进行算术运算的过程数学中的算法 通常是指按照一定规则解决某一类问题的明确和有限的步骤现代算法 通常可以编成计算机程序,让计算机执行并解决问题2算法与计算机计算机解决任何问题都要依赖于算法,只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题【探要点、究所然】情境导学 赵本山和宋丹丹的小品钟点工中有这样一
2、个问题:宋丹丹:要把大象装入冰箱,总共分几步?哈哈哈哈,三步第一步,把冰箱门打开;第二步,把大象装进去;第三步,把冰箱门带上探究点一 算法的概念思考 1 一个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡 1 个大人或两个小孩,他们三人都会划船,但都不会游泳试问他们怎样渡过河去?请写出一个渡河方案答 第一步,两个小孩同船过河去;第二步,一个小孩划船回来;第三步,一个大人划船过河去;第四步,对岸的小孩划船回来;第五步,两个小孩同船渡过河去小结 广义地说,算法就是做某一件事的步骤或程序菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法在数学中,主要研究计算机能实现的算法,即按照某种步骤
3、一定可以得到结果的解决问题的程序思考 2 在初中,对于解二元一次方程组你学过哪些方法?解二元一次方程组Error!的具体步骤是什么?答 解二元一次方程组有加减消元法和代入消元法解方程组的步骤:方法一 第一步,2 得 5y3第二步,解得 y 35第三步,将 y 代入,得 x 35 15第四步,得方程组的解为Error!方法二 第一步,2,得 5x1第二步,解,得 x 15第三步,2,得 5y3第四步,解,得 y 35第五步,得方程组的解为Error!思考 3 写出求方程组Error!(A 1B2B 1A20)的解的算法答 第一步,A 1A 2,得(A 1B2A 2B1)yA 1C2A 2C10第
4、二步,解,得 y A2C1 A1C2A1B2 A2B1第三步,将 y 代入,得 x A2C1 A1C2A1B2 A2B1 B2C1 B1C2A1B2 A2B1第四步,得方程组的解为Error!思考 4 由思考 3 我们得到了二元一次方程组的求解公式,利用此公式可得到思考 2 的另一个算法,请写出此算法答 第一步,取 A11,B 12,C 11,A 22,B 21,C 21第二步,计算 x 与 y B2C1 B1C2A1B2 A2B1 A2C1 A1C2A1B2 A2B1第三步,输出运算结果小结 根据上述分析,用加减消元法解二元一次方程组,可以分为三、四或五个步骤进行,这些步骤就构成了解二元一次
5、方程组的一个“算法” 在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法从以上思考中我们看到某一个问题的算法不唯一探究点二 算法的步骤设计例 1 设计一个算法,判断 7 是否为质数思考 1 质数是怎样定义的?答 只能被 1 和本身整除的大于 1 的整数叫质数思考 2 根据质数的定义,怎样判断 7 是否为质数?答 可以这样判断:依次用 26 除 7,如果它们中有一个能整除 7,则 7 不是质数,否则 7 是质数解 第一步,用 2 除 7,得到余数 1,所以 2 不能整除 7第二步,用 3 除 7,得到余数 1,所以 3 不能整除 7第三步,用 4 除 7,得到余数 3,所以 4 不能
6、整除 7第四步,用 5 除 7,得到余数 2,所以 5 不能整除 7第五步,用 6 除 7,得到余数 1,所以 6 不能整除 7因此,7 是质数反思与感悟 设计一个具体问题的算法,通常按以下步骤:(1)认真分析问题,找出解决此题的一般数学方法;(2)借助有关变量或参数对算法加以表述;(3)将解决问题的过程划分为若干步骤;(4)用简练的语言将这个步骤表示出来跟踪训练 1 设计一个算法,判断 35 是否为质数 解 第一步,用 2 除 35,得到余数 1,所以 2 不能整除 35第二步,用 3 除 35,得到余数 2,所以 3 不能整除 35第三步,用 4 除 35,得到余数 3,所以 4 不能整除
7、 35第四步,用 5 除 35,得到余数 0,所以 5 能整除 35因此,35 不是质数思考 3 要判断整数 89 是否为质数,按照例 1 的思路需用 288 逐一去除 89 求余数,需要 87 个步骤,这些步骤基本是重复操作,如何改进这个算法,减少算法的步骤呢?答 (1)用 i 表示 288 中的任意一个整数,并从 2 开始取数;(2)用 i 除 89,得到余数 r若 r0,则 89 不是质数;若 r0,将 i 的值增加 1,再执行同样的操作;(3)这个操作一直进行到 i 取 88 为止思考 4 判断一个大于 2 的整数是否为质数的算法步骤如何设计?答 第一步,给定一个大于 2 的整数 n第
8、二步,令 i2第三步,用 i 除 n,得到余数 r第四步,判断“r0”是否成立若是,则 n 不是质数,结束算法;否则,将 i 的值增加 1,仍用 i 表示第五步,判断“in1”是否成立若是,则 n 是质数,结束算法;否则,返回第三步例 2 写出用“二分法”求方程 x220(x0)的近似解的算法解 第一步,令 f(x)x 22,给定精确度 d第二步,确定区间a,b,满足 f(a)f(b)1, ,则令 bm ,若 m ,则令 am 2 2第四步,重复第二、第三步,直到|ab|005 或 m 时结束算法2【当堂测、查疑缺】1在用二分法求方程零点的算法中,下列说法正确的是 ( )A这个算法可以求所有的
9、零点B这个算法可以求任何方程的零点C这个算法能求所有零点的近似解D这个算法可以求变号零点近似解答案 D解析 二分法的理论依据是函数的零点存在定理它解决的是求变号零点的问题,并不能求所有零点的近似值2已知一个学生的语文成绩为 89,数学成绩为 96,外语成绩为 99,求它的总分和平均分的一个算法如下,请将其补充完整第一步,取 A89,B96,C 99第二步,_第三步,_第四步,输出计算结果答案 计算总分 DAB C 计算平均分 ED33看下面的四段话,其中不是解决问题的算法是_(1)从济南到北京旅游,先坐火车,再坐飞机抵达;(2)解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为
10、1;(3)方程 x210 有两个实根;(4)求 12345 的值,先计算 123,再计算 3 36,6410,10515,最终结果为 15答案 (3)解析 由于(3)不是解决某一类问题的步骤,故(3)不是解决问题的算法4已知直角三角形两直角边长为 a,b,求斜边长 c 的一个算法分下列三步:(1)计算 c ;a2 b2(2)输入直角三角形两直角边长 a,b 的值;(3)输出斜边长 c 的值其中正确的顺序是_答案 (2)(1)(3)解析 算法的步骤是有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算【呈重点、现规律】1算法的特点:有限性、确定性、逻辑性、不唯一性、普遍性2算法设计的要求:(1)写出的算法必须能够解决一类问题( 如判断一个整数是否为质数,求任意一个方程的近似解等),并且能够重复使用(2)要使算法尽量简单,步骤尽量少(3)要保证算法正确,且算法步骤能够一步一步执行,每一步执行的操作必须确切,不能含混不清,而且在有限步后能得到结果