算法初步知识小结.ppt
算法初步知识小结,第一课时,第一章 单元复习,知识结构,算法,程序框图,算法语句,辗转相除法与更相减损术,秦九韶算法,进位制,知识梳理,1.算法的概念,在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.,用程序框、流程线及文字说明来表示算法的图形称为程序框图.,2.程序框图的概念,3.程序框、流程线的名称与功能,终端框(起止框),输入、输出框,处理框(执行框),判断框,流程线,表示一个算法的起始和结束,表示一个算法输入和输出的信息,赋值、计算,判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”,连接程序框,表示算法步骤的执行顺序,4.算法的顺序结构,(1)概念:,由若干个依次执行的步骤组成的逻辑结构,称为顺序结构.,(2)程序框图:,5.算法的条件结构,(1)概念:,由若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为条件结构.,(2)程序框图:,6.算法的循环结构,(1)概念:,由按照一定的条件反复执行的某些步骤组成的逻辑结构,称为循环结构.,(2)程序框图:,7.算法的输入语句,INPUT“提示内容”;变量,8.算法的输出语句,PRINT“提示内容”;表达式,9.算法的赋值语句,变量=表达式,10.算法的条件语句,IF 条件 THEN 语句体END IF,IF 条件 THEN 语句体1ELSE 语句体2END IF,11.算法的循环语句,DO 循环体LOOP UNTIL 条件,WHILE 条件 循环体WEND,12.辗转相除法,求两个正整数的最大公约数,13.更相减损术,求两个正整数的最大公约数,14.秦九韶算法,求多项式f(x)=anxn+an-1xn-1+a1x+a0的值,15.k进制化十进制的算法,16.十进制化k进制的算法,除k取余法,例 某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%.设计一个程序,输出预计年生产总值超过300万元的最早年份.,第三步,判断所得的结果是否大于300.若是,则输出该年的年份;否则,返回第二步.,第一步,输入2005年的年生产总值.,第二步,计算下一年的年生产总值.,算法分析:,巩固练习,(3)控制条件:当“a300”时终止循环.,(1)循环体:设a为某年的年生产总值,t为年生产总值的年增长量,n为年份,则t=0.05a,a=a+t,n=n+1.,(2)初始值:n=2005,a=200.,循环结构:,程序框图:,程序:,n=2005,a=200,DO,t=0.05*a,a=a+t,n=n+1,LOOP UNTIL a300,PRINT n,END,作业:P50复习参考题A组:1,3.,编写算法程序习题分析,第二课时,第一章 单元复习,例1 设计一个从输入的10个数中选出最大值和最小值的程序框图,并写出程序.,INPUT x,M=x,N=x,i=1,WHILE i10,INPUT x,IF Mx THEN,M=x,END IF,IF Nx THEN,N=x,END IF,i=i+1,WEND,PRINT M,N,END,例2 一个球从100m高处自由落下,每次着地后又跳回到原高度的一半再落下.编写程序,求当它第10次着地时,(1)第10次着地后反弹多高?(2)向下的运动共经过多少米?(3)全程共经过多少米?,(1)第10次着地后反弹多高?,h=50,i=1,WHILE i10,h=h/2,i=i+1,WEND,PRINT h,END,(2)第10次着地时向下的运动共经过多少米?,h=100,s=100,i=1,WHILE i10,h=h/2,s=s+h,i=i+1,WEND,PRINT s,END,(3)第10次着地时全程共经过多少米?,s=s+h,s=s+2*h,例3 高一某班有50名学生,编写程序,统计该班数学单元测试优秀人数(不低于80分)、及格人数和班级平均分.,学生成绩为x,优秀人数为m,及格人数为a,班级总分为s,平均成绩为p.,S=0,m=0,a=0,i=1,WHILE i=50,IF x=80 THEN,INPUT x,m=m+1,END IF,IF x=60 THEN,a=a+1,WEND,END IF,s=s+x,i=i+1,p=s/50,PRINT m,a,p,END,例4 张邱建算经云:今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一.凡百钱买百鸡,问鸡翁、母、雏各几何?编写程序解决上述问题.,设鸡翁、母、雏分别为x、y、z只,则,即,WHILE x=14,END,y=1,WHILE y=25,x=1,IF 7*x+4*y=100 THEN,z=100-x-y,PRINT x,y,z,END IF,y=y+1,WEND,x=x+1,WEND,ELSE,作业:P50复习参考题A组:4,5.,算法案例的应用习题分析,第三课时,第一章 单元复习,例1 阅读下列程序:若输入的两个数m=428,n=284,求计算机输出的数.,4,例2 求324,243,270三个数的最大公约数.,27,例3 已知f(x)=8x7+5x6+3x4+2x+1,用秦九韶算法去f(2)的值.,f(x)=(8x+5)x+0)x+3)x+0)x+0)x+2)x+1,f(2)=1397,V4=404,例6 把八进制数2376(8)化为五进制数.,2376(8)=1278=20103(5),例5 把十进制数104化为三进制数.,104=10212(3),a=10*x+3,x=1,b=30+x,A=a*6528,B=b*8256,IF AB THEN,x=x+1,DO,LOOP UNTIL x9,PRINT x不存在,ELSE,PRINT x,END IF,END,作业:P51复习参考题B组:1,3.,