一轮复习13算法与程序框图课件

上传人:无*** 文档编号:240907630 上传时间:2024-05-17 格式:PPT 页数:43 大小:1.10MB
返回 下载 相关 举报
一轮复习13算法与程序框图课件_第1页
第1页 / 共43页
一轮复习13算法与程序框图课件_第2页
第2页 / 共43页
一轮复习13算法与程序框图课件_第3页
第3页 / 共43页
点击查看更多>>
资源描述
算法初步算法初步知识体系知识体系第一节第一节 算法与流程图算法与流程图基础梳理基础梳理1.一般而言,对一类问题的 的、的求解方法称为算法.2.流程图是由一些 和 组成的,其中图框表示各种操作的 ,图框中的文字和符号表示操作的 ,流程线表示操作的 .3.顺序结构:依次进行多个处理的结构.其结构形式为:机械统一图框流程线类型类型先后次序4.选择结构:先根据条件作出判断,再决定执行哪一种操作的结构.其结构形式为:5.循环结构:需要重复执行同一操作的结构.6.如图是一种常见的循环结构:先判断所给条件p是否成立,若p成立,则执行A,再判断条件p是否成立;若p仍成立,则又执行A,如此反复,直到某一次条件p不成立时为止.这样的循环结构称为当型循环.7.直到型循环:先执行A,再判断所给条件p是否成立,若p不成立,则再执行A,如此反复,直到p成立,该循环过程结束.典例分析典例分析题型一题型一 算法的设计算法的设计【例1】已知点P(x0,y0)和直线l:Ax+By+C=0(A0),求点P(x0,y0)到直线l的距离d,写出其算法并画出流程图.分析 由公式 可知,欲求点到直线的距离,要先求Z1=Ax0+By0+C及Z2=A2+B2,代入 用顺序结构解决.解 算法如下:S1 输入点的坐标x0,y0及直线方程的系数A、B、C;S2 Z1Ax0+By0+C;S3 Z2A2+B2;S4 d ;S5输出d.学后反思 给出一个问题,设计算法时应注意:(1)认真分析问题,联系解决此问题的一般数学方法;(2)综合考虑此问题中可能涉及的各种情况;(3)借助有关变量或参数对算法加以表述;(4)将解决问题的过程划分为若干个步骤;(5)用简练的语言将各个步骤表示出来.流程图:1.写出求解方程ax2+x+c=0的一个算法.举一反三举一反三解析:S1 判断a是否等于零.若a=0,则解得x-c,输出x;若a0,则转S2;S2 判断判别式=1-4ac是否小于零.若0,【例3】(2010青岛模拟)函数y=0,x=0,写出求该函数函数值 2,x0,则y-2;如果x=0,则y0;如果x300,则转S5;S5 N2009+n;S6 输出N.7流程图如下:方法一:方法二:1414学后反思 注意直到型循环结构和当型循环结构的本质区别,直到型循环结构先执行aa+T,再判断a300,若不满足,则执行循环体,直到满足才输出N;而当型循环结构先判断a300,若成立,则执行循环体,直到a300不成立才结束循环,输出N.4.(2009江苏)下图是一个算法的流程图,最后输出的W-.举一反三举一反三解析:第一次:T=1,S=12-0=1;第二次:T=3,S=32-1=8;第三次:T=5,S=52-8=17;此时满足S10,所以W=S+T=17+5=22.答案:22易错警示易错警示【例】设计一个流程图,求S=12+32+52+992的值.错解 (如图甲、乙)错解分析 图甲的错误在于II+1,步长为1,计算的是S=12+22+32+992.图乙的错误在于先执行II+2而后执行SS+I2,计算的是S=32+52+72+992.正解考点演练考点演练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.11.在国家法定工作日内,每周满工作量的时间为40小时,若每周工作时间不超过40小时,则每小时工资8元;如因需要加班,超过40小时的每小时工资为10元.某公务员在一周内工作时间为x小时,但他须交纳个人住房公积金和失业保险(这两项费用为每周总收入的10%).试分析算法步骤并画出其净得工资y元的算法的流程图.(注:满工作量外的工作时间为加班)解析:算法如下:S1 输入工作时间x小时;S2 若x40,则y8x(1-10%);否则,y408(1-10%)+(x-40)10(1-10%);S3 输出y值.流程图:12.给出以下10个数5、9、80、43、95、73、23、17、60、36.要求把其中大于40的数找出来并输出,画出解决该问题的一个算法流程图.解析:可以先把第1个数输入,然后将它与40进行比较,若该数大于40,就输出,再输入第2个数;否则,若该数小于40,则直接输入第2个数,再将第2个数与40比较.依次下去,共输入10次,可利用循环结构控制输入的次数,用选择结构将输入的数与40进行比较.算法流程图如图所示.第二节第二节 基本算法语句基本算法语句基础梳理基础梳理1.三种语句的一般格式和功能 语句 一般格式 功能输入语句 输出语句 赋值语句 2.条件语句(1)定义:在执行算法时,有时要根据一定的条件选择流程线的方向,我们用 来实现.Read变量输入信息Print表达式输出结果变量表达式将表达式的值赋给变量条件语句(2)条件语句的格式If A ThenBElseCEnd IfA表示 ,B表示满足条件时执行的操作内容,C表示 时执行的操作内容,End If表示条件语句结束.3.循环语句(1)算法中的 是由循环语句来实现的.(2)循环语句的格式判断的条件不满足条件循环结构当型循环While p 循环体End WhileFor I From“初值”To“终值”Step“步长”循环体End For直到型循环Do 循环体Until pEnd DoWhile 循环For 循环题型一题型一 输入、输出和赋值语句输入、输出和赋值语句【例1】已知点D(x0,y0)和直线l:Ax+By+C=0,试编写一个伪代码,求D到直线l的距离.典例分析典例分析分析 根据点到直线距离公式 知,只需求两个量Ax0+By0+C,A2+B2,然后赋值给两个变量Z1,Z2.故可用顺序结构实现.解 伪代码如下:Read A,B,C,x0,y0Z1Ax0+By0+CZ2A2+B2dPrint d学后反思 编写伪代码的关键是搞清问题的算法,特别是算法的结构,然后确定采用哪一种算法语句.本题用到解析几何中的求点到直线的距离公式,在此基础上确定用顺序结构实现算法.1.(2010临沂模拟改编)下列赋值语句中正确的是 .3B;x-y2;AB-2;TT+T.举一反三举一反三解析:错,赋值语句中“”左边只能是变量;错,赋值语句不能给一个表达式赋值;错,赋值语句只能给一个变量赋值.答案:题型二题型二 条件语句条件语句 2x2-1,x0,【例2】已知函数y=2x+1,x=0,试输入x的值计算y的值.画出 -2x2+4x,x0 Then y2x2-1Else If x=0 Then y2x+1Else y-2x2+4x End IfEnd IfPrint y伪代码如下:2.某商场购物实行优惠措施,若购物金额x在800元以上,打八折;若购物金额x在500元以上,则打9折;否则不打折.设计算法流程图,要求输入购物金额x,能输出实际交款额,并写出相应的伪代码.举一反三举一反三解析:依照题意,实际交款额y与购物金额x的函数关系如下:x,x500,y=0.9x,500800.流程图:伪代码如下:Read x If x800 Then y0.8x Else If x500 Then y0.9x Else yx End If End If Print y题型三题型三 循环语句循环语句【例3】高一(2)班共有54名同学参加数学竞赛,现已有这54名同学的竞赛分数,请设计一个将竞赛成绩优秀同学的平均分输出的算法(规定90分以上为优秀),画出流程图,并写出伪代码.分析 由于涉及到54名同学的分数,因此可以使用循环结构控制输入分数,用选择结构来判断分数是否高于90分,同时统计高于90分的成绩的总和和人数,从而求平均分.解 流程图:伪代码如下:S0M0Read xFor I From 1 To 54 If x90 Then SS+x,MM+1End ForPS/MPrint P学后反思 在解决实际问题时,要正确理解其中的算法思想,根据题目写出其关系式,再写出相应的算法.在循环语句中,也可以嵌套条件语句,甚至是循环语句,此时需要注意嵌套这些语句需要保证语句的完整性,否则就会造成程序无法执行.3.高一(1)班共60人,市青少年保护中心来抽样检测同学们的身体素质,要求学号能被3整除的同学参加体检,已知学生的学号从1到60号,请画出输出参加体检同学学号的流程图,并写出伪代码.举一反三举一反三解析:流程图如图所示:可写出伪代码如下:I0While I60 II+3 Print IEnd While题型四题型四 算法语句的实际应用算法语句的实际应用【例4】(14分)青年歌手电视大奖赛共有10名选手参加,并请了12名评委,在计算每位选手的平均分数时,为了避免个别评委所给的极端分数的影响,必须去掉一个最高分和一个最低分后再求平均分数.试设计一个算法解决该问题,要求画出流程图,写出程序(假定分数采用10分制,即每位选手的分数最低为0分,最高为10分).解 算法分析:由于共有12名评委,所以每位选手会有12个分数,我们可以用循环结构来完成这12个分数的输入,同时设计累加变量求出这12个分数之和.本题的关键在于从这12个输入的分数中找出最大数与最小数,以便从总分中减去这两个数.由于每位选手的分数都介于0分和10分之间,故我们可以先假设其中的最大数为0,最小数为10,然后每输入一个评委的分数,就进行一次比较.若输入的数大于0,就将其代替最大数;若输入的数小于10,就用它代替最小的数;依次比较下去,就能找出这12个数中的最大数与最小数,循环结束后,从总和中减去最大数与最小数,再除以10,就得到该选手最后的平均分数.分析 此题难度较大,利用循环结构,而循环结构中还有选择结构,要分清层次.最好先写算法分析,再画流程图,最后写出伪代码.流程图如图:伪代码如下:S0k1min10max0Do Read x SS+xIf maxx Then maxxEnd IfIf minxThen minxEnd Ifkk+1Until k12End DoS1S-max-minaS1/10Print a学后反思 在解决实际问题时,要正确地理解其中的算法思想,根据题目写出其关系式,再写出相应的算法步骤,画出流程图,最后准确地编写出伪代码,同时要注意结合题意加深对算法的理解.4.在音乐唱片超市里,每张唱片售价25元,顾客若购买5张以上(含5张)唱片,则按照九折收费;若顾客购买10张以上(含10张)唱片,则按照八五折收费,请写出流程图和此算法的伪代码.举一反三举一反三解析:若用变量a表示顾客购买的唱片数,用变量c表示顾客要缴纳的金额,则需根据唱片数选择其费用的算法,可用选择结构加以判断.流程图如图:伪代码如下:Read aIf a5 Thenc25aElseIf a10 Thenc22.5aElsec21.25aEnd IfEnd IfPrint c考点演练考点演练10.(2010南通二模)下图是由所输入的x值计算y值的一个伪代码,若x依次取数列 (nN*,n2 009)的项,求所得y值中的最小值.Read xIf x5Then yx2+1Else y5xPrint y解析:当n=1,2,3,4,5,6,时,x依次取5,4,5,此时y的值依次为:25,17,25,29,.故y中的最小值为17.11.2008年某地森林面积为1 000 km2,且每年增长5%,到哪一年该地森林面积超过2 000 km2?请画出流程图,并写出伪代码.解析:需要一个累加变量和一个计数变量,将累加变量的初值设为1 000,计数变量从0开始取值.流程图:伪代码为:P1 000N0Do PP(1+0.05)NN+1Until P2 000N2008+NPrint N12.某城市现有人口数为100万人,如果年自然增长率为1.2%,试解答下面的问题:(1)写出该市人口总数y(万人)与年份x(年)的函数关系式;(2)用伪代码写出计算10年以后该城市人口总数的算法;(3)用伪代码写出计算大约多少年以后该城市人口总数恰好达到(或超过)120万人的算法.解析:(1)城市人口总数y(万人)与年份x(年)的函数关系式为典型的增长率模型,故y=100(1+0.012)x.(2)由(1)知10年后该城市人口总数为y=100(1+0.012)10,要写出计算10年以后该城市人口总数的算法,只需要把算法的循环次数控制在10次就可以,所以得到算法的伪代码如图1所示.y100t1.012For I From 1 To 10yytEnd ForPrint yS100I1.012T0While S120SSITT+1End WhilePrint T(3)设x年后该城市人口总数恰好达到(或超过)120万人,即要求100(1+0.012)x120时的最小整数x.算法伪代码如图2所示.图1 图2
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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