一轮复习 13 算法与程序框图课件_第1页
一轮复习 13 算法与程序框图课件_第2页
一轮复习 13 算法与程序框图课件_第3页
一轮复习 13 算法与程序框图课件_第4页
一轮复习 13 算法与程序框图课件_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

算法初步知识体系一轮复习13算法与程序框图第一节算法与流程图基础梳理1.一般而言,对一类问题的

的、

的求解方法称为算法.2.流程图是由一些

组成的,其中图框表示各种操作的

,图框中的文字和符号表示操作的

,流程线表示操作的

.3.顺序结构:依次进行多个处理的结构.其结构形式为:机械统一图框流程线类型类型先后次序一轮复习13算法与程序框图4.选择结构:先根据条件作出判断,再决定执行哪一种操作的结构.其结构形式为:5.循环结构:需要重复执行同一操作的结构.6.如图是一种常见的循环结构:先判断所给条件p是否成立,若p成立,则执行A,再判断条件p是否成立;若p仍成立,则又执行A,如此反复,直到某一次条件p不成立时为止.这样的循环结构称为当型循环.一轮复习13算法与程序框图7.直到型循环:先执行A,再判断所给条件p是否成立,若p不成立,则再执行A,如此反复,直到p成立,该循环过程结束.典例分析题型一算法的设计【例1】已知点P(x0,y0)和直线l:Ax+By+C=0(A≠0),求点P(x0,y0)到直线l的距离d,写出其算法并画出流程图.一轮复习13算法与程序框图分析由公式可知,欲求点到直线的距离,要先求Z1=Ax0+By0+C及Z2=A2+B2,代入用顺序结构解决.解算法如下:S1输入点的坐标x0,y0及直线方程的系数A、B、C;S2Z1←Ax0+By0+C;S3Z2←A2+B2;S4d←;S5输出d.一轮复习13算法与程序框图学后反思给出一个问题,设计算法时应注意:(1)认真分析问题,联系解决此问题的一般数学方法;(2)综合考虑此问题中可能涉及的各种情况;(3)借助有关变量或参数对算法加以表述;(4)将解决问题的过程划分为若干个步骤;(5)用简练的语言将各个步骤表示出来.流程图:一轮复习13算法与程序框图1.写出求解方程ax2+x+c=0的一个算法.举一反三解析:S1判断a是否等于零.若a=0,则解得x←-c,输出x;若a≠0,则转S2;S2判断判别式Δ=1-4ac是否小于零.若Δ<0,那么输出“方程无实数根”;若Δ≥0,则转S3;S3计算;S4输出x1,x2.题型二算法的顺序结构【例2】(创新题)已知函数f(x)=,实a1=f(1),an+1=f(an)(n∈N*),试写出一个求a4的算法,并画出流程图.一轮复习13算法与程序框图分析本题是一道求函数值的题目,显然a1=f(1)=,可利用an+1=f(an)(n∈N*)逐个求a2,a3,a4.解算法如下:流程图如下:S1;S2;S3;S4;S5输出a4.一轮复习13算法与程序框图学后反思本题是按照函数中求函数值的方法展开的,这里用了a1、a2、a3、a4四个单元分别存放了四个值.因此利用算法和流程图,能够规范思维,可以锻炼书面表达的能力,对于一些不很复杂的算法,都可用顺序结构来实现.因为它在执行的过程中没有“岔路”,是依次执行的.2.写出过两点P1(2,0),P2(0,3)的直线方程的一个算法,并画出流程图.举一反三一轮复习13算法与程序框图解析:

算法如下:流程图如下:S1a←2,b←3;S2;S3输出结果.题型三算法的选择结构

-2,x>0,【例3】(2010·青岛模拟)函数y=0,x=0,写出求该函数函数值

2,x<0,的算法及流程图.一轮复习13算法与程序框图分析该函数是分段函数,当x取不同范围内的值时,函数表达式不同,因此当给出一个自变量x的值时,用条件结构解决须先判断x的范围,然后确定利用哪一段解析式求函数值.解算法如下:相应的流程图如图:S1输入x;S2如果x>0,则y←-2;

如果x=0,则y←0;如果x<0,则y←2;S3输出函数值y.学后反思求分段函数值的算法应用到选择结构,因此在流程图的画法中需要引入判断框,要根据题目的要求确定引入判断框的个数,而判断框内的条件不同,对应的下一图框中的内容或操作就相应地进行变化.一轮复习13算法与程序框图举一反三3.下图输出的是--------------.解析:

由判断框可知,当S>2004时输出n,又由S=n(n+1)2可知S为1+2+…+n的和,所以是求S恰好大于2004时n的值.答案:

63一轮复习13算法与程序框图题型四算法的循环结构【例4】(14分)某企业2009年的生产总值为200万元,技术创新后预计以后每年的生产总值将比上一年增加5%,问最早哪一年的生产总值将超过300万元?试写出解决该问题的一个算法,并画出相应的流程图.分析设第n年后该企业生产总值为a,则a=200×(1+0.05)n,此时为2009+n年.解算法设计如下:S1n←0,a←200,r←0.05;S2T←ar(计算年增量);S3a←a+T(计算年产量);…………………3′S4如果a≤300,那么n←n+1,转S2;如果a>300,则转S5;一轮复习13算法与程序框图S5N←2009+n;S6输出N.…………………7′流程图如下:方法一:方法二:

……14′……14′一轮复习13算法与程序框图学后反思注意直到型循环结构和当型循环结构的本质区别,直到型循环结构先执行a←a+T,再判断a>300,若不满足,则执行循环体,直到满足才输出N;而当型循环结构先判断a≤300,若成立,则执行循环体,直到a≤300不成立才结束循环,输出N.4.(2009·江苏)下图是一个算法的流程图,最后输出的W------.举一反三一轮复习13算法与程序框图解析:第一次:T=1,S=12-0=1;第二次:T=3,S=32-1=8;第三次:T=5,S=52-8=17;此时满足S≥10,所以W=S+T=17+5=22.答案:

22易错警示【例】设计一个流程图,求S=12+32+52+…+992的值.错解(如图甲、乙)一轮复习13算法与程序框图错解分析图甲的错误在于I←I+1,步长为1,计算的是S=12+22+32+…+992.图乙的错误在于先执行I←I+2而后执行S←S+I2,计算的是S=32+52+72+…+992.正解一轮复习13算法与程序框图考点演练10.(2009·海南、宁夏改编)如果执行下边的算法流程图,输入x=-2,h=0.5,求输出的各个数的和.解析:

由流程图可知,当x=-2时,y=0;当x=-1.5时,y=0;当x=-1时,y=0;当x=-0.5时,y=0;当x=0时,y=0;当x=0.5时,y=0.5;当x=1时,y=1;当x=1.5时,y=1;当x=2时,y=1.故输出的各数之和为3.5.一轮复习13算法与程序框图11.在国家法定工作日内,每周满工作量的时间为40小时,若每周工作时间不超过40小时,则每小时工资8元;如因需要加班,超过40小时的每小时工资为10元.某公务员在一周内工作时间为x小时,但他须交纳个人住房公积金和失业保险(这两项费用为每周总收入的10%).试分析算法步骤并画出其净得工资y元的算法的流程图.(注:满工作量外的工作时间为加班)解析:

算法如下:S1输入工作时间x小时;S2若x≤40,则y←8x×(1-10%);否则,

y←40×8(1-10%)+(x-40)×10(1-10%);S3输出y值.一轮复习13算法与程序框图流程图:12.给出以下10个数5、9、80、43、95、73、23、17、60、36.要求把其中大于40的数找出来并输出,画出解决该问题的一个算法流程图.一轮复习13算法与程序框图解析:可以先把第1个数输入,然后将它与40进行比较,若该数大于40,就输出,再输入第2个数;否则,若该数小于40,则直接输入第2个数,再将第2个数与40比较.依次下去,共输入10次,可利用循环结构控制输入的次数,用选择结构将输入的数与40进行比较.算法流程图如图所示.一轮复习13算法与程序框图第二节基本算法语句基础梳理1.三种语句的一般格式和功能

语句

一般格式

功能输入语句

输出语句

赋值语句

2.条件语句(1)定义:在执行算法时,有时要根据一定的条件选择流程线的方向,我们用

来实现.Read变量输入信息Print表达式输出结果变量←表达式将表达式的值赋给变量条件语句一轮复习13算法与程序框图(2)条件语句的格式IfAThenBElseCEndIfA表示

,B表示满足条件时执行的操作内容,C表示

时执行的操作内容,EndIf表示条件语句结束.3.循环语句(1)算法中的

是由循环语句来实现的.(2)循环语句的格式判断的条件不满足条件循环结构一轮复习13算法与程序框图当型循环①Whilep

循环体EndWhile②ForIFrom“初值”To“终值”Step“步长”循环体EndFor直到型循环Do

循环体UntilpEndDoWhile循环For循环一轮复习13算法与程序框图题型一输入、输出和赋值语句【例1】已知点D(x0,y0)和直线l:Ax+By+C=0,试编写一个伪代码,求D到直线l的距离.典例分析分析根据点到直线距离公式知,只需求两个量Ax0+By0+C,A2+B2,然后赋值给两个变量Z1,Z2.故可用顺序结构实现.解伪代码如下:ReadA,B,C,x0,y0Z1←Ax0+By0+CZ2←A2+B2d←Printd一轮复习13算法与程序框图学后反思编写伪代码的关键是搞清问题的算法,特别是算法的结构,然后确定采用哪一种算法语句.本题用到解析几何中的求点到直线的距离公式,在此基础上确定用顺序结构实现算法.1.(2010·临沂模拟改编)下列赋值语句中正确的是

.①3←B;②x-y←2;③A←B←-2;④T←T+T.举一反三解析:①错,赋值语句中“←”左边只能是变量;②错,赋值语句不能给一个表达式赋值;③错,赋值语句只能给一个变量赋值.答案:④一轮复习13算法与程序框图题型二条件语句

2x2-1,x>0,【例2】已知函数y=2x+1,x=0,试输入x的值计算y的值.画出

-2x2+4x,x<0,流程图,并写出伪代码.分析因为x在不同区间取值时对应的函数关系不一样,需判断x的符号,故应用条件语句完成.注意条件语句的不同格式.解流程图如下图所示.一轮复习13算法与程序框图学后反思在求分段函数的函数值时,由于自变量x的值不同,其函数值的求法也不同,故先对x的值进行判断,然后根据其具体值选择不同的计算方法,故用条件语句进行算法设计.ReadxIfx>0Theny←2x2-1ElseIfx=0Theny←2x+1Elsey←-2x2+4xEndIfEndIfPrinty伪代码如下:一轮复习13算法与程序框图2.某商场购物实行优惠措施,若购物金额x在800元以上,打八折;若购物金额x在500元以上,则打9折;否则不打折.设计算法流程图,要求输入购物金额x,能输出实际交款额,并写出相应的伪代码.举一反三解析:依照题意,实际交款额y与购物金额x的函数关系如下:

x,x≤500,y=0.9x,500<x≤800,0.8xx>800.一轮复习13算法与程序框图流程图:伪代码如下:

Readx

Ifx>800Then

y←0.8x

Else

Ifx>500Then

y←0.9x

Else

y←x

EndIf

EndIf

Printy一轮复习13算法与程序框图题型三循环语句【例3】高一(2)班共有54名同学参加数学竞赛,现已有这54名同学的竞赛分数,请设计一个将竞赛成绩优秀同学的平均分输出的算法(规定90分以上为优秀),画出流程图,并写出伪代码.分析由于涉及到54名同学的分数,因此可以使用循环结构控制输入分数,用选择结构来判断分数是否高于90分,同时统计高于90分的成绩的总和和人数,从而求平均分.一轮复习13算法与程序框图解流程图:伪代码如下:

S←0M←0ReadxForIFrom1To54Ifx>90ThenS←S+x,M←M+1EndForP←S/MPrintP一轮复习13算法与程序框图学后反思在解决实际问题时,要正确理解其中的算法思想,根据题目写出其关系式,再写出相应的算法.在循环语句中,也可以嵌套条件语句,甚至是循环语句,此时需要注意嵌套这些语句需要保证语句的完整性,否则就会造成程序无法执行.3.高一(1)班共60人,市青少年保护中心来抽样检测同学们的身体素质,要求学号能被3整除的同学参加体检,已知学生的学号从1到60号,请画出输出参加体检同学学号的流程图,并写出伪代码.举一反三一轮复习13算法与程序框图解析:流程图如图所示:可写出伪代码如下:I←0WhileI<60I←I+3PrintIEndWhile题型四算法语句的实际应用【例4】(14分)青年歌手电视大奖赛共有10名选手参加,并请了12名评委,在计算每位选手的平均分数时,为了避免个别评委所给的极端分数的影响,必须去掉一个最高分和一个最低分后再求平均分数.试设计一个算法解决该问题,要求画出流程图,写出程序(假定分数采用10分制,即每位选手的分数最低为0分,最高为10分).一轮复习13算法与程序框图解算法分析:由于共有12名评委,所以每位选手会有12个分数,我们可以用循环结构来完成这12个分数的输入,同时设计累加变量求出这12个分数之和.本题的关键在于从这12个输入的分数中找出最大数与最小数,以便从总分中减去这两个数.由于每位选手的分数都介于0分和10分之间,故我们可以先假设其中的最大数为0,最小数为10,然后每输入一个评委的分数,就进行一次比较.若输入的数大于0,就将其代替最大数;若输入的数小于10,就用它代替最小的数;依次比较下去,就能找出这12个数中的最大数与最小数,循环结束后,从总和中减去最大数与最小数,再除以10,就得到该选手最后的平均分数.分析此题难度较大,利用循环结构,而循环结构中还有选择结构,要分清层次.最好先写算法分析,再画流程图,最后写出伪代码.一轮复习13算法与程序框图流程图如图:伪代码如下:S←0k←1min←10max←0DoReadxS←S+xIfmax≤xThenmax←xEndIfIfmin≥xThenmin←xEndIfk←k+1Untilk>12EndDoS1←S-max-mina←S1/10Printa一轮复习13算法与程序框图学后反思在解决实际问题时,要正确地理解其中的算法思想,根据题目写出其关系式,再写出相应的算法步骤,画出流程图,最后准确地编写出伪代码,同时要注意结合题意加深对算法的理解.4.在音乐唱片超市里,每张唱片售价25元,顾客若购买5张以上(含5张)唱片,则按照九折收费;若顾客购买10张以上(含10张)唱片,则按照八五折收费,请写出流程图和此算法的伪代码.举一反三解析:若用变量a表示顾客购买的唱片数,用变量c表示顾客要缴纳的金额,则需根据唱片数选择其费用的算法,可用选择结构加以判断.一轮复习13算法与程序框图流程图如图:伪代码如下:ReadaIfa<5Thenc←25aElseIfa<10Thenc←22.5aElsec←21.25aEndIfEndIfPrintc一轮复习13算法与程序框图考点演练10.(2010·南通二模)下图是由所输入的x值计算y值的一个伪代码,若x依次取数列(n∈N*,n≤2009)的项,求所得y值中的最小值.ReadxIfx<5Theny←x2+1Elsey←5xPrinty一轮复习13算法与程序框图解析:当n=1,2,3,4,5,6,…时,x依次取5,4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论