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

上传人:鲁** 文档编号:568431070 上传时间:2024-07-24 格式:PPT 页数:44 大小:1,006.50KB
返回 下载 相关 举报
算法与程序框图题专与小结.ppt_第1页
第1页 / 共44页
算法与程序框图题专与小结.ppt_第2页
第2页 / 共44页
算法与程序框图题专与小结.ppt_第3页
第3页 / 共44页
算法与程序框图题专与小结.ppt_第4页
第4页 / 共44页
算法与程序框图题专与小结.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《算法与程序框图题专与小结.ppt》由会员分享,可在线阅读,更多相关《算法与程序框图题专与小结.ppt(44页珍藏版)》请在金锄头文库上搜索。

1、汾阳中学数学组Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 一、算法与程序框图专题一、算法与程序框图专题知识梳理知识梳理1. 算法通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是确定的和能执行的,而且能够在有限步之内完成.2. 程序框图(1)定义:程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.(2)说明:在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有

2、方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.3. 三种基本逻辑结构条件结构循环结构定义由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构算法的流程根据条件是否成立有不同的流向,条件结构就是处理这种过程的结构从某处开始,按照一定的条件反复执行某些步骤的情况,反复执行的步骤称为循环体程序框图 名称 顺序结构 条件结构 循环结构内容定义由若干个依次

3、执行的步骤组成,这是任何一个算法都离不开的基本结构算法的流程根据条件是否成立有不同的流向,条件结构就是处理这种过程的结构从某处开始,按照一定的条件反复执行某些步骤的情况,反复执行的步骤成为循环体程序框图Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.思维导图思维导图Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.

4、0.Copyright 2004-2011 Aspose Pty Ltd.典例分析典例分析题型一题型一 算法的设计算法的设计【例1】已知点 和直线l:Ax+By+C=0(A0),求点 到直线l的距离d,写出其算法并画出程序框图.分析 由公式 可知,欲求点到直线的距离,要先求 及 ,代入 ,用顺序结构解决.解 算法如下:第一步,输入点P的坐标x0,y0及直线方程的系数A、B、C.第二步,计算 第三步,计算 第四步,计算 第五步,输出d.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Co

5、pyright 2004-2011 Aspose Pty Ltd.程序框图:学后反思 给出一个问题,设计算法时应注意:(1)认真分析问题,联系解决此问题的一般数学方法;(2)综合考虑此类问题中可能涉及的各种情况;(3)将解决问题的过程划分为若干个步骤;(4)借助变量或参数用数学表达式表述算法;(5)用简练的语言将各个步骤表示出来.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.练习:练习:1. 写出求解方程a +x+

6、c=0的一个算法.解析解析 第一步,判断a是否等于零.若a=0,则解x=-c;若a0,则执行第二步.第二步,判断判别式=1-4ac是否小于零.若300,则执行第五步.第五步,N=2 008+n.第六步,输出N6Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.题型二题型二 算法的顺序结构算法的顺序结构【例2】如图,设计算法求底面边长为4,侧棱长为5的正四棱锥的侧面积及体积,并画出相应的程序框图.分析 方法一:先求体积V

7、= Sh,S= ,高h= ,R= a,斜高h= ,从而求得 =4 ah=2ah.方法二:推导出利用a和l表达的侧面积及体积公式,然后代入求解.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.解 由方法一可得算法一:第一步,a=4,l=5.第二步,R= a.第三步,h= ,S= .第四步,V= Sh.第五步,输出V.第六步,h= .第七步, =2ah.第八步,输出 .由方法二得算法二:第一步,a=4,l=5.第二步,S

8、侧=2a .第三步,V= 第四步,输出S侧、V.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.算法一程序框图如图1,算法二程序框图如图2. 图1 图2学后反思 通过本题体会算法的思想,比较两种算法的优点.利用算法和程序框图,能够规范思维,可以锻炼书面表达的能力,先求什么,后求什么,无论是用算法表达,还是用程序框图表达,都是一目了然,非常清晰的,所以把这种方法用于我们平时的做题会使解题的思路简练、易懂、有逻辑性.Ev

9、aluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.【例3】“特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式,某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算:f= 0.53 (50), 500.53+(-50)0.85 (50).其中f(单位:元)为托运费,为托运物品的重量(单位:kg).试设计计算费用f的算法,并画出程序框图.分析 这是一个实际问题,求费用f的计算公式随物品的重量的变化而不同

10、,因此要对物品重量进行判断,比较与50的大小,然后由相应关系式求出费用f并输出.题型三题型三 算法的条件结构算法的条件结构Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.解 算法如下:第一步,输入.第二步,如果50,那么f=0.53;否则,f=500.53+(-50)0.85.第三步,输出f.程序框图:学后反思 利用条件结构解决算法问题时,要引入判断框,要根据题目的要求引入一个或多个判断框,而判断框内的条件不同,对应

11、的下一图框中的内容和操作要相应地进行变化,故要逐个分析判断框内的条件.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.开始输入一个正整数n输入S的值结束S=0i=1S=S+1/ii=i+1inYN步骤A步骤B思考:1这个陈旭框图对吗? 题型四题型四 算法的循环结构算法的循环结构【例4】对任意的正整数n,设计一个算法求 的值,并画出程序框图2将步骤A和步骤B交换位置,结果会怎样?能达到预期结果吗?为什么?要达到预期结果

12、,还需要做怎样的修改?Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.开始输入一个正整数n输入S的值结束S=0i=1S=S+1/ii=i+1in?否否是是结束S=S+1/ii=i+1输出Sum否是开始输入一个正整数nin?S=0, i=1能否说说这个流程图的异同点?Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.

13、0.Copyright 2004-2011 Aspose Pty Ltd.S=S+1/ii = i + 1解决方法就是加上一个判断,判断是否已经加到了n,如果加到了则退出,否则继续加。直到型结构当型结构S=S+1/ii = i + 1是否S=S+1/ii = i + 1否是请填上判断的条件。in?in?Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.学后反思: 在程序框图中“是”“否”的位置不会影响程序的进行。循环体

14、中语句的交换则会影响判断条件的改变。直到型循环结构和当型循环结构的本质区别,直到型循环结构先执行循环体,再判断条件,若不满足,则执行循环体,直到满足才输出结果;而当型循环结构先判断条件,若成立,则执行循环体,直到条件不成立才结束循环,输出结果.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.练习3设计一个程序框图,求 的值.错解错解 如图1,图2.Evaluation only.Created with Aspose

15、.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.错解分析错解分析 图1的错误在于i=i+1,步长为1,计算的是图2的错误在于先执行i=i+2而后执行 ,计算的是正解正解Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.4已知函数 请设计一个程序框图求函数值y.错解 程序框图如图1,图2. 图1 图2Evalua

16、tion only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.错解分析 图1表示的函数为故错误.图2的错误在于被判断的条件x=0放在菱形框外,应放在菱形框里,同时菱形判断框只能有一个进口和两个出口. 正解 程序框图如图.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd

17、.课堂检测:课堂检测:2 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.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.课后作业课后作业课本第50页A组题习1,3课堂小结课堂小结1、本节课你获得了些什么知识?学到了哪些数学思想和方法?Evaluati

18、on only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 二算法与程序框图小结二算法与程序框图小结1. 三种语句的一般格式和功能语句一般格式功能输入语句输出语句赋值语句INPUT“提示内容”;变量 输入信息 PRINT“提示内容”;表达式 输出结果 变量=表达式 将表达式的值赋给变量 2. 条件语句(1)定义:算法中的 由条件语句来表达.(2)条件语句的格式及框图 IFTHEN格式条件结构知识梳理知识梳理Evaluation only.Cr

19、eated with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.IFTHENELSE格式3. 循环语句(1)算法中的循环结构是由循环语句来实现的.(2)循环语句的格式及框图. UNTIL语句Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. WHILE语句 (3)WHILE语句和UNTIL语句

20、之间的区别与联系WHILE语句 UNTIL语句 区别执行循环体前测试条件,当条件为真时执行循环体,当条件为假时终止循环,可能不执行循环体 执行循环体后测试条件,当条件为假时执行循环体,当条件为真时终止循环,最少执行一次循环体 联系可以相互转换,LOOP UNTIL(条件)相当于WHILE(反条件)Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.知识体系知识体系Evaluation only.Created with

21、Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 题型一题型一 输入、输出和赋值语句输入、输出和赋值语句【例1】某企业为职工计算工资时按时间计,每月的总工资=每月劳动时间每小时工资,从总工资中扣除15%作为医疗保险金,再以总工资的5作为奖金,要求输入劳动时间和每小时工资数,输出每位职工应发工资.设计算法并画出程序框图,写出程序.分析(1)设出每小时工资,每月劳动时间,每月总工资,先求出每月总工资,再求应发工资.(2)在程序编写中赋值语句是其中关键的基本语句.解 算法如下:

22、第一步,输入月劳动时间t和每小时工资a. 第二步,求每月总工资y=每月劳动时间t每小时工资a. 第三步,求应发工资z=每月总工资y(1-15%)+y5. 第四步,输出应发工资z.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 程序框图: 学后反思 编写程序的关键是先搞清问题的算法,特别是算法的结构,然后确定采用哪一种算法语句.本题实质是求一个函数对应于自变量的函数值,故可用顺序结构实现算法.程序: INPUT t,

23、a y=a*t z=0.855*y PRINT z ENDEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.练习练习1.下列赋值语句中正确的有( )3=B;x-y=2;A=B=-2;T=T+T.A. 0个 B. 1个 C. 2个 D. 3个解析:错,赋值语句中变量不能给常数赋值;错,赋值语句不能给一个表达式赋值;错,赋值语句只能给一个变量赋值;正确.答案:BEvaluation only.Created with As

24、pose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.题型二题型二 条件语句条件语句【例2】如图,已知底角45的等腰梯形ABCD,底边BC长为7 cm,腰长为22 cm,当一条垂直于底边BC(垂足为F)的直线l从B点开始由左至右移动(与梯形ABCD有公共点)时,直线l把梯形分成两部分,令BF=x(0x7),左边部分的面积为y,求y与x之间的函数关系式,并画出程序框图,写出程序.分析 因为面积y随着x的增大是求不同图形的面积和,所以要用分段函数求y与x之间的函数关系式,然后在此基础上画

25、出程序框图,写出程序.解 过点A、D分别作AGBC,DHBC,垂足分别是G、H.四边形ABCD是等腰梯形,底角是45,AB=22 cm,BG=AG=DH=HC=2 cm.又BC=7 cm,AD=GH=3 cm, 所以Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.程序一:INPUT “x=”;xIF x=0 AND x=2 THENy=0.5*x*x ELSE IF x=0 AND x2 AND x5 AND x=7

26、 THEN y=-0.5*(x-7)2+10END IFPRINT yEND学后反思 条件语句一般用在需要对条件进行判断的算法设计中.在求分段函数的函数值时,由于自变量x的值不同,其函数值的求法也不同,故先对x的值进行判断,然后根据其具体值选择不同的计算方法,故用条件语句进行算法设计.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.题型三题型三 循环语句循环语句【例3】高一(1)班共60人,市青少年保护中心来抽样检测

27、同学们的身体素质,要求学号能被3整除的同学参加体检,已知学生的学号从1到60号.请画出输出参加同学学号的程序框图,并编写程序 解析:程序框图如图一所示: 程序如下: S=0 WHILE S60 S=S+3 PRINT S WEND END结束S=S+3否是开始S60?S=0输入S的值Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.解析:程序框图如图二所示: 程序如下: S=0 DO S=S+3 PRINT S LOO

28、P UNTIL S60 END开始结束S=0S=S+3S60?否否是是输入S的值Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.学后反思 在解决实际问题时,要正确理解其中的算法思想,根据题目写出其关系式,再写出相应的算法.在循环语句中,也可以嵌套条件语句,甚至是循环语句,此时需要注意嵌套这些语句需要保证语句的完整性,否则就会造成程序无法执行.循环语句必须按当型结构和直到型结构来完成,否则没有对应的语句可用。思考思考:

29、每种程序框图都能写出程序语句吗?为什么?Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.题型四题型四 算法语句的实际应用算法语句的实际应用【例4】(用分期付款的方式购买价格为1 150元的冰箱,如果购买时先付150元,以后每月付50元,再加上欠款的利息.若一个月后付第一个月的分期付款,月利率为1%,那么购买冰箱的钱全部付清后,实际共付出款额多少元?画出程序框图,写出程序.解析:购买时付款150元,余款1 000元分2

30、0次付清,每次的付款数组成一个数列 , =50+(1 150-150)1%=60, =50+(1 150-150-50)1%=59.5, =50+1 150-150-(n-1)501%=60- (n-1)(n=1,2,3,20), =60- 19=50.5.总和S=150+60+59.5+50.5.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 程序框图:程序如下:a=150m=60S=0S=S+ai=1WHILE

31、 i=20 S=S+m m=m-0.5 i=i+1WENDPRINT SENDEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.学后反思:在解决实际问题时,要正确地理解其中的算法思想,根据题目写出其关系式,再写出相应的算法步骤,画出程序框图,最后准确地编写出程序,要注意总结算法、程序框图、程序三者之间的关系.其他作法展示:Evaluation only.Created with Aspose.Slides for .N

32、ET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.题型五题型五 算法案例应用算法案例应用【例5】1.用辗转相除法求567和405的最大公约数。 用更相减损术求2008和4059的最大公约数。程序框图:程序框图:Read a, k, nRead a, k, nI=1I=1b=0b=0while i=nwhile i=nt=get a(i)t=get a(i)b=b+t*k(i-1)b=b+t*k(i-1)i=i+1i=i+1end whileend whileprint bprint b Evaluation onl

33、y.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.【例5】.2.用程序把进制数(共有位)转换为十进制数 把一个十进制数化为k进制数 BeginRead a , ki=1Do r=mod(a,k) a(i)=r a=(a-r)/k i=i+1Loop Until a=0m=i-1For j=m to 1 Step -1Print a(j);Next jPrin “(”;k;”)”EndEvaluation only.Created with Asp

34、ose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.【例5】3.求n次多项式 当 ( 是任意实数)的值解析:把n次多项式 改写如下形式:Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.1.下面程序运行后输出的结果_ .x=5y=-20IF x0 THEN x=y-3ELSE y=y+3END IFPRINT

35、 x-y,y-xEND解析:x=5,不满足条件x0,则执行y=y+3,即y=-17, 故x-y=5-(-17)=22,y-x=-17-5=-22.答案:22,-22课堂检测课堂检测Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2.把十进制数104化为三进制数_ 把八进制数2376(8)化为五进制数_.课后作业课后作业课本第50页A组题习4,5.课堂小结课堂小结1、本节课你获得了些什么知识?学到了哪些数学思想和方法?Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号