算法与程序框图专题与小结.ppt

上传人:zhu****ei 文档编号:3501673 上传时间:2019-12-16 格式:PPT 页数:44 大小:1.15MB
返回 下载 相关 举报
算法与程序框图专题与小结.ppt_第1页
第1页 / 共44页
算法与程序框图专题与小结.ppt_第2页
第2页 / 共44页
算法与程序框图专题与小结.ppt_第3页
第3页 / 共44页
点击查看更多>>
资源描述
算法与程序框图,汾阳中学数学组,一、算法与程序框图专题,知识梳理,1.算法通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是确定的和能执行的,而且能够在有限步之内完成.2.程序框图(1)定义:程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.(2)说明:在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.,3.三种基本逻辑结构条件结构循环结构定义由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构算法的流程根据条件是否成立有不同的流向,条件结构就是处理这种过程的结构从某处开始,按照一定的条件反复执行某些步骤的情况,反复执行的步骤称为循环体程序框图,思维导图,典例分析,题型一算法的设计,【例1】已知点和直线l:Ax+By+C=0(A0),求点到直线l的距离d,写出其算法并画出程序框图.,分析由公式可知,欲求点到直线的距离,要先求及,代入,用顺序结构解决.,解算法如下:第一步,输入点P的坐标x0,y0及直线方程的系数A、B、C.第二步,计算第三步,计算第四步,计算第五步,输出d.,程序框图:,学后反思给出一个问题,设计算法时应注意:(1)认真分析问题,联系解决此问题的一般数学方法;(2)综合考虑此类问题中可能涉及的各种情况;(3)将解决问题的过程划分为若干个步骤;(4)借助变量或参数用数学表达式表述算法;(5)用简练的语言将各个步骤表示出来.,练习:,1.写出求解方程a+x+c=0的一个算法.,解析第一步,判断a是否等于零.若a=0,则解x=-c;若a0,则执行第二步.第二步,判断判别式=1-4ac是否小于零.若300,则执行第五步.第五步,N=2008+n.第六步,输出N6,题型二算法的顺序结构【例2】如图,设计算法求底面边长为4,侧棱长为5的正四棱锥的侧面积及体积,并画出相应的程序框图.,分析方法一:先求体积V=Sh,S=,高h=,R=a,斜高h=,从而求得=4ah=2ah.方法二:推导出利用a和l表达的侧面积及体积公式,然后代入求解.,解由方法一可得算法一:第一步,a=4,l=5.第二步,R=a.第三步,h=,S=.第四步,V=Sh.第五步,输出V.第六步,h=.第七步,=2ah.第八步,输出.由方法二得算法二:第一步,a=4,l=5.第二步,S侧=2a.第三步,V=第四步,输出S侧、V.,算法一程序框图如图1,算法二程序框图如图2.图1图2,学后反思通过本题体会算法的思想,比较两种算法的优点.利用算法和程序框图,能够规范思维,可以锻炼书面表达的能力,先求什么,后求什么,无论是用算法表达,还是用程序框图表达,都是一目了然,非常清晰的,所以把这种方法用于我们平时的做题会使解题的思路简练、易懂、有逻辑性.,【例3】“特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式,某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算:f=0.53(50),500.53+(-50)0.85(50).其中f(单位:元)为托运费,为托运物品的重量(单位:kg).试设计计算费用f的算法,并画出程序框图.,分析这是一个实际问题,求费用f的计算公式随物品的重量的变化而不同,因此要对物品重量进行判断,比较与50的大小,然后由相应关系式求出费用f并输出.,题型三算法的条件结构,解算法如下:第一步,输入.第二步,如果50,那么f=0.53;否则,f=500.53+(-50)0.85.第三步,输出f.程序框图:,学后反思利用条件结构解决算法问题时,要引入判断框,要根据题目的要求引入一个或多个判断框,而判断框内的条件不同,对应的下一图框中的内容和操作要相应地进行变化,故要逐个分析判断框内的条件.,开始,输入一个正整数n,输入S的值,结束,S=0,i=1,S=S+1/i,i=i+1,in,Y,N,思考:1这个陈旭框图对吗?,题型四算法的循环结构,【例4】对任意的正整数n,设计一个算法求的值,并画出程序框图,2将步骤A和步骤B交换位置,结果会怎样?能达到预期结果吗?为什么?要达到预期结果,还需要做怎样的修改?,开始,输入一个正整数n,输入S的值,结束,S=0,i=1,S=S+1/i,i=i+1,in?,否,是,结束,S=S+1/i,i=i+1,输出Sum,否,是,开始,输入一个正整数n,in?,S=0,i=1,能否说说这个流程图的异同点?,解决方法就是加上一个判断,判断是否已经加到了n,如果加到了则退出,否则继续加。,直到型结构,当型结构,请填上判断的条件。,in?,in?,学后反思:在程序框图中“是”“否”的位置不会影响程序的进行。循环体中语句的交换则会影响判断条件的改变。直到型循环结构和当型循环结构的本质区别,直到型循环结构先执行循环体,再判断条件,若不满足,则执行循环体,直到满足才输出结果;而当型循环结构先判断条件,若成立,则执行循环体,直到条件不成立才结束循环,输出结果.,练习3设计一个程序框图,求的值.,错解如图1,图2.,错解分析图1的错误在于i=i+1,步长为1,计算的是图2的错误在于先执行i=i+2而后执行,计算的是,正解,4已知函数请设计一个程序框图求函数值y.,错解程序框图如图1,图2.图1图2,错解分析图1表示的函数为故错误.图2的错误在于被判断的条件x=0放在菱形框外,应放在菱形框里,同时菱形判断框只能有一个进口和两个出口.,正解程序框图如图.,课堂检测:2如图是一个算法的流程图,最后输出的W=.,答案:22,解析:第一次:T=1,S=1-0=1;第二次:T=3,S=3-1=8;第三次:T=5,S=5-8=17,此时满足S10,所以W=S+T=17+5=22.,课后作业课本第50页A组题习1,3,课堂小结1、本节课你获得了些什么知识?学到了哪些数学思想和方法?,再见,二算法与程序框图小结,1.三种语句的一般格式和功能,INPUT“提示内容”;变量,输入信息,PRINT“提示内容”;表达式,输出结果,变量=表达式,将表达式的值赋给变量,2.条件语句(1)定义:算法中的由条件语句来表达.(2)条件语句的格式及框图IFTHEN格式,条件结构,知识梳理,IFTHENELSE格式,3.循环语句(1)算法中的循环结构是由循环语句来实现的.(2)循环语句的格式及框图.UNTIL语句,WHILE语句,(3)WHILE语句和UNTIL语句之间的区别与联系,知识体系,题型一输入、输出和赋值语句【例1】某企业为职工计算工资时按时间计,每月的总工资=每月劳动时间每小时工资,从总工资中扣除15%作为医疗保险金,再以总工资的5作为奖金,要求输入劳动时间和每小时工资数,输出每位职工应发工资.设计算法并画出程序框图,写出程序.,分析(1)设出每小时工资,每月劳动时间,每月总工资,先求出每月总工资,再求应发工资.(2)在程序编写中赋值语句是其中关键的基本语句.,解算法如下:第一步,输入月劳动时间t和每小时工资a.第二步,求每月总工资y=每月劳动时间t每小时工资a.第三步,求应发工资z=每月总工资y(1-15%)+y5.第四步,输出应发工资z.,程序框图:,学后反思编写程序的关键是先搞清问题的算法,特别是算法的结构,然后确定采用哪一种算法语句.本题实质是求一个函数对应于自变量的函数值,故可用顺序结构实现算法.,程序:INPUTt,ay=a*tz=0.855*yPRINTzEND,练习1.下列赋值语句中正确的有()3=B;x-y=2;A=B=-2;T=T+T.A.0个B.1个C.2个D.3个,解析:错,赋值语句中变量不能给常数赋值;错,赋值语句不能给一个表达式赋值;错,赋值语句只能给一个变量赋值;正确.,答案:B,题型二条件语句【例2】如图,已知底角45的等腰梯形ABCD,底边BC长为7cm,腰长为22cm,当一条垂直于底边BC(垂足为F)的直线l从B点开始由左至右移动(与梯形ABCD有公共点)时,直线l把梯形分成两部分,令BF=x(0x7),左边部分的面积为y,求y与x之间的函数关系式,并画出程序框图,写出程序.,分析因为面积y随着x的增大是求不同图形的面积和,所以要用分段函数求y与x之间的函数关系式,然后在此基础上画出程序框图,写出程序.,解过点A、D分别作AGBC,DHBC,垂足分别是G、H.四边形ABCD是等腰梯形,底角是45,AB=22cm,BG=AG=DH=HC=2cm.又BC=7cm,AD=GH=3cm,所以,程序一:INPUT“x=”;xIFx=0ANDx=2THENy=0.5*x*xELSEIFx=0ANDx2ANDx5ANDx=7THENy=-0.5*(x-7)2+10ENDIFPRINTyEND,学后反思条件语句一般用在需要对条件进行判断的算法设计中.在求分段函数的函数值时,由于自变量x的值不同,其函数值的求法也不同,故先对x的值进行判断,然后根据其具体值选择不同的计算方法,故用条件语句进行算法设计.,题型三循环语句【例3】高一(1)班共60人,市青少年保护中心来抽样检测同学们的身体素质,要求学号能被3整除的同学参加体检,已知学生的学号从1到60号.请画出输出参加同学学号的程序框图,并编写程序,解析:程序框图如图一所示:,程序如下:S=0WHILES60S=S+3PRINTSWENDEND,结束,S=S+3,否,是,开始,S60?,S=0,输入S的值,解析:程序框图如图二所示:,程序如下:S=0DOS=S+3PRINTSLOOPUNTILS60END,学后反思在解决实际问题时,要正确理解其中的算法思想,根据题目写出其关系式,再写出相应的算法.在循环语句中,也可以嵌套条件语句,甚至是循环语句,此时需要注意嵌套这些语句需要保证语句的完整性,否则就会造成程序无法执行.循环语句必须按当型结构和直到型结构来完成,否则没有对应的语句可用。,思考:每种程序框图都能写出程序语句吗?为什么?,题型四算法语句的实际应用【例4】(用分期付款的方式购买价格为1150元的冰箱,如果购买时先付150元,以后每月付50元,再加上欠款的利息.若一个月后付第一个月的分期付款,月利率为1%,那么购买冰箱的钱全部付清后,实际共付出款额多少元?画出程序框图,写出程序.,解析:购买时付款150元,余款1000元分20次付清,每次的付款数组成一个数列,=50+(1150-150)1%=60,=50+(1150-150-50)1%=59.5,=50+1150-150-(n-1)501%=60-(n-1)(n=1,2,3,20),=60-19=50.5.总和S=150+60+59.5+50.5.,程序框图:,程序如下:a=150m=60S=0S=S+ai=1WHILEi=20S=S+mm=m-0.5i=i+1WENDPRINTSEND,学后反思:在解决实际问题时,要正确地理解其中的算法思想,根据题目写出其关系式,再写出相应的算法步骤,画出程序框图,最后准确地编写出程序,要注意总结算法、程序框图、程序三者之间的关系.,其他作法展示:,题型五算法案例应用【例5】1.用辗转相除法求567和405的最大公约数。用更相减损术求2008和4059的最大公约数。,程序框图:Reada,k,nI=1b=0whilei=nt=geta(i)b=b+t*k(i-1)i=i+1endwhileprintb,【例5】.2.用程序把进制数(共有位)转换为十进制数把一个十进制数化为k进制数,BeginReada,ki=1Dor=mod(a,k)a(i)=ra=(a-r)/ki=i+1LoopUntila=0m=i-1Forj=mto1Step-1Printa(j);NextjPrin“(”;k;”)”End,【例5】3.求n次多项式当(是任意实数)的值,解析:把n次多项式改写如下形式:,1.下面程序运行后输出的结果_.x=5y=-20IFx0THENx=y-3ELSEy=y+3ENDIFPRINTx-y,y-xEND,解析:x=5,不满足条件x0,则执行y=y+3,即y=-17,故x-y=5-(-17)=22,y-x=-17-5=-22.,答案:22,-22,课堂检测,2.把十进制数104化为三进制数_把八进制数2376(8)化为五进制数_.,课后作业课本第50页A组题习4,5.,课堂小结1、本节课你获得了些什么知识?学到了哪些数学思想和方法?,再见,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!