第十一单元算法初步知识体系第二节基本算法语句基础梳理1.三种语句的一般格式和功能语句一般格式功能输入语句输出语句赋值语句2.条件语句(1)定义:在执行算法时,有时要根据一定的条件选择流程线的方向,我们用来实现.Read变量输入信息Print表达式输出结果变量←表达式将表达式的值赋给变量条件语句(2)条件语句的格式IfAThenBElseCEndIfA表示,B表示满足条件时执行的操作内容,C表示时执行的操作内容,EndIf表示条件语句结束.3.循环语句(1)算法中的是由循环语句来实现的.(2)循环语句的格式判断的条件不满足条件循环结构当型循环①Whilep循环体EndWhile②ForIFrom“初值”To“终值”Step“步长”循环体EndFor直到型循环Do循环体UntilpEndDoWhile循环For循环题型一输入、输出和赋值语句【例1】编写一个伪代码,求用长度为l的细铁丝分别围成一个正方形和一个圆时,所围成的正方形和圆的面积,要求输入l的值,能输出正方形和圆的面积.分析设围成的正方形的边长为a,依题意4a=l,a=,所以正方形的面积为;同理,若设围成的圆的半径为R,则2πR=l,R=,所以圆的面积为,因此可用顺序结构实现.4l221416llS2l222()24llS解伪代码为:Readl←/16←/4πPrint,1S2l2S2l1S2S学后反思编写伪代码的关键是搞清问题的算法,特别是算法的结构,然后确定采用哪一种算法语句.本题用到平面几何中求圆和正方形的面积的计算公式,在此基础上确定用顺序结构实现算法.1.(2010·临沂模拟改编)下列赋值语句中正确的是.①3←B;②x-y←2;③A←B←-2;④T←T+T.举一反三解析:①错,赋值语句中“←”左边只能是变量;②错,赋值语句不能给一个表达式赋值;③错,赋值语句只能给一个变量赋值.答案:④题型二条件语句【例2】设计算法流程图,要求输入自变量x的值,输出函数f(x)=x-5,x>0,0,x=0,x+3,x<0的值,并用复合语句If描述算法.题型二条件语句22分析因为x在不同区间取值时对应的函数关系不一样,需判断x的符号,故应用条件语句完成.注意条件语句的不同格式.解ReadxIfx<0Thenf(x)←π2x+3ElseIfx=0Thenf(x)←0Elsef(x)←π2x-5EndIfEndIfPrintf(x)学后反思在求分段函数的函数值时,由于自变量x的值不同,其函数值的求法也不同,故先对x的值进行判断,然后根据其具体值选择不同的计算方法,故用条件语句进行算法设计.举一反三2.到银行办理个人异地汇款(不超过100万)时,银行要收取一定的手续费.汇款额不超过100元,收取1元手续费;超过100元但不超过5000元,按汇款额的1%收取;超过5000元,一律收取50元手续费.试用条件语句描述汇款额为x元时,银行收取手续费为y元的过程,画出流程图并写出伪代码.解析:依题意,手续费y与汇款额x之间的关系式为(单位:元)y=1,0x≤100,0.01x,100x≤5000,50,x5000.流程图:伪代码:ReadxIf0<x≤100Theny←1ElseIfx≤5000Theny←0.01xElsey←50EndIfEndIfPrinty题型三循环语句【例3】高一(2)班共有54名同学参加数学竞赛,现已有这54名同学的竞赛分数,请设计一个将竞赛成绩优秀同学的平均分输出的算法(规定90分以上为优秀),画出流程图,并写出伪代码.分析由于涉及到54名同学的分数,因此可以使用循环结构控制输入分数,用选择结构来判断分数是否高于90分,同时统计高于90分的成绩的总和和人数,从而求平均分.解流程图:伪代码如下:S←0M←0ReadxForIFrom1To54Ifx>90ThenS←S+x,M←M+1EndForP←S/MPrintP学后反思在解决实际问题时,要正确理解其中的算法思想,根据题目写出其关系式,再写出相应的算法.在循环语句中,也可以嵌套条件语句,甚至是循环语句,此时需要注意嵌套这些语句需要保证语句的完整性,否则就会造成程序无法执行.举一反三3.设计求满足平方值小于2010的最大整数,写出算法的伪代码.解析:算法伪代码为:I←1WhileT<2010T←I×II←I+1EndWhileI←I-1PrintI题型四算法语句的实际应用【例4】(14分)用分期付款的方式购买价格为1150元的冰箱,如果购买时先付150元,以后每月付50元,加上欠款的利息,若一个月后付第一个月的分期付款,月利率为1%,那么购买冰箱钱全部付清后,实际共付出款额多少元?画出流程图,用伪代码写出程序.分析本题实质上是求一系列有规律的数的和,故可用循环语句来实现,算法语句的实际应用就是将实际问题转化为函数问题,进而转化为算法问题,写出算法语句.2012a解购买时付款150元,余款为1000元分20次付清,每次的付款组成一个数列{an}.=50+(1150-150)×1%=60(元),=50+(1150-150-50)×1%=59.5(元),…=50+[1150-150-(n-1)×50]×1%=60-12(n-1)(n=1,2,…,20),∴=60-12×19=50.5(元).总和S=150+60+59.5+…+50.5(元)…………………….4′流程图如图所示.………………………………………………………………..9′1a2ana20a伪代码为:a←150m←60S←0S←S+aI←1WhileI≤20S←S+mm←m-0.5I←I+1EndWhilePrintS……………………………………………………………..14′学后反思在解决实际问题时,要正确地理解其中的算法思想,根据题目写出其关系式,再写出相应的算法步骤,画出流程图,最后准确地编写程序,同时要注意结合题意加深对算法的理解.4.在音乐唱片超市里,每张唱片售价25元,顾客若购买5张以上(含5张)唱片,则按照九折收费;若顾客购买10张以上(含10张)唱片,则按照八五折收费,请写出流程图和此算法的伪代码.举一反三解析:若用变量a表示顾客购买的唱片数,用变量c表示顾客要缴纳的金额,则需根据唱片数选择其费用的算法,可用选择结构加以判断.流程图如图:伪代码如下:ReadaIfa<5Thenc←25aElseIfa<10Thenc←22.5aElsec←21.25aEndIfEndIfPrintc考点演练10.设计算法求的值.要求画出流程图,写出程序伪代码.1111...12233499100解析:这是一个累加求和问题,共99项相加,可设计一个计数变量,一个累加变量,用循环结构实现这一算法.伪代码为:S←0ForkFrom1To99S←EndForPrintS11Skk流程图如图所示.11.已知分段函数y=-x+1,x<0,0,x=0,x+1,x>0,编写伪代码,输入自变量x的值,输出其相应的函数值,并画出流程图.解析:流程图如图所示.伪代码为:ReadxIfx<0Theny←-x+1ElseIfx=0Theny←0Elsey←x+1EndIfEndIfPrinty12.设计算法,求的值.1111111...1234100解析:伪代码为(For循环,当型)(Do语句,直到型):S←1ForIFrom2To100S←S×EndForPrintSS←1I←2DoS←S×I←I+1UntilI>100EndDoPrintS111111