




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5.3基本算法语句名师导航三点剖析一、赋值语句顾名思义赋值语句就是将表达式所代表的值赋给变量,在伪代码中通常用“←”表示.例如,x←y就表示将表达式y的值赋给变量x,其中x是一个变量,而y则是与x同类型的变量、表达式或数值.例如,x←5是指将5赋给变量x,这里5是一个常数;x←“←”的右边为表达式时,赋值语句包含两项功能:(1)计算表达式的值;(2)将表达式的值赋给左边的变量.注意:在赋值语句中箭头指向的是变量.二、输入、输出语句输入、输出语句分别用来实现算法的输入信息、输出结果的功能.1.输入语句的格式与功能格式:read变量它表示将输入的数据送给变量,在这里变量的个数可以是多个,它是与所输入的数据的个数对应的,变量之间用逗号隔开.例如:Reada,b,c表示依次输入的数据分别送给变量a,b,c.2.输出语句的格式与功能格式:Print表达式它表示输出表达式的值,在输出语句中,输出的结果也可以是多个,它们之间也用逗号隔开.例如,Printx表示输出运算结果x;Printx,y,z则表示输出运算结果x,y,z.为了更形象地说明赋值语句,输入、输出语句的格式和功能,看下面的一个具体的例子.Readx,y,zm←(x+y+z)/3n←.Printm,n在上面的算法的伪代码中,第一个语句为输入语句,它表示将输入的数据分别送给了x,y,z,最后一个语句为输出语句,它表示输出了运算结果m,n;中间两个语句为赋值语句,它们分别表示将表达式的值赋给变量m,n.21所示.图521三、条件语句算法中的选择结构由语句来表达,条件语句的一般格式为IfAthenBElseCEndif在语句中A表示判断条件,B表示满足条件时执行的操作内容,C则表示不满足条件时执行的内容,Endif则表示条件语句的结束.而在表示算法的具体过程中,其格式和对应的框图为:If条件then语句1Else语句2Endif对应框图(如图522所示):图522在这里,语句1称为“then”的分支,语句2称为“Else”的分支,为了醒目和便于阅读,这些分支一般要缩进书写.例如,下面为一个算法的流程图(如图523所示):图523由流程图可知,在此算法的表示过程中用到了选择结构,判断条件为“x≤3”,若x≤3成立,则执行语句“y←2x”,否则执行语句“y←x+1”ReadxIfx≤3theny←2xElsey←x+1Endif在此算法中,虚框内为条件语句,语句“y←2x”为“then”的分支,语句“y←x+1”为“Else”某些情况下,条件语句中还可以使用Ifthen语句,即If条件then语句Endif它对应的框图为(如图524所示).图524例如,使得任意输入的3个整数,按从大到小的顺序输出,其流程图如下(如图525所示):图525本算法的伪代码如下:Reada,b,cIfb>athent←a,a←b,b←tEndifIfc>athent←a,a←c,c←tEndifIfc>bthent←b,b←c,c←tEndifPrinta,b,c在这个算法中,不存在Else语句.除此之外,条件语句是可以嵌套的,即在条件语句的一个分支中还可以出现条件语句,这种嵌套结构一般用于执行过程中选择结构中还存在选择结构的算法中,其格式为:If条件1then语句1Elseif条件2then语句2……Elseif条件nthen语句nElse语句n+1Endif例如,输入自变量的值,求函数函数值的一个算法的伪代码如下:ReadxIfx<0theny←1xElseifx>0theny←x+3Elsey←0EndifPrinty四、循环语句当算法中存在循环结构时,我们可以用循环语句来实现算法过程.循环语句有两种:一种是“For”语句;一种是“While”语句.1.“For”语句当循环次数已经确定,则循环结构可用“For”语句来表示,“For”语句的一般格式为:ForIfrom“初始值”to“终值”step“步长”…Endfor例如,计算1+2+3+…+100值的算法,可表示为S←0ForIfrom1to100step1S←S+IEndforPrintS上面算法中,“For”和“Endfor”之间缩进部分称为循环体.因此,用循环语句表示算法时,其格式为:ForIfrom“初始值”to“终值”step“步长”循环体Endfor而且应该注意,循环体要缩进书写.在循环语句中,当步长为1时可以省略.如计算1+2+3+…+100值的算法,也可表示为S←0ForIfrom1to100S←S+IEndforPrintS2.While语句当循环次数不能确定时,可用while语句来实现循环.while语句的一般格式为:WhileA…Endwhile具体应用时格式为:While条件循环体EndWhile在While语句中A表示判断执行循环体的条件,书写时循环体也要缩进书写.例如,寻求满足1+2+3+…+_________>2008的最小正整数的算法可用While语句表示为S←1I←2WhileS≤2008S←S+II←I+1EndWhilePrintI算法在执行循环体的过程中,先检验条件S≤2008是否成立,若条件成立则执行循环体,直到条件不成立时才结束循环.While语句的特点是“前测试”“前测试”循环来实现.问题探究问题1:怎样用伪代码和流程图设计算法来判断N是否为素数?探究:由于素数的特点是它的因数只有1和它的本身,则要判断某个数N是否为素数的方法:将N作为被除数,用2到各个整数轮流作除数,如果都不能被整除,则N为素数.为了使程序能符合结构化程序设计,这里设计了一个开关W,使初值为0.若N能被某一个整数整除,则使W值为1,否则W值不变.最后根据W的值来确定N是否为素数,若W值为0,则N为素数,否则N为非素数.用伪代码设计算法如下:Begin(算法开始)ReadNW←0I←2WhileI≤N且W=0IfR=0thenW←1ElseI←I+1EndifEndwhileIfW=0thenprintN,“是素数”ElseprintN,“不是素数”EndifEnd(算法结束)流程图(如图526所示):图526问题2:依次将十个数输入,要求将其中最大的数打印出来.怎样用流程图和伪代码来表示问题的算法?探究:解决这个问题的思路很简单,先选2个数进行比较,去掉小的,留下大的;再取第3个数与留下的数进行比较去掉小的留下大的;继续进行,直到每个数都被比较,最后留下的数就是最大数.但用这种思想写出的算法比较复杂.由于在本算法中某些步骤是重复进行,则可用循环语句来描述此算法.用伪代码设计算法如下:ReadXmax←XForIfrom2to10ReadXIfX>maxthenmax←XEndifEndforPrintmaxEnd流程图(如图527所示):图527精题精讲例1.写出下列用伪代码描述的算法执行后的结果.(1)算法开始a←2;a←4;a←a+a;输出a的值;算法结束执行结果:()思路解析本题考查了赋值语句的功能,第一个语句中将2赋给了变量a,此时a的值为2.第二个语句中将4赋给了变量a,此时a值由原来的2变为了4.第三个语句中将a+a的值赋给了变量a,此时a的值为4+4=8.答案:8(2)算法开始君子食无求饱,居无求安,敏于事而慎于言,就有道而正焉,可谓好学也已。n←10;i←2;sum←0;While(i≤n)sum←sum+i;i←i+2;Endwhile输出sum的值;算法结束执行结果:()思路解析本题考查了赋值语句、循环语句在算法中的应用.在本算法中前三个语句为赋值语句,它们分别表示将10、2、0赋给变量n、i、sum.第5、6个语句构成了一个循环体,当条件i≤n成立,则重复执行第5、6个语句直至条件不成立.当第一次执行时,sum的值变为2,i的值变为4;第二次执行时,sum的值变为6,i的值变为6;第三次执行时,sum的值变为12,i的值变为8;第四次执行时,sum的值变为20,i的值变为10;第五次执行时,sum的值变为30,i的值变为12,此时条件不成立,退出循环,输出sum的值为30.答案:30例2.已知S=5+10+15+…+1500,请用流程图描述求S的算法并用伪代码表示.思路解析由题意知应采用循环结构画出流程图,而应采用“For”语句来描述此算法,其中初始值为10,步长为5.解:流程图如下图所示(如图528所示):图528从流程图可以看出这是一个循环结构,我们可以运用循环语句来实现.S←5ForIfrom10to1500step5S←S+IEndForPrintSEnd绿色通道“前测试”,任何一种需要重复处理的问题都可以用这种前测试循环来实现.例3.经过市场调查分析得知,1999年第一季度内,某地区对某件商品的需求量为12000件.为保证商品不脱销,商家在月初时将商品按相同数量投放市场.已知年初商品的库存量为50000件,用S表示商品的库存量.请写出一个程序,求出第一季度结束时商品的库存量.思路解析因为第一季度商品的需求量为12000件,而且每个月以相同数量投放市场,因此每个月向市场投放4000件商品.可以用下表表示库存量随着月份的变化情况.月份库存一月二月三月S460004200038000还可以用下列赋值语句来表示库存量的变化S←S-4000.赋值号左边的变量S表示的是这个月的存储量,那么右边的变量S表示的是上个月的存储量.这是对变量S的赋值,赋值的目的是改变变量的值,将变量上次的值减去4000再次赋予变量S.解:流程图如下(如图529所示):图529例4.某百货公司为了促销,采用购物打折的优惠办法:每位顾客一次购物(1)在1000元以上者,按九五折优惠.(2)在2000元以上者,按九折优惠.(3)在3000元以上者,按八五折优惠.(4)在5000元以上者,按八折优惠.编写程序求优惠价.思路解析本题实质上是一个分段函数的求值问题,由于求值时需要根据自变量的范围来选择不同的解析式,则用算法语句表示此算法时应采用条件语句.设购物款数为x元,优惠价为y元.解:设购物款数为x元,优惠价
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆市物业服务合同范本示例
- 保理合同(日元)
- 房屋使用权合同转租协议样本
- 检测服务合同范本:机构合作篇
- 资产配置基金合同例文
- 度标准私人承包协议合同
- 农产品购销合同经典合同范文
- 房地产项目苗木采购合同书模板
- 家电配件的表面装饰与标识技术考核试卷
- 中介服务行业的人力资源服务标准考核试卷
- 2024年安徽省高校分类考试对口招生语文试卷真题(含答案)
- 2025年苏州健雄职业技术学院高职单招语文2018-2024历年参考题库频考点含答案解析
- 2025年八省联考高考语文试题真题解读及答案详解课件
- 《电力系统综合实践》课程教学大纲
- 施工安全生产风险分级管控和隐患排查治理双重预防机制建设实施方案
- 中国高血压防治指南(2024年修订版)解读课件
- 2024年度咨询服务合同:企业管理咨询服务
- 凉山州西昌市人民医院招聘笔试真题2023
- 住建局条文解读新规JGJT46-2024《施工现场临时用电安全技术标准》
- 《网页设计与制作案例实战教程》全套教学课件
- 2024店铺共同经营合同
评论
0/150
提交评论