资源描述
会计学1高中数学必修三高中数学必修三 算法程序框图算法程序框图1.1.1 算法的概念算法的概念第1页/共32页问题问题1请你写出解二元一次方程组的详细求解请你写出解二元一次方程组的详细求解过程过程.2121xyxy 第一步第一步:-2得得:5y=3 第二步第二步:解得解得:35y 第三步第三步:将将 代入代入,解得解得 .35y 15x 对于一般的二元一次方程组对于一般的二元一次方程组其中其中 也可以按照上述步骤求解也可以按照上述步骤求解.111222a xb yca xb yc1 22 10aba b第2页/共32页这些步骤就构成了解二元一次方程组这些步骤就构成了解二元一次方程组的算法的算法,我们可以根据这一算法编制计算机程我们可以根据这一算法编制计算机程序序,让计算机来解二元一次方程组让计算机来解二元一次方程组.算法的概念与特征算法的概念与特征在数学上,现代意义上的“算法”通常是指按照一定规则解决某一类问题的明确和有限的步骤。第3页/共32页例例1:任意给定一个大于任意给定一个大于1的整数的整数n,试设计一个试设计一个程序或步骤对程序或步骤对n是否为质数做出判定是否为质数做出判定.分析分析:请回顾这个问题的解题过程请回顾这个问题的解题过程.算法分析算法分析:第一步第一步:判断判断n是否等于是否等于2.若若n=2,则则n是质数是质数;若若n2,则执行第二步则执行第二步.第二步第二步:依次检验依次检验2(n-1)这些整数是不是这些整数是不是n的的因数因数,即是不是整除即是不是整除n的数的数.若有这样的数若有这样的数,则则n不不是质数是质数;若没有这样的数若没有这样的数,则则n是质数是质数.说明说明:用语言描述一个算法用语言描述一个算法,最便捷的方式就是最便捷的方式就是按解决问题的步骤进行描述按解决问题的步骤进行描述.每一步做一件事情每一步做一件事情.第4页/共32页练习一练习一:任意给定一个正实数任意给定一个正实数,设计一个设计一个算法求以这个数为半径的圆的面积算法求以这个数为半径的圆的面积.算法分析算法分析:第一步第一步:输入任意一个正实数输入任意一个正实数r;第二步第二步:计算以计算以r为半径的圆的面积为半径的圆的面积S=r2;第三步第三步:输出圆的面积输出圆的面积.第5页/共32页练习二练习二:任意给定一个大于任意给定一个大于1的正整数的正整数n,设计一个算法求出设计一个算法求出n的所有因数的所有因数.算法分析算法分析:第一步第一步:依次从依次从2(n-1)为除数去除为除数去除n,判断判断余数是否为余数是否为0,若是若是,则是则是n的因数的因数;若不是若不是,则不是则不是n的因数的因数.第二步第二步:在在n的因数中加入的因数中加入1和和n;第三步第三步:输出输出n的所有因数的所有因数.第6页/共32页1.1.2 程序框图与算法的基本逻辑结构程序框图与算法的基本逻辑结构从上节课我们知道从上节课我们知道:算法可以用自然语言来描述算法可以用自然语言来描述.第一步第一步第二步第二步第三步第三步为了使算法的程序或步骤表达得更为为了使算法的程序或步骤表达得更为直观直观,我们更经常地用图形方式来表示我们更经常地用图形方式来表示它它.第7页/共32页开始输入ni=2求n除以i的余数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的因数存在的因数存在.第8页/共32页思考思考:通过上述算法的两种不同表达方式的比较通过上述算法的两种不同表达方式的比较,你觉得用程序框图来表达算法有哪些特点你觉得用程序框图来表达算法有哪些特点?用程序框图表示的算法更加简练用程序框图表示的算法更加简练,直观直观,流向清流向清楚楚.程序框图程序框图又称又称流程图流程图,是一种用规定的图是一种用规定的图形、指向线及文字说明来准确、直观地表示算形、指向线及文字说明来准确、直观地表示算法的图形法的图形.通常通常,程序框图由程序框和流程线组成程序框图由程序框和流程线组成.一个或几个程序框的组合表示算法中的一个步骤一个或几个程序框的组合表示算法中的一个步骤;流程线是方向箭头流程线是方向箭头,按照算法进行的顺序将程序按照算法进行的顺序将程序框连接起来框连接起来.第9页/共32页基本的程序框和它们各自表示的功能如下基本的程序框和它们各自表示的功能如下:图形符号图形符号名称名称功能功能终端框终端框(起止框起止框)表示一个算法的起始表示一个算法的起始和结束和结束输入、输入、输出框输出框表示一个算法输入和表示一个算法输入和输出的信息输出的信息处理框处理框(执行框执行框)判断某一条件是否成立判断某一条件是否成立,成立成立时在出口处标明时在出口处标明“是是”或或“Y”;不;不”成立时标明成立时标明“否否”或或“N”.判断框判断框赋值、计算赋值、计算流程线流程线连接程序框连接程序框连接点连接点连接程序框图的两部分连接程序框图的两部分第10页/共32页开始输入ni=2求n除以i的余数ri=i+1in或r=0?n不是质数结束是是否否是是n是质数否否r=0?顺序结构用程序框图来表示算法,有用程序框图来表示算法,有三种不同的基本逻辑结构:三种不同的基本逻辑结构:条件结构循环结构第11页/共32页程序框图的三种基本的逻辑结构程序框图的三种基本的逻辑结构顺序结顺序结构构条件结构条件结构循环结循环结构构第12页/共32页(1)顺序结构顺序结构-是由若干个是由若干个依次依次执行的处执行的处理步骤组成的理步骤组成的.这是任何一个算法都离不开这是任何一个算法都离不开的基本结构的基本结构.例例1:已知一个三角形的三边边长分别为已知一个三角形的三边边长分别为2,3,4,利用海伦利用海伦-秦九韶公式设计一个算法秦九韶公式设计一个算法,求出它的求出它的面积面积,画出算法的程序框图画出算法的程序框图.算法分析算法分析:第一步第一步:计算计算p的值的值.第二步第二步:由海伦由海伦-秦九韶公式求出三角形的面积秦九韶公式求出三角形的面积S.第三步第三步:输出输出S的值的值.第13页/共32页(1)顺序结构顺序结构-是由若干个依次执行的处是由若干个依次执行的处理步骤组成的理步骤组成的.这是任何一个算法都离不开这是任何一个算法都离不开的基本结构的基本结构.例例1:已知一个三角形的三边边长分别为已知一个三角形的三边边长分别为2,3,4,利用海伦利用海伦-秦九韶公式设计一个算法秦九韶公式设计一个算法,求出它的求出它的面积面积,画出算法的程序框图画出算法的程序框图.算法分析算法分析:第一步第一步:计算计算p的值的值.第二步第二步:由海伦由海伦-秦九韶公式求出三角形的面积秦九韶公式求出三角形的面积S.第三步第三步:输出输出S的值的值.第14页/共32页已知三角形三边长分别为已知三角形三边长分别为a,b,c,则三角则三角形的面积为形的面积为其中其中 这个公式被称为海伦这个公式被称为海伦秦九韶公式秦九韶公式.()()()Sp papbpc2abcp返回第15页/共32页程序框图程序框图:开始2342p(2)(3)(4)Sp ppp输出S结束第16页/共32页(2)条件结构条件结构-在一个算法中在一个算法中,经常会遇到一经常会遇到一些条件的判断些条件的判断,算法的流向算法的流向根据条件是否成根据条件是否成立有不同的流向立有不同的流向.条件结构就是处理这种过条件结构就是处理这种过程的结构程的结构.例例2:任意给定任意给定3个正实数个正实数,设计一个算法设计一个算法,判断分判断分别以这别以这3个数为三边边长的三角形是否存在个数为三边边长的三角形是否存在.画画出这个算法的程序框图出这个算法的程序框图.算法分析算法分析:第一步第一步:输入输入3个正实数个正实数a,b,c;第二步第二步:判断判断a+bc,a+cb,b+ca是否同时成立是否同时成立,若是若是,则能组成三角形则能组成三角形;若否若否,则组不成三角形则组不成三角形.第17页/共32页程序框图程序框图:开始输入a,b,ca+bc,a+cb,b+ca是否同时成立?是是存在这样的三角形不存在这样的三角形否否结束第18页/共32页例例3:为了加强居民的节水意识为了加强居民的节水意识,某市制订了以某市制订了以下生活用水收费标准下生活用水收费标准:每户每月用水未超过每户每月用水未超过7m3时时,每立方米收费每立方米收费1.0元元,并加收并加收0.2元的城元的城市污水处理费市污水处理费;超过超过7m3的部分的部分,每立方米收费每立方米收费1.5元元,并加收并加收0.4元的城市污水处理费元的城市污水处理费,请你写请你写出某户居民每月应交纳的水费出某户居民每月应交纳的水费y(元元)与用水量与用水量x(m3)之间的函数关系之间的函数关系,然后设计一个求该函然后设计一个求该函数值的算法数值的算法,并画出程序框图并画出程序框图.解解:y与与x之间的函数关系为之间的函数关系为:1.2,1.94.9xyx(当当0 x7时时)(当当x7时时)第19页/共32页解解:y与与x之间的函数关系为之间的函数关系为:1.2,1.94.9xyx(当当0 x7时时)(当当x7时时)算法分析算法分析:第一步第一步:输入每月用水输入每月用水量量x;第二步第二步:判断判断x是否不超是否不超过过7.若是若是,则则y=1.2x;若若否否,则则y=1.9x-4.9.第三步第三步:输出应交纳的输出应交纳的水费水费y.开始输入x0 x7?是是y=1.2x否否y=1.9x-4.9输出y结束程序框图程序框图第20页/共32页例例4.画程序框图画程序框图,对于输入的对于输入的x值值,输出相应的输出相应的y值值.0(0)1(01)(1)xyxx x开始程序框图程序框图x0?是是y=0否否0 x1?是是y=1否否y=x输出y结束输入x第21页/共32页是是例例5.设计一个求任意数的绝对值的算法设计一个求任意数的绝对值的算法,并画出并画出程序框图程序框图.(0)|(xxxxx当时当 100?是是输出S结束否否直到型循环结构开始i=1S=0i100?是是S=S+ii=i+1否否输出S结束当型循环结构第26页/共32页开始输入ni=2求n除以i的余数ri=i+1in或r=0?n不是质数结束是是否否是是n是质数否否r=0?顺序结构用程序框图来表示算法,有用程序框图来表示算法,有三种不同的基本逻辑结构:三种不同的基本逻辑结构:条件结构循环结构直到型循环结构第27页/共32页 若是若是,则则m为所求为所求;探究探究:画出用二分法求方程画出用二分法求方程x2-2=0的近似根的近似根(精精确度为确度为0.005)的程序框图的程序框图.算法分析算法分析:第一步第一步:令令f(x)=x2-2.因为因为f(1)0,所以设所以设a=1,b=2.第二步第二步:令令,2abm判断判断f(m)是否为是否为0.若否若否,则继续判断则继续判断f(a)(m)大于大于0还是小于还是小于0.第三步第三步:若若f(a)(m)0,则令则令a=m;否则否则,令令b=m.第四步第四步:判断判断|a-b|0?程序框图程序框图开始f(x)=x2-2输入误差和初值a,b2abmf(m)=0?a=m否否b=m|a-b|0?程序框图程序框图开始f(x)=x2-2输入误差和初值a,b2abma=m否否b=m|a-b|或f(m)=0?输出m结束第30页/共32页基本结构,无论怎样复杂的逻基本结构,无论怎样复杂的逻辑结构,都可以通过这三种结辑结构,都可以通过这三种结构来表达构来表达第31页/共32页
展开阅读全文