1、第十一章 算法课题引入问题问题1 1课题引入将大象放入冰箱需要几步?打开冰箱门把大象装进去关门课题引入问题2:有一个农夫带一条狼、一只羊和一筐白菜过河。如果没有农夫看管,则狼要吃羊,羊要吃白菜。但是船很小,只够农夫带一样东西过河。问农夫该如何解此难题?课题引入第四步,农夫返回,带羊过河。农夫过河的步骤第一步,农夫带羊过河;第二步,农夫返回,带菜过河;第三步,农夫带羊返回,带狼过河;课题引入算法的概念由有限步骤组成的求解某一类问题的通用方法称为算法。概念照片照骗第一步,第二步,第三步,第四步,农夫过河的算法步骤农夫带羊过河;农夫返回,带菜过河;农夫带羊返回,带狼过河;农夫返回,带羊过河。S1:S
2、2:S3:S4:概念算法的特征:确定性,从初始步骤开始,分为若干明确的步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能解决问题;有效性,能够有效执行且得到确定结果;有限性,算法的步骤是有限的,在有限操作后停止。概念例1(大本P1,例1)有下列说法:求解某一类问题的算法是唯一的;算法必须在有限步操作后停止;算法的每一步操作必须是明确的,不能存在歧义;算法执行后一定能产生确定的结果.其中,正确说法的序号有()。概念不唯一有限性确定性有效性概念C设计算法一位商人用9枚金币买农夫的狼羊菜,但其中有1枚略轻的是假金币。你能用天平(不用砝码)帮助农夫将假金币找出来吗?
3、例2 农夫有了钱,想要做中间商赚差价,于是向小贩买了一笼鸡兔,但是小贩忘了鸡兔各自的数量,不方便计价,他从笼子上面数,鸡兔共有35个头,从下面数,有94只脚。你能帮助粗心的小贩算出鸡兔各自的数量吗?同样,我们也有多种“算法”来解决这个问题。设计算法方法之一:二元一次方程组解:Step1,设鸡有x只,兔有y只Step3,由,得 y=35-x Step4,把代入,得 2x+4(35-x)=94 Step5,解,得 x=23 Step6,把代入,解得y=12Step7,答:笼中各有23只鸡和12只兔。设计算法设计一个具体的算法的步骤(4)用简单的语言将这个步骤表示出来。(1)认真分析问题,找出解决此
4、问题的一般数学方法;(2)借助有关变量或参数对算法加以表述;(3)将解决问题的过程划分为若干步骤;设计算法设计算法例3(大本P2,变2)对任意三个整数a,b,c,写出求最大值的算法设计算法算法的应用例4(1)求98与63的最大公约数 (2)求470与282的最大公约数ab470282188(=470-282)28218894(=282-188)94=(188-94)94更相减损术:S1:输入两个正整数a,b;S2:以较大数减去较小数,用得到的差与较小数相比,并以较大数减去较小数,重复此操作,直到所得到的结果相等为止;S3:输出这个数。7练4(1)(大本P3,例3)求242与154的最大公约数
5、(2)(大本P3,变3)求375与85的最大公约数算法的应用225程序框图PPT模板下载: 例2开始x=2x=-3结束开始输入x的值输出y结束是否以上两个框图解决了什么问题?你自己会设计框图吗?顺序结构顺序结构一位同学语数外成绩分别为89,96,99,求其总分和平均成绩的算法,可用下框图表示:开始结束输入A,B,C输出“总分为D”“平均成绩为E”多个步骤依次进行依次进行多个处理步骤的结构称为顺序结构。一般形式为:步骤A步骤B知框图,明功能此处添加标题例5(大本P5,变3)根据如图所示的程序框图,若输入m的值是3,则输出的y的值是()。开始结束输入m输出yp=m+5y=p+513知框图,明功能练
6、5(1)如图所示框图,输入a=4,b=6,则输出的a,b为()。开始结束输入a,b输出a,ba=b-aa=b+ab=b-aa=6,b=4知框图,明功能此处添加标题练5(3)(大本P5强4)下面程序框图表示的算法的运行结果是()。开始结束输出S知功能,画框图例6(大本P4,变2)利用梯形的面积公式计算上底为3,下底为4,高为15的梯形的面积,设计该问题的算法,并画出程序框图。开始输入a=3,b=4,h=15结束输出S解:S1:输入a=3,b=4,h=15;S3:输出S.画程序框图必须遵守的规则1.使用标准的框图符号;2.框图一般按从上到下、从左到右的方向画;3.除判断框外其他框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号;4.图形符号内描述语言要非常简练清楚。知功能,画框图开始结束输出x,yS4:输出x,y.解:(代入消元法)知功能,画框图开始结束输出x,yS3:输出x,y.解:(加减消元法)知功能,画框图开始结束输出y输入x=3,-5,5开始结束谢谢