资源预览内容
第1页 / 共51页
第2页 / 共51页
第3页 / 共51页
第4页 / 共51页
第5页 / 共51页
第6页 / 共51页
第7页 / 共51页
第8页 / 共51页
第9页 / 共51页
第10页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第十三单元 算法初步,第一节 算法与程序框图,基础梳理,1. 算法通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是确定的和能执行的,而且能够在有限步之内完成. 2. 程序框图 (1)定义:程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形. (2)说明:在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.,3. 三种基本逻辑结构 条件结构循环结构定义由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构算法的流程根据条件是否成立有不同的流向,条件结构就是处理这种过程的结构从某处开始,按照一定的条件反复执行某些步骤的情况,反复执行的步骤称为循环体程序框图,典例分析,题型一 算法的设计,【例1】已知点 ,求A、B两点之间的距离,写出算法.,分析 已知两点坐标,可运用两点间的距离公式,先计算两个坐标的差,再利用公式.,解 算法如下: 第一步,输入两点坐标 第二步,计算两个坐标差,并赋值给另外两个变量,即: 第三步,计算 第四步,输出两点间的距离d.,学后反思 给出一个问题,设计算法时应注意: (1)认真分析问题,联系解决此问题的一般数学方法; (2)综合考虑此类问题中可能涉及的各种情况; (3)将解决问题的过程划分为若干个步骤; (4)借助变量或参数用数学表达式表述算法; (5)用简练的语言将各个步骤表示出来.,举一反三,1. 写出求解方程a +x+c=0的一个算法.,解析 第一步,判断a是否等于零.若a=0,则解x=-c;若a0,则执行第二步. 第二步,判断判别式=1-4ac是否小于零.若0,则原方程无实数解;若 0,则执行第三步. 第三步,计算 第四步,输出方程的实数解.,题型二 算法的顺序结构,【例2】已知点 和直线 :Ax+By+C=0(A0),求点 到直线 的距离d,写出其算法并画出程序框图.,分析 由公式 可知,欲求点到直线的距离,要先 求 及 ,代入 ,用顺序结构解决.,解 算法如下: 第一步,输入点的坐标 及直线方程的系数A、B、C. 第二步,计算 第三步,计算 第四步,计算 第五步,输出d.,程序框图:,学后反思 通过本题体会算法的思想,利用算法和程序框图即流程图,能够规范思维,可以锻炼书面表达的能力.先求什么,后求什么,无论是用算法表达,还是用程序框图表达,都是一目了然,非常清晰的,所以把这种方法用于我们平时的做题会使解题的思路简练、易懂、有逻辑性.,举一反三,2. 写出求过两点 (2,0), (0,3)的直线方程的一个算法,并画出程序框图.,解析 算法如下: 第一步,a=2,b=3. 第二步,输出结果 程序框图:,题型三 算法的条件结构,-2,x0, 【例3】(2009青岛模拟)已知函数y= 0,x=0, 2,x0, 写出求该函数函数值的算法及程序框图.,分析 该函数是分段函数,当x取不同范围内的值时,函数表达式不同,因此当给出一个自变量x的值时,用条件结构解决.必须先判断x的范围,然后确定利用哪一段解析式求函数值.,解 算法如下: 第一步,输入x. 第二步,如果x0,则y=-2;如果x=0,则y=0;如果x0,则y=2. 第三步,输出函数值y. 相应的程序框图如图所示.,学后反思 求分段函数值的算法应用到条件结构,因此在程序框图的画法中需要引入判断框,要根据题目的要求确定引入判断框的个数,而判断框内的条件不同,对应的下一图框中的内容或操作也相应的进行变化.本例中,若把判断框内“x0?”改为“x0?”看有什么变化.,举一反三,3. 儿童乘坐火车时,若身高不超过1.1 m,则无需购票;若身高超过1.1 m,但不超过1.4 m,可买半票;若超过1.4 m,应买全票.请以此设计一个算法并画出相应的程序框图.,解析 算法如下: 第一步,测量儿童身高h. 第二步,如果h1.1,那么免费乘车;否则,如果h1.4,那么买半票乘车;否则买全票. 程序框图如图所示.,题型四 算法的循环结构,【例4】(12分)某企业2008年的生产总值为200万元,技术创新后预计以后每年的生产总值将比上一年增加5%,问:最早哪一年的生产总值将超过300万元?试写出解决该问题的一个算法,并画出相应的程序框图.,分析 设第n年后该企业生产总值为a,则 ,此时为 (2 008+n)年.,解 算法设计如下: 第一步,n=0,a=200,r=0.05. 第二步,T=ar(计算年增量). 第三步,a=a+T(计算年产量).3 第四步,如果a300,那么n=n+1,重复执行第二步; 如果a300,则执行第五步. 第五步,N=2 008+n. 第六步,输出N6,程序框图: 方法一: 方法二: 12 12,学后反思 注意直到型循环结构和当型循环结构的本质区别,直到型循环结构先执行a=a+T,再判断a300,若不满足,则执行循环体,直到满足才输出N;而当型循环结构先判断a300,若成立,则执行循环体,直到a300不成立才结束循环,输出N.,举一反三,4. 阅读如图所示程序框图,若输入的n是100,则输出的变量S和T的值依次是() A. 2 500 2 500 B. 2 550 2 550 C. 2 500 2 550 D. 2 550 2 500,解析 方法一:由程序框图,知ST,排除选项A、B、C. 方法二:S=100+98+96+2= =2550 T=99+97+3+1= =2 500. 答案 D,易错警示,【例1】设计一个程序框图,求 的值.,错解 如图1,图2.,错解分析 图1的错误在于i=i+1,步长为1,计算的是 图2的错误在于先执行i=i+2而后执行 ,计算的是,正解,【例2】设计一个程序框图,求12330的值.,错解,错解分析 第一处错误在于第二个处理框内应是P=1而 不是P=0,第二处错误是判断框中应是“i29”而不是 “i30”.,正解,考点演练,10. (2010广州模拟)按右图所示的程序框图运算. 若输入x=8,则输出k=; 若输出k=2,则输入x的取值范围是.,解析 由循环条件易得当k=3时, x=271+1=143115,k=3+1=4.故输出k=4. 由于输出k=2,则应满足 2x+1115, 2(2x+1)+1115,解得28x57.,答案 4 (28,57,11. 用 代表第i个学生的学号, 代表第i个学生的成绩 (i=1,2,3,50).设计程序框图打印出不低于80分的全部学生的学号和 成绩.,解析,12. 在国家法定工作日内,每周满工作量的时间为40小时,若每周工作时间不超过40小时,则每小时工资8元;如因需要加班,超过40小时的每小时工资为10元.某公务员在一周内工作时间为x小时,但他须交纳个人住房公积金和失业保险(这两项费用为每周总收入的10%).试分析算法步骤并画出其净得工资y元的算法的程序框图.(注:满工作量外的工作时间为加班),解析 算法如下: 第一步,输入工作时间x小时.,第二步,若x40,则y=8x(1-10%);否则, y=408(1-10%)+(x-40)10(1-10%). 第三步,输出y值. 程序框图:,第二节 基本算法语句,基础梳理,1. 三种语句的一般格式和功能,2. 条件语句 (1)定义:算法中的条件结构由条件语句来表达. (2)条件语句的格式及框图,IFTHENELSE格式,IFTHEN格式,3. 循环语句 (1)算法中的循环结构是由循环语句来实现的. (2)循环语句的格式及框图.,UNTIL语句 WHILE语句,(3)WHILE语句与UNTIL语句之间的区别与联系,典例分析,题型一 输入、输出和赋值语句,【例1】编写一个程序,求用长度为 的细铁丝分别围成一个正方形和一个圆时,所围成的正方形和圆的面积,要求输入 的值,能输出正方形和圆的面积.,分析 设围成的正方形的边长为a,依题意得4a= ,a= ,所以正方形的 面积为 ;同理,若设围成的圆的半径为R,则 所以圆的面积为 因此可用顺序结构实现.,学后反思 编写程序的关键是搞清问题的算法,特别是算法的结构,本题用到平面几何中的求圆和正方形的面积的计算公式,在此基础上确定用顺序结构实现算法.,举一反三,1. (2009临沂模拟)下列赋值语句中正确的有() 3=B;x-y=2;A=B=-2;T=T+T. A. 0个 B. 1个 C. 2个 D. 3个,解析 错,赋值语句中“=”左右两边不能互换;错,赋值语句不能给一个表达式赋值;错,赋值语句只能给一个变量赋值. 答案 B,题型二 条件语句,2 -1, x0, 【例2】已知函数y= 2x+1, x=0, -2 +4x, x0, 试输入x的值计算y的值.画出程序框图,并写出程序.,分析 因为x在不同区间取值时对应的函数关系不一样,需判断x的符号,故应用条件语句完成.注意条件语句的不同格式.,解 程序框图如图所示.,程序如下: INPUT “x=”;x IF x0 THEN y=2*x2-1 ELSE IF x=0 THEN y=2*x+1 ELSE y=-2*x2+4*x END IF END IF PRINT y END,学后反思 条件语句一般用在需要对条件进行判断的算法设计中.在求分段函数的函数值时,由于自变量x的值不同,其函数值的求法也不同,故先对x的值进行判断,然后根据其具体值选择不同的计算方法,故用条件语句进行算法设计.,举一反三,2. 到银行办理个人异地汇款(不超过100万)时,银行要收取一定的手续费,汇款额不超过100元,收取1元手续费;超过100元但不超过5 000元,按汇款额的1%收取;超过5 000元,一律收取50元手续费.试用条件语句描述汇款额为x元时,银行收取手续费为y元的过程,画出程序框图并写出程序.,解析 依题意,手续费y与汇款额x之间的关系式为(单位:元) 1, 05 000. 程序框图:,程序: INPUT “汇款金额为”;x IF x0 AND x=100 THEN y=1 ELSE IF x=5000 THEN y=0.01*x ELSE y=50 END IF END IF PRINT “手续费为”;y END,题型三 循环语句,【例3】高一(2)班共有54名同学参加数学竞赛,现已有这54名同学的竞赛分数,请设计一个将竞赛成绩优秀同学的平均分输出的算法(规定90分以上为优秀),画出程序框图,并设计程序.,分析 由于涉及到54名同学的分数,因此可以使用循环结构控制输入分数,用条件结构来判断分数是否高于90分,同时统计高于90分的成绩的总和及人数,从而求平均分.但要准确设计判断框内的内容以免出错.,解 程序框图: 6,程序: S=0 M=0 i=1 WHILE i90 THEN S=S+x M=M+1 END IF i=i+1 WEND P=S/M PRINT P END .12,学后反思 在解决实际问题时,要正确理解其中的算法思想,根据题目写出其关系式,再写出相应的算法.在循环语句中,可以嵌套条件语句,甚至是循环语句,此时需要注意嵌套这些语句需要保证语句的完整性,否则就会造成程序无法执行.,举一反三,3. 高一(1)班共60人,市青少年保护中心来抽样检测同学们的身体素质,要求学号能被3整除的同学参加体检,已知学生的学号从1到60号,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号