1、问题的提出有一个农夫带一条狼狗、一只羊和一筐白菜过河。如果没有农夫看管,则狼狗要吃羊,羊要吃白菜。但是船很小,只够农夫带一样东西过河。问农夫该如何解此难题?方法和过程:1、带羊到对岸,返回;2、带菜到对岸,并把羊带回;3、带狼狗到对岸,返回;4、带羊到对岸。问题1请你写出解二元一次方程组的详细求解过程.解方程第一步,由(1)得第二步,将(3)代入(2)得第三步,解(4)得第四步,将(5)代入(3)得第五步,得到方程组的解得解方程第一步,第二步,第三步,第四步,第五步,得到方程组的解得广义地说:为了解决某一问题而采取的方法和步骤,就称之为算法。在数学中,按照一定规则解决某一类问题的明确和有限的步
2、骤,称为算法。现在,算法通常可以编成计算机程序,让计算机执行并解决问题。这些程序或步这些程序或步骤必须是明确和有效的骤必须是明确和有效的,而且能够在有限步之而且能够在有限步之内完成内完成.算法的概念:没有软件的支持,计算机只是一堆废铁而已;软件的核心就是算法软件的核心就是算法!算法的特征 一.确定性:每一步必须有确切的定义。二.有效性:原则上必须能够精确的运行。三.有穷性:一个算法必须保证执行有限步后结束算法的优缺点 一.缺点:算法一般是机械的,有时需要进行大量重复的计算.二.优点:算法是一种通法,只要按照步骤去做,总能得到结果.广播操图解是广播操的算法;菜谱是做菜的算法;歌谱是一首歌曲的算法
3、;空调说明书是空调使用的算法等我们身边的算法 应用举例应用举例例1.(1)设计一个算法判断7是否为质数.第一步,用2除7,得到余数1.因为余数不为0,所以2不能整除7.第二步,用3除7,得到余数1.因为余数不为0,所以3不能整除7.第三步,用4除7,得到余数3.因为余数不为0,所以4不能整除7.第四步,用5除7,得到余数2.因为余数不为0,所以5不能整除7.第五步,用6除7,得到余数1.因为余数不为0,所以6不能整除7.因此,7是质数.应用举例应用举例例1.(2)设计一个算法判断35是否为质数.第一步,用2除35,得到余数1.因为余数不为0,所以2不能整除35.第二步,用3除35,得到余数2.
4、因为余数不为0,所以3不能整除35.第三步,用4除35,得到余数3.因为余数不为0,所以4不能整除7.第四步,用5除35,得到余数0.因为余数为0,所以5能整除35.因此,35不是质数.任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定.第一步:判断n是否等于2.若n=2,则n是质数;若n2,则执行第二步.第二步:依次从2(n1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数.这是判断一个大于1的整数n是否为质数的最基本算法.用语言描述一个算法,最便捷的方式就是按解决问题的步骤进行描述.每一步做一件事情.应用举例应用举例例2.用二分
5、法设计一个求方程的近似根的算法.探究解决探究解决 对于区间a,b 上连续不断、且f(a)f(b)0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫做二分法.解决问题解决问题第四步,若f(a)f(m)2,则执行第二步.第二步:依次检验2(n-1)这些整数是不是n的因素,即是不是整除n的数.若有这样的数,则n不是质数;若没有这样的数,则n是质数.从上节课我们知道:算法可以用自然语言来描述.如例1为了使算法的程序或步骤表达得更为直观,我们更经常地用图形方式来表示它.开始输入ni=2求n除以i的余数ri的值增加1仍用i表示i
6、n或r=0?n不是质数结束是否是n是质数否r=0?i=i+1程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.通常,程序框图由程序框和流程线组成.一个或几个程序框的组合表示算法中的一个步骤;流程线是方向箭头,按照算法进行的顺序将程序框连接起来.基本的程序框和它们各自表示的功能如下:图形符号名称功能终端框(起止框)表示一个算法的起始和结束输入、输出框表示一个算法输入和输出的信息处理框(执行框)判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不”成立时标明“否”或“N”.判断框赋值、计算流程线连接程序框连接点连接程序框图的两部分开始输入ni=2求n除以i
7、的余数ri的值增加1仍用i表示in或r=0?n不是质数结束是否是n是质数否r=0?设n是一个大于2的整数.一般用i=i+1表示.i=i+1说明:i表示从2(n-1)的所有正整数,用以判断例1步骤2是否终止,i是一个计数变量,有了这个变量,算法才能依次执行.逐步考察从2(n-1)的所有正整数中是否有n的因数存在.思考?通过上述算法的两种不同表达方式的比较,你觉得用程序框图来表达算法有哪些特点?用程序框图表示的算法更加简练,直观,流向清楚.开始输入ni=2求n除以i的余数ri=i+1in或r=0?n不是质数结束是否是n是质数否r=0?顺序结构用程序框图来表示算法,有三种不同的基本逻辑结构:条件结构
8、循环结构程序框图的三种基本的逻辑结构顺序结构条件结构循环结构(1)顺序结构-是由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构.例1:已知一个三角形的三边边长分别为2,3,4,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图.算法分析:第一步:计算p的值.第二步:由海伦-秦九韶公式求出三角形的面积S.第三步:输出S的值.A B(1)顺序结构-是由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构.例1:已知一个三角形的三边边长分别为2,3,4,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图.算法分析:第一步:计算p的值.
9、第二步:由海伦-秦九韶公式求出三角形的面积S.第三步:输出S的值.程序框图:开始输出S结束画出:已知三角形的三边长a,b,c,求它的面积的程序框图.开始输出S结束输入a,b,c(2)条件结构-在一个算法中,经常会遇到一些条件的判断,算法的流向根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.例2:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.算法分析:第一步:输入3个正实数a,b,c;第二步:判断a+bc,a+cb,b+ca是否同时成立,若是,则能组成三角形;若否,则组不成三角形.程序框图:开始输入a,b,ca+bc,a+c
10、b,b+ca是否同时成立?是存在这样的三角形不存在这样的三角形否结束课本50页1(1)开始程序框图x0?是y=0否0 x100?是输出S结束否直到型循环结构开始i=1S=0i100?是S=S+ii=i+1否输出S结束当型循环结构说明:循环结构分为两种-当型和直到型.当型循环在每次执行循环体前对循环条件进行判断,当条件满足时执行循环体,不满足则停止;(当条件满足时反复执行循环体)(WHILE)直到型循环在执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时执行循环体,满足则停止.(反复执行循环体,直到条件满足)(UNTIL)作业:4.(P40页A组T1(2)开始程序框图x0?是y=(x+2)2否x=0?是y=4否输出y结束输入xy=(x-2)2