1、1.1算法的概念算法的概念算法是计算机工作的算法是计算机工作的基础,算法的发展推基础,算法的发展推动了计算机的发展动了计算机的发展【学习目标】【学习目标】1.了解算法的含义,体会算法的思想;了解算法的含义,体会算法的思想;2.能够用自然语言叙述算法;能够用自然语言叙述算法;3.掌握正确的算法应满足的特征掌握正确的算法应满足的特征.【学习重点】【学习重点】算法的含义、解二元一次方程组和判断一算法的含义、解二元一次方程组和判断一 个数为质数的算法设计个数为质数的算法设计【学习难点】【学习难点】把自然语言转化为算法语言把自然语言转化为算法语言.创设情境创设情境 给出定义给出定义问题:问题:有一个农夫
2、带一条有一个农夫带一条狼狼、一只、一只羊羊和一筐和一筐白菜白菜过河过河.如果没有农夫看管,则狼要吃羊,羊要吃白如果没有农夫看管,则狼要吃羊,羊要吃白菜菜.但是船很小,只够农夫带一样东西过河但是船很小,只够农夫带一样东西过河.问农问农夫该如何解此难题?夫该如何解此难题?解决步骤:解决步骤:1、带羊到对岸,返回;、带羊到对岸,返回;2、带菜到对岸,并把羊带回;、带菜到对岸,并把羊带回;3、带狼到对岸,返回;、带狼到对岸,返回;4、带羊到对岸、带羊到对岸.【问题导学】【问题导学】阅读必修阅读必修3P3-5后完成下列问题:后完成下列问题:著名笑星著名笑星赵本山赵本山和和宋丹丹宋丹丹表演的小品表演的小品
3、钟点工中,钟点工中,宋丹丹讲了一个笑话,问把大象装进冰箱总共分几步宋丹丹讲了一个笑话,问把大象装进冰箱总共分几步.2、数学中数学中的的算法:算法:按照一定规则解决某一类问题的按照一定规则解决某一类问题的 和和 的步骤的步骤.明确明确有限有限3、写出解二元一次方程组、写出解二元一次方程组 的求解过程,的求解过程,并从中理解算法的含义:并从中理解算法的含义:21(1)23(2)xyxy答案是分三步:答案是分三步:把冰箱门打开;把大象装进去;把冰箱门打开;把大象装进去;把冰箱门关上把冰箱门关上.其实这其中就蕴涵了数学中最原始的其实这其中就蕴涵了数学中最原始的算法思想,你能从中理解算法的含义吗?算法思
4、想,你能从中理解算法的含义吗?3、写出解二元一次方程组、写出解二元一次方程组 的求解过程,的求解过程,并从中理解算法的含义:并从中理解算法的含义:21(1)23(2)xyxy217()2+()得5x第 步,=一()75解(3)得,第,x=二步121()2-()得5y=第三步,(4)51解(4)得,第,y=四步7515xy第得到方程组五的解步,探究:写出求解下列方程组的探究:写出求解下列方程组的步骤步骤.1111 22 1222(1)0(2)a xb ycaba ba xb yc第一步第一步,21(1)(2)bb得:12211221a ba bxc bc b(3)第二步第二步,解(解(3)得)得
5、 12211221c bc bxa ba b2 11 22 11 2a ca cya bab 第四步第四步,解(解(4)得)得 21(1)(2)aa得:第三步第三步,2 11 22 11 2a bab ya cac(4)第五步第五步,得到方程组的解为得到方程组的解为 1221122121122112c bc bxa ba ba ca cya ba b算法的含义算法的含义(广义)完成某项工作的方法和步骤(广义)完成某项工作的方法和步骤(现代)可以用计算机来解决的一类问题的(现代)可以用计算机来解决的一类问题的程序程序和和 步骤步骤.(数学中)(数学中)算法算法通常是指按照一定规则解决通常是指按照
6、一定规则解决 某一类问题的某一类问题的明确和有限明确和有限的的步骤步骤.菜谱是做菜的算法;菜谱是做菜的算法;歌谱是一首歌曲的算法;歌谱是一首歌曲的算法;空调说明书是空调使用的算法等空调说明书是空调使用的算法等例例1:设计一个算法,判断设计一个算法,判断5是否为质数是否为质数.算法:算法:第一步,第一步,用用2除除5,得到余数,得到余数1.因为余数不为因为余数不为0,所以,所以2不不能整除能整除5.第二步,第二步,用用3除除5,得到余数,得到余数2.因为余数不为因为余数不为0,所以,所以3不不能整除能整除5.第三步,第三步,用用4除除5,得到余数,得到余数1.因为余数不为因为余数不为0,所以,所
7、以4不不能整除能整除5.因此,因此,5是质数是质数.21?变式变式1:设计一个算法,判断设计一个算法,判断21是否为质数是否为质数.变式变式1:设计一个算法,判断设计一个算法,判断21是否为质数是否为质数.第一步,第一步,用用2除除21,得到余数,得到余数1.因为余数不为因为余数不为0,所以,所以2不能整除不能整除21.算法算法分析:分析:第二步,第二步,用用3除除21,得到余数,得到余数0.因为余数为因为余数为0,所以,所以3能能整除整除21.因此,因此,21不是质数不是质数变式变式2:你能写出你能写出“判断整数判断整数 是否为质数是否为质数”的算法吗?的算法吗?算法算法分析:分析:第一步,
8、第一步,给定大于给定大于2的整数的整数n.第三步,第三步,用用i 除除 n,得到余数,得到余数r.(2)n n 第二步,第二步,令令2i 第四步,第四步,判断判断“r=0”是否成立,若成立,则是否成立,若成立,则n不是质数,不是质数,结束算法;否则,结束算法;否则,将将i增加增加 1,仍用,仍用 i 表示表示.第五步,第五步,判断判断“i(n-1)”是否成立,若是,结束是否成立,若是,结束算法;否则,返回第三步算法;否则,返回第三步例例2:任意给定一个大任意给定一个大于于1的整数的整数n,设计一个,设计一个算法求出算法求出n的所有因数的所有因数小结:初值小结:初值 赋值赋值 计数计数例例2:任
9、意给定一个大于任意给定一个大于1的整数的整数n,设计一个算,设计一个算法求出法求出n的所有因数的所有因数算法算法分析:分析:第一步,第一步,给定大于给定大于1的整数的整数n.第三步,第三步,用用i 除除 n,得到余数,得到余数r.第二步,第二步,令令1i 第四步,第四步,判断判断“r=0”是否成立,若成立,则是否成立,若成立,则i是是n的因数,的因数,结束算法;否则,结束算法;否则,将将i增加增加 1,仍用,仍用 i 表示表示.第五步,第五步,判断判断“i n”是否成立,若是,结束算法;否则,是否成立,若是,结束算法;否则,返回第三步返回第三步思考:思考:问题问题1:你能举出更多算法的例子吗?
10、:你能举出更多算法的例子吗?问题问题2:与一般解决问题的过程相比,:与一般解决问题的过程相比,你认为算法有哪些特征?你认为算法有哪些特征?算法的基本特征算法的基本特征明确性:明确性:算法的每一个步骤都是确切的,能有算法的每一个步骤都是确切的,能有效执行且得到确定的结果,不能模棱两可效执行且得到确定的结果,不能模棱两可.顺序性:顺序性:算法从初始步骤开始,分为若干明算法从初始步骤开始,分为若干明确的步骤,每一步都只能有一个确定的继续,确的步骤,每一步都只能有一个确定的继续,只有执行完前一步才能进入到后一步,并且只有执行完前一步才能进入到后一步,并且每一步都确定无误后,才能解决问题每一步都确定无误
11、后,才能解决问题.有限性:有限性:算法应在有限步内结束,并给出计算法应在有限步内结束,并给出计算结果算结果.不唯一性:不唯一性:求解某一个问题的算法不一定是求解某一个问题的算法不一定是唯一的,对于同一个问题可以有不同的算法唯一的,对于同一个问题可以有不同的算法.普遍性:普遍性:很多具体的问题,都可以设计很多具体的问题,都可以设计合理的算法去解决某一类问题,如计算器计合理的算法去解决某一类问题,如计算器计算都要经过有限的、事先设计好的步骤加以算都要经过有限的、事先设计好的步骤加以解决解决.判断判断53是否为质数是否为质数.第一步,用第一步,用2除除53,得到余数,得到余数1.因为余数不为因为余数
12、不为0,所以,所以2不能整除不能整除53.第二步,用第二步,用3除除53,得到余数,得到余数2.因为余数不为因为余数不为0,所以,所以3不能整除不能整除53.第三步,用第三步,用4除除53,得到余数,得到余数1.因为余数不为因为余数不为0,所以,所以4不能整除不能整除53.第五十一步,用第五十一步,用52除除53,得到余数,得到余数1.因为余数不为因为余数不为0,所以所以52不能整除不能整除53.因此,因此,53是质数是质数.不是算法不是算法以下是算法吗?以下是算法吗?当堂检测当堂检测 巩固知识巩固知识1.下面能看成算法的是:下面能看成算法的是:()A张宁数学测试成绩是张宁数学测试成绩是100
13、分分 B张宁按题号的顺序做完了全部数学测试题张宁按题号的顺序做完了全部数学测试题 C张宁上课迟到了张宁上课迟到了 D今天,张宁因病没有去上学今天,张宁因病没有去上学2.下给出了一个问题的算法,它解决的问题是什么?下给出了一个问题的算法,它解决的问题是什么?第一步,输入一个实数第一步,输入一个实数 x;第二步,若第二步,若第三步,输出第三步,输出 的值的值1,()1()1xf xxf xx 则,否则()f xB解决的是解决的是()1f xx今天你有什么收获?今天你有什么收获?1、算法的概念、算法的概念2、算法的特点及表示、算法的特点及表示3、简单算法的设计、简单算法的设计课后作业课后作业1.下面
14、对算法描述正确的一项是:下面对算法描述正确的一项是:()A求解某一类问题的算法是唯一的求解某一类问题的算法是唯一的 B一个算法可以无止境地运算下去一个算法可以无止境地运算下去 C同一问题可以有不同的算法同一问题可以有不同的算法 D同一问题的算法不同,结果必然不同同一问题的算法不同,结果必然不同2.下列特征中:无序性;有穷性;确定性;有下列特征中:无序性;有穷性;确定性;有效性效性.能表示算法特征的有:(能表示算法特征的有:()A.1个个 B.2个个 C.3个个 D.4个个3.已知一个学生的语文、数学、英语成绩分别为已知一个学生的语文、数学、英语成绩分别为89,96,99,求他的平均分的一个算法
15、为:,求他的平均分的一个算法为:第一步,取第一步,取A=89,B=96,C=99;第二步,第二步,;第三步,第三步,;第四步,输出计算的结果第四步,输出计算的结果.CC计算计算S=A+B+C 计算计算P=S/36.一位商人有一位商人有9枚银元,其中有枚银元,其中有1枚略轻的是假银元枚略轻的是假银元.你能你能设计用天平(不用砝码)将假银元找出来的算法吗?设计用天平(不用砝码)将假银元找出来的算法吗?7.两个大人和两个小孩一起渡河,渡口只有一条小船,每两个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡次只能渡1 个大人或两个小孩,他们四人都会划船,但都个大人或两个小孩,他们四人都会划船,但都不会游泳不会游泳.试问他们怎样试问他们怎样 渡过河去?请写出一个渡河方案渡过河去?请写出一个渡河方案.4.任意给定一个正实数,设计一个算法求以这个数为半径任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积的圆的面积.算法步骤:算法步骤:第一步,第一步,给定一个正实数给定一个正实数r;第二步,第二步,计算以计算以r为半径的圆的面积为半径的圆的面积 ;2sr第三步,第三步,输出圆的面积输出圆的面积S.