1、- 1 -第一课时 算法的含义教学目标:使算法思想成为学生的一种数学素养.教学重点:掌握算法的五个特性.教学难点:掌握算法的五个特性.教学过程:.课题导入算法是数学及其应用的重要组成部分,是计算科学的重要基础.随着现代信息技术的飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养.算法是高中数学课程中的新增内容,其思想是非常重要的,但并不神秘.例如,运用消元法解二元一次方程组、求最大公因数等的过程就是算法.一般地,机械式地按照某种确定的步骤行事,通过一系列小的简单计算操作完成复杂计算的过程,被人们称为“算法”过程.例
2、如,人们很容易完成的基本计算是一位数的加、减、乘和进位借位等,复杂计算过程实际上都是通过这些操作,按照一定的工作次序与步骤组合完成的.为解决某一个问题而采取的方法和步骤,称为算法.或者说算法是解决一个问题的方法的精确描述.讲授新课例 1:给出求 1234567 的一个算法.解析:本例主要是培养学生理解概念的程度,了解解决数学问题都需要算法.算法一:按照逐一相加的程序进行.第一步 计算 12,得到 3;第二步 将第一步中的运算结果 3 与 3 相加,得到 6;第三步 将第二步中的运算结果 6 与 4 相加,得到 10;第四步 将第三步中的运算结果 10 与 5 相加,得到 15;第五步 将第四步
3、中的运算结果 15 与 6 相加,得到 21;第六步 将第五步中的运算结果 21 与 7 相加,得到 28.算法二:可以运用公式 123n 直接计算.n(n 1)2第一步 取 n7;第二步 计算 ;n(n 1)2第三步 输出运算结果.点评:本题主要考查学生对算法的灵活准确应用和自然语言表达一个问题的算法的方法.算法不同,解决问题的繁简程度也不同,我们研究算法,就是要找出解决问题的最好的算法.- 2 -例 2:给出求解方程组 的一个算法.2x y 5 4x 5y 13 )解析:消元法,步骤:第一步 方程不动,将方程中的 x 的系数除以方程中 x 的系数,得到乘数m 2;42第二步 方程减去 m
4、乘以方程 ,消去方程中的 x 项,得到 2x y 53y 3 )第三步 将上面的方程组自下而上回代求解,得到 y1,x2,所以原方程组的解为,这种消元回代的算法适用于一般线性方程组的求解.x 2y 1)点评:一个算法,就是一个有穷规则的集合,它为某个特定类型问题提供了解决问题的运算序列.其中的每条规则必须是明确定义的、可行的.序列的终止表示问题得到解答或指出问题没有解答.例 3:一个人带三只狼和三只羚羊过河.只有一条船,同船可以容一个人和两只动物.没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊.(1)设计安全渡河的算法;(2)思考每一步算法所遵循的相同原则是什么.解析:(1)S1
5、 人带两只狼过河.S2 人自己返回.S3 人带两只羚羊过河.S4 人带一只狼返回.S5 人带一只羚羊过河.S6 人自己返回.S7 人带两只狼过河.(2)在人运送动物过河的过程中,人离开岸边时必须保证每个岸边的羚羊数目要大于狼的数目.点评:这是一个实际问题,生活中解决任何问题都需要算法,我们要在处理实际问题的过程中理解算法的含义,体会算法设计的思想方法.课堂练习课本 P6 1,2,3,4.问题 1:两个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡 1 个大人或两个小孩,他们四人都会划船,但都不会游泳.同学们现在想一想,他们怎样渡过河去?请写一写你的渡河方案.我的思路:因为一次只能渡过一个
6、大人,而船还要回来渡其他人,所以只能让两个小孩先过河,渡河的方法与步骤为第一步 两个小孩同船渡过河去;第二步 一个小孩划船回来;第三步 一个大人独自划船渡过河去;- 3 -第四步 对岸的小孩划船回来;第五步 两个小孩再同船渡过河去;第六步 一个小孩划船回来;第七步 余下的一个大人独自划船渡过河去;第八步 对岸的小孩划船回来;第九步 两个小孩再同船渡过河去.问题 2:电脑与人脑的思维方式有什么不同?为什么要学习算法?我的思路:电脑运算的高速度和超强的记忆能力是人脑无法比拟的,但人脑能够推理、归纳、判断、分析、计算这些电脑都不会,电脑只会算术运算与逻辑运算.要让电脑为我们做事,就要把我们的意图转成
7、电脑能懂的语法,这就需要算法设计.计算机解题的核心是算法设计,一个算法应具有以下五个重要特征:(1)有穷性:一个算法必须保证执行有限步之后结束;(2)确切性:算法的每一步骤必须有确切定义;(3)可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次即可完成;(4)输入:一个算法有 0 个或多个输入,以刻划运算对象的初始条件.所谓 0 个输入是指算法本身定出了初始条件;(5)输出:一个算法有 1 个或多个输出,以反映对输入数据加工后的结果.没有输出的算法是毫无意义的.课时小结要正确地设计一个算法就需要掌握算法的五个特性:有穷性,算法中执行的步骤总是有限次数的,不能无休止地执行下去.确切性,算
8、法中的每一步操作的内容和顺序必须含义确切,不能有二义性.可行性,算法中的每一步操作都必须是可执行的,也就是说算法中的每一步都能通过手工和机器在有限时间内完成,这称之为有效性.输入,一个算法中有零个或多个输入.这些输入数据应在算法操作前提供.输出,一个算法中有一个或多个输出.算法的目的是用来解决一个给定的问题,因此,它应向人们提供产生的结果,否则,就没有意义了.课后作业补充.1下面的结论正确的是 ( )A.一个程序的算法步骤是可逆的 B.一个算法可以无止境地运算下去C.完成一件事情的算法有且只有一种 D.设计算法要本着简单方便的原则答案:D2早上从起床到出门需要洗脸刷牙(5 min) 、刷水壶(
9、2 min) 、烧水(8 min) 、泡面(3 min) 、吃饭(10 min) 、听广播( 8 min)几个步骤.从下列选项中选最好的一种算法 ( )A.S1 洗脸刷牙、S2 刷水壶、S3 烧水、S4 泡面、S5 吃饭、 S6 听广播B.S1 刷水壶、S2 烧水同时洗脸刷牙、S3 泡面、S4 吃饭、S5 听广播C. S1 刷水壶、S2 烧水同时洗脸刷牙、S3 泡面、S4 吃饭同时听广播- 4 -D.S1 吃饭同时听广播、S2 泡面、S3 烧水同时洗脸刷牙、S4 刷水壶答案:C3著名数学家华罗庚“烧水泡茶”的两个算法.算法一:第一步 烧水;第二步 水烧开后,洗刷茶具;第三步 沏茶.算法二:第一
10、步 烧水;第二步 烧水过程中,洗刷茶具;第三步 水烧开后沏茶.这两个算法的区别在哪里?哪个算法更高效?为什么?答案:第二个算法更高效.因为节约时间.4写出求 123100 的一个算法.可以运用公式 123n 直接计n(n 1)2算.第一步 ;第二步 ;第三步 输出运算结果. 答案:取 n100 计算n(n 1)25已知一个学生的语文成绩为 89,数学成绩为 96,外语成绩为 99,求他的总分和平均成绩的一个算法为:第一步 取 A89,B96,C99;第二步 ;第三步 ;第四步 输出 D,E.答案:计算总分 DA+B+C 计算平均成绩 E 3D6 “鸡兔同笼”是我国隋朝时期的数学著作孙子算经中的
11、一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足.问雉兔各几何.”用方程组的思想不难解决这一问题,请你设计一个这类问题的通用算法.答案:解析:鸡兔同笼,设鸡兔总头数为 H,总脚数为 F,求鸡兔各有多少只.算法如下:第一步 输入总头数 H,总脚数 F;第二步 计算鸡的个数 x(4 H F)/2;第三步 计算兔的个数 y(F 2 H)/2;第四步 输出 x,y .7已知直角坐标系中的两点 A(1,0) ,B(3,2) ,写出求直线 AB 的方程的一个算法.- 5 -答案:解析:可以运用公式 直接求解.12y12x第一步 取 x1 1,y 10,x 23,y 22;第二步 代
12、入公式 ,得直线 AB 的方程;1212第三步 输出直线 AB 的方程.8写出交换两个大小相同的杯子中的液体(A 水、B 酒)的两个算法.答案:解析:算法 1:1.再找一个大小与 A 相同的空杯子 C;2.将 A 中的水倒入 C 中;3.将 B 中的酒倒入 A 中;4.将 C 中的水倒入 B 中,结束 .算法 2:1.再找两个空杯子 C 和 D;2.将 A 中的水倒入 C 中,将 B 中的酒倒入 D 中;3.将 C 中的水倒入 B 中,将 D 中的酒倒入 A 中,结束.注意:一个算法往往具有代表性,能解决一类问题,如,例一可以引申为:交换两个变量的值.9写出 123456 的一个算法.答案:解析:按照逐一相乘的程序进行.第一步 计算 12,得到 2;第二步 将第一步中的运算结果 2 与 3 相乘,得到 6;第三步 将第二步中的运算结果 6 与 4 相乘,得到 24;第四步 将第三步中的运算结果 24 与 5 相乘,得到 120;第五步 将第四步中的运算结果 120 与 6 相乘,得到 720;第六步 输出结果.10已知一个三角形的三边边长分别为 2、3、4,设计一个算法,求出它的面积.答案:解析:可利用公式S 求解.)()(cpbap第一步 取 a2,b3,c4;第二步 计算 p ;第三步 计算三角形的面积 S ;)()(cpbap第四步 输出 S 的值.