您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 算法与程序框图专题与小结
一、算法与程序框图专题知识梳理1.算法通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是确定的和能执行的,而且能够在有限步之内完成.2.程序框图(1)定义:程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.(2)说明:在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.3.三种基本逻辑结构条件结构循环结构定义由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构算法的流程根据条件是否成立有不同的流向,条件结构就是处理这种过程的结构从某处开始,按照一定的条件反复执行某些步骤的情况,反复执行的步骤称为循环体程序框图名称顺序结构条件结构循环结构内容定义由若干个依次执行的步骤组成,这是任何一个算法都离不开的基本结构算法的流程根据条件是否成立有不同的流向,条件结构就是处理这种过程的结构从某处开始,按照一定的条件反复执行某些步骤的情况,反复执行的步骤成为循环体程序框图思维导图典例分析题型一算法的设计【例1】已知点和直线l:Ax+By+C=0(A≠0),求点到直线l的距离d,写出其算法并画出程序框图.00,Pxy00,Pxy分析由公式可知,欲求点到直线的距离,要先求及,代入,用顺序结构解决.0022AxByCdAB100ZAxByC222ZAB12ZdZ解算法如下:第一步,输入点P的坐标x0,y0及直线方程的系数A、B、C.第二步,计算第三步,计算第四步,计算第五步,输出d.100ZAxByC222ZAB12ZdZ程序框图:学后反思给出一个问题,设计算法时应注意:(1)认真分析问题,联系解决此问题的一般数学方法;(2)综合考虑此类问题中可能涉及的各种情况;(3)将解决问题的过程划分为若干个步骤;(4)借助变量或参数用数学表达式表述算法;(5)用简练的语言将各个步骤表示出来.练习:1.写出求解方程a+x+c=0的一个算法.2x解析第一步,判断a是否等于零.若a=0,则解x=-c;若a≠0,则执行第二步.第二步,判断判别式Δ=1-4ac是否小于零.若Δ0,则原方程无实数解;若Δ≥0,则执行第三步.第三步,计算第四步,输出方程的实数解.1211,22xxaa2.某企业2008年的生产总值为200万元,技术创新后预计以后每年的生产总值将比上一年增加5%,问:最早哪一年的生产总值将超过300万元?试写出解决该问题的一个算法,并画出相应的程序框图.分析设第n年后该企业生产总值为a,则,此时为(2008+n)年.20010.05na解算法设计如下:第一步,n=0,a=200,r=0.05.第二步,T=ar(计算年增量).第三步,a=a+T(计算年产量)…………………………….3′第四步,如果a≤300,那么n=n+1,重复执行第二步;如果a300,则执行第五步.第五步,N=2008+n.第六步,输出N……………………………………………6′题型二算法的顺序结构【例2】如图,设计算法求底面边长为4,侧棱长为5的正四棱锥的侧面积及体积,并画出相应的程序框图.分析方法一:先求体积V=Sh,S=,高h=,R=a,斜高h′=,从而求得=4×ah′=2ah′.方法二:推导出利用a和l表达的侧面积及体积公式,然后代入求解.132a22lR22224alS侧12解由方法一可得算法一:第一步,a=4,l=5.第二步,R=a.第三步,h=,S=.第四步,V=Sh.第五步,输出V.第六步,h′=.第七步,=2ah′.第八步,输出.由方法二得算法二:第一步,a=4,l=5.第二步,S侧=2a.第三步,V=第四步,输出S侧、V.2222lR2a13S侧S侧224al222132aal算法一程序框图如图1,算法二程序框图如图2.图1图2学后反思通过本题体会算法的思想,比较两种算法的优点.利用算法和程序框图,能够规范思维,可以锻炼书面表达的能力,先求什么,后求什么,无论是用算法表达,还是用程序框图表达,都是一目了然,非常清晰的,所以把这种方法用于我们平时的做题会使解题的思路简练、易懂、有逻辑性.【例3】“特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式,某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算:f=0.53ω(ω≤50),50×0.53+(ω-50)×0.85(ω50).其中f(单位:元)为托运费,ω为托运物品的重量(单位:kg).试设计计算费用f的算法,并画出程序框图.分析这是一个实际问题,求费用f的计算公式随物品的重量ω的变化而不同,因此要对物品重量ω进行判断,比较ω与50的大小,然后由相应关系式求出费用f并输出.题型三算法的条件结构解算法如下:第一步,输入ω.第二步,如果ω≤50,那么f=0.53ω;否则,f=50×0.53+(ω-50)×0.85.第三步,输出f.程序框图:学后反思利用条件结构解决算法问题时,要引入判断框,要根据题目的要求引入一个或多个判断框,而判断框内的条件不同,对应的下一图框中的内容和操作要相应地进行变化,故要逐个分析判断框内的条件.ns131211开始输入一个正整数n输入S的值结束S=0i=1S=S+1/ii=i+1i≤nYN步骤A步骤B思考:1这个陈旭框图对吗?题型四算法的循环结构【例4】对任意的正整数n,设计一个算法求的值,并画出程序框图2将步骤A和步骤B交换位置,结果会怎样?能达到预期结果吗?为什么?要达到预期结果,还需要做怎样的修改?开始输入一个正整数n输入S的值结束S=0i=1S=S+1/ii=i+1in?否是结束S=S+1/ii=i+1输出Sum否是开始输入一个正整数ni≤n?S=0,i=1能否说说这个流程图的异同点?S=S+1/ii=i+1解决方法就是加上一个判断,判断是否已经加到了n,如果加到了则退出,否则继续加。直到型结构当型结构S=S+1/ii=i+1是否S=S+1/ii=i+1否是请填上判断的条件。i≤n?in?学后反思:在程序框图中“是”“否”的位置不会影响程序的进行。循环体中语句的交换则会影响判断条件的改变。直到型循环结构和当型循环结构的本质区别,直到型循环结构先执行循环体,再判断条件,若不满足,则执行循环体,直到满足才输出结果;而当型循环结构先判断条件,若成立,则执行循环体,直到条件不成立才结束循环,输出结果.练习3.设计一个程序框图,求的值.2222135...99S错解如图1,图2.错解分析图1的错误在于i=i+1,步长为1,计算的是图2的错误在于先执行i=i+2而后执行,计算的是2222135...99S2SSi2222357...99S正解4.已知函数请设计一个程序框图求函数值y.221(0),0(0),1(0).xxyxxx错解程序框图如图1,图2.图1图2错解分析图1表示的函数为故错误.图2的错误在于被判断的条件x=0放在菱形框外,应放在菱形框里,同时菱形判断框只能有一个进口和两个出口.221,0,1,0,xxyxx正解程序框图如图.课堂检测:2如图是一个算法的流程图,最后输出的W=.答案:22解析:第一次:T=1,S=1-0=1;第二次:T=3,S=3-1=8;第三次:T=5,S=5-8=17,此时满足S≥10,所以W=S+T=17+5=22.222课后作业课本第50页A组题习1,3课堂小结1、本节课你获得了些什么知识?学到了哪些数学思想和方法?二算法与程序框图小结1.三种语句的一般格式和功能语句一般格式功能输入语句输出语句赋值语句INPUT“提示内容”;变量输入信息PRINT“提示内容”;表达式输出结果变量=表达式将表达式的值赋给变量2.条件语句(1)定义:算法中的由条件语句来表达.(2)条件语句的格式及框图①IF—THEN格式条件结构知识梳理②IF—THEN—ELSE格式3.循环语句(1)算法中的循环结构是由循环语句来实现的.(2)循环语句的格式及框图.①UNTIL语句②WHILE语句(3)WHILE语句和UNTIL语句之间的区别与联系WHILE语句UNTIL语句区别执行循环体前测试条件,当条件为真时执行循环体,当条件为假时终止循环,可能不执行循环体执行循环体后测试条件,当条件为假时执行循环体,当条件为真时终止循环,最少执行一次循环体联系可以相互转换,LOOPUNTIL(条件)相当于WHILE(反条件)知识体系题型一输入、输出和赋值语句【例1】某企业为职工计算工资时按时间计,每月的总工资=每月劳动时间×每小时工资,从总工资中扣除15%作为医疗保险金,再以总工资的5‰作为奖金,要求输入劳动时间和每小时工资数,输出每位职工应发工资.设计算法并画出程序框图,写出程序.分析(1)设出每小时工资,每月劳动时间,每月总工资,先求出每月总工资,再求应发工资.(2)在程序编写中赋值语句是其中关键的基本语句.解算法如下:第一步,输入月劳动时间t和每小时工资a.第二步,求每月总工资y=每月劳动时间t×每小时工资a.第三步,求应发工资z=每月总工资y×(1-15%)+y×5‰.第四步,输出应发工资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(0≤x≤7),左边部分的面积为y,求y与x之间的函数关系式,并画出程序框图,写出程序.分析因为面积y随着x的增大是求不同图形的面积和,所以要用分段函数求y与x之间的函数关系式,然后在此基础上画出程序框图,写出程序.解过点A、D分别作AG⊥BC,DH⊥BC,垂足分别是G、H.∵四边形ABCD是等腰梯形,底角是45,AB=22cm,∴BG=AG=DH=HC=2cm.又BC=7cm,∴AD=GH=3cm,所以221,02,222,25,1(7)10,57.2xxyxxxx程序一:INPUT“x=”;xIFx=0ANDx=2THENy=0.5*x*xELSEIFx=5THENy=2*x-2ELSEy=-0.5*(x-7)∧2+10ENDIFENDIFPRINTyEND程序框图:程序二:INPUT“x=”;xIFx=0ANDx=2THENy=0.5*x*xENDIFIFx2ANDx=5THENy=2*x-2ENDIFIFx5ANDx=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+3PRINTSLOOPUNTILS
本文标题:算法与程序框图专题与小结
链接地址:https://www.777doc.com/doc-5605255 .html