欢迎来到天天文库
浏览记录
ID:52114915
大小:295.50 KB
页数:18页
时间:2020-03-31
《高中数学 算法初步1课件 新人教A版必修3.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、算法的基本结构1、顺序结构2、选择结构3、循环结构尽管不同的算法千差万别,但它们都是由三种基本的逻辑结构构成的,这三种逻辑结构就是顺序结构、选择结构、循环结构。1、顺序结构AB(1)顺序结构是指在一个算法中运算是按照步骤依次执行的,这是一种最简单的算法结构,也是任何一个算法必不可少的逻辑结构。(2)顺序结构的流程图如图例1、己知点P(x0,y0)和直线l:Ax+By+C=0,求点P到直线的距离d,设计一个算法,解决这一问题,并画出流程图。解:算法步骤如下:(1)输入点的坐标x0,y0,输入直线方程的系数A,B
2、和常数C;(2)计算:z1:=Ax0+By0+C;(3)计算:z2:=A2+B2;(5)输出d.流程图(4)计算:开始输入x0,y0,A,B,CZ1:=Ax0+By0+CZ2:=A2+B2输出d结束流程图如图所示:程序12、选择结构选择结构的流程图如图条件步骤2步骤1是否计算机执行这种结构的算法,先对条件进行判断,若条件为真,则执行步骤1,若条件为假,则执行步骤2.例2、试设计一个求一元二次方程ax2+bx+c=0(a≠0)的根的算法,并画出流程图。解:算法步骤如下:(1)计算Δ:=b2-4ac;(3)输出解x1
3、,x2或实数解的信息。流程图(2)如果Δ<0,则原方程无实数解;否则(Δ≥0),令开始输入a,b,c计算Δ:=b2-4ac输出无实数解结束流程图如图所示:Δ<0输出x1,x2程序2是否3、循环结构(1)循环结构的概念(2)循环结构的三要素(3)循环结构的设计步骤循环结构是指在算法中从某处开始,按照一定的条件反复执行某一处理步骤的结构。在科学计算中,有许多有规律的复计算,如累加求和、累乘求积等问题。循环变量,循环体、循环的终止条件。1)确定循环结构的循环变量和初始条件2)确定算法中需要反复执行的部分,即循环体;3)
4、确定循环的终止条件。4、循环结构的算法流程图循环量:=初始值循环体循环量:=循环变量的后继循环变量>终值是否例3:设计算法,求和1+2+3+┄+100Sum:=Sum+1输出Sum开始Sum:=0,i:=1i:=i+1结束i>100是否程序3例4:设计算法流程图,求解方程x3+4x-10=0在区间[0,2]内的解(精确至10-5)返回开始a:=0,b:=1a:=(a+b)/2输出(a+b)/2结束f((a+b)/2)=0是f(a)f((a+b)/2)>0b:=(a+b)/2否b-a>10-5否是是否程序41、有序
5、列直接插入排序法基本过程如下:假设现在己有按从小到大排列好的n个数,我们要将新数A插入到这个有序列中。(1)用变量R[i](i=1,2,…,n)表示这n个己排好的数;(2)将A与最后一个数R[n],比较,若A≥R[n],则令R[n+1]:=A,排序完成,若A6、],则令R[j+1]:=A或R[1]:=A,排序完成。有序列直接插入排序的算法流程图:开始j:=n结束j=0A≥R[j]R[j+1]:=R[j]否是否是j:=j-1R[j+1]:=A例5:设计算法,利用直接插入法在有序列{9,13,28,35,72,95}中插入数A,形成新的有序列开始j:=6结束j=0A≥R[j]R[j+1]:=R[j]否是否是j:=j-1R[j+1]:=A程序52、冒泡排序法(1)所谓冒泡排序,形象地说,就是在一组数据按照从小到大的顺序排列时,小的数据视为质量轻,大的数据视为质量沉,五个小的数7、据就好比水中的气泡,往上方移动,一个较大的数据就好比石头,往下方移动。最后,最重的会沉到底,最轻的会浮到顶,反复进行,直到将数据排成有序列,这种排序方法形象地称为冒泡排序。(2)冒泡排序的基本过程被分为若干趟,第一趟排序结束,最大的数据就排在了最后,第二趟排序将每二大的数排在最大数左边相邻的位置上,依次下去,至多经过n-1趟排序,就可将排序完成。(3)在每一趟排序中,是从左边第1个数开始,与它右边相邻的数进行比较,若它小于右边的数,则两数位置不动;若它大于或等于右边的数,则将两数的位置交换,一直比较到最后两数。冒8、泡排序的算法流程图:开始j:=1i:=i+1结束j>n-1是R[i]>R[i+1]a:=R[i];R[i]:=R[i+1];R[i+1]:=a否i=n否i:=1i:=i+1例:输入5个数,将它们按照从小到大顺序排列好程序6欢迎使用本课件!制作:罗伟芳老师龙川县田家炳中学
6、],则令R[j+1]:=A或R[1]:=A,排序完成。有序列直接插入排序的算法流程图:开始j:=n结束j=0A≥R[j]R[j+1]:=R[j]否是否是j:=j-1R[j+1]:=A例5:设计算法,利用直接插入法在有序列{9,13,28,35,72,95}中插入数A,形成新的有序列开始j:=6结束j=0A≥R[j]R[j+1]:=R[j]否是否是j:=j-1R[j+1]:=A程序52、冒泡排序法(1)所谓冒泡排序,形象地说,就是在一组数据按照从小到大的顺序排列时,小的数据视为质量轻,大的数据视为质量沉,五个小的数
7、据就好比水中的气泡,往上方移动,一个较大的数据就好比石头,往下方移动。最后,最重的会沉到底,最轻的会浮到顶,反复进行,直到将数据排成有序列,这种排序方法形象地称为冒泡排序。(2)冒泡排序的基本过程被分为若干趟,第一趟排序结束,最大的数据就排在了最后,第二趟排序将每二大的数排在最大数左边相邻的位置上,依次下去,至多经过n-1趟排序,就可将排序完成。(3)在每一趟排序中,是从左边第1个数开始,与它右边相邻的数进行比较,若它小于右边的数,则两数位置不动;若它大于或等于右边的数,则将两数的位置交换,一直比较到最后两数。冒
8、泡排序的算法流程图:开始j:=1i:=i+1结束j>n-1是R[i]>R[i+1]a:=R[i];R[i]:=R[i+1];R[i+1]:=a否i=n否i:=1i:=i+1例:输入5个数,将它们按照从小到大顺序排列好程序6欢迎使用本课件!制作:罗伟芳老师龙川县田家炳中学
此文档下载收益归作者所有