专题突破二算法语句的应用第一章算法初步一、基本的条件语句例1运行如图所示的程序,输出的y与输入的x满足的关系式为____________________.思维切入本题中使用的是“IF-THEN-ELSE-ENDIF”语句.当条件成立时,执行语句“y=2^x”,不成立时,执行语句“y=3*x+1”,故y=INPUTxIFx1ORx8THENy=2^xELSEy=3*x+1ENDIFPRINTyENDy=2x,x1或x8,3x+1,1≤x≤82x,x1或x8,3x+1,1≤x≤8.点评(1)基本的条件语句有两种.当判断条件成立与否都需要执行某操作时,使用“IF-THEN-ELSE-ENDIF”语句;当条件判断后只需执行一种操作时,使用“IF-THEN-ENDIF”语句.(2)求分段函数的值是条件语句的重要应用.二、条件语句的复合思维切入需要对这三个数逐一进行判断,故用条件语句的并列形式或嵌套形式.例2已知a,b,c三个实数中,有且只有一个是负数,设计一个程序,筛选出这个负数.点评①一般要求一个“IF”都要有一个“ENDIF”与其对应;②在用条件语句的嵌套书写程序时,要弄清哪个“IF”对应哪个“ENDIF”;③书写时,注意每一层要对齐.三、循环语句求累加和或累乘积思维切入这是一个累加问题,可以用WHILE语句,也可以用UNTIL语句来编写程序.解程序如图.例3编写程序,计算2+23+25+…+299的值.i=1S=0WHILEi=50S=S+2^(2*i-1)i=i+1WENDPRINTSEND点评解决具体的构造循环语句的算法问题,要尽可能地少引入变量,因为较多的变量会使得程序设计比较麻烦.同一问题的程序并不唯一.本题也可用如图所示的程序表示.注意两程序中循环体部分的区别.当然了,变量的初值不同,程序也会有所改变.i=1S=0WHILEi=99S=S+2^ii=i+2WENDPRINTSEND四、条件语句与循环语句的嵌套例4分别用WHILE语句和UNTIL语句编写计算机程序输出1~100之间(含1和100)能被3整除的所有整数.思维切入点评对于循环语句内嵌套条件语句的问题,先确定外层的循环语句,再逐步确定内层的条件语句,一定要保证内层的变量与外层的变量不冲突,以免引起矛盾.五、循环语句的嵌套问题例5设计一个程序,输出落在圆x2+y2=100内且在第一象限的所有整点的坐标.思维切入由题意知1≤x<10,1≤y<10且x,y∈Z.故设计算法时可先确定x,让y由1取到9逐一验证条件,然后改变x的值,直至验完.点评对于循环语句的嵌套问题,需要正确区分内循环变量和外循环变量.循环变量是循环语句的关键,循环变量的范围决定着循环的次数.解决二重循环问题时,首先固定外循环变量的值,由外向内推导,以此类推,可解决更复杂的循环语句的嵌套问题.123451.设计一个计算1×3×5×7×9的算法,下面给出了算法语句的一部分,则在横线①上应填入下面数据中的A.8B.11C.10D.12√解析由算法知i的取值为3,5,7,9,…,又只需计算1×3×5×7×9,因此只要保证所填数大于等于9,小于11即可,故选C.6达标检测DABIAOJIANCES=1i=3DOS=S*ii=i+2LOOPUNTILi>①PRINTSEND1234562.阅读程序,当输入x的值为3时,输出y的值为_____.(其中e为自然对数的底数)1.5解析当输入x=3时,由于3>e,故执行y=0.5x,即y=0.5×3=1.5.INPUTxIFx<=eTHENy=0.5+0.5*(x-2)ELSEy=0.5*xENDIFPRINTyEND12345解析当x=5时,y=52-1=24.63.阅读如图所示的程序,若输入x的值为5,则输出的结果是____.INPUTxIFx<3THENy=2*xELSEIFx>3THENy=x*x-1ELSEy=2ENDIFENDIFPRINTyEND241234564.阅读右列算法语句:则S的表达式为_______________________.i=1S=0DOS=S+ii=i+1LOOPUNTILi>98PRINTSEND解析这是一个UNTIL语句,终止条件是i>98.循环体累加,即从1累加到98.S=1+2+3+…+981234565.执行右面的程序,如果输入N=4,那么输出的S=_____.INPUTNk=1S=0T=1DOT=S=S+Tk=k+1LOOPUNTILk>NPRINTSEND解析第一次循环,T=1,S=1,k=2;Tk4124第二次循环,T=12,S=1+12,k=3;第三次循环,T=12×3,S=1+12+12×3,k=4;第四次循环,T=12×3×4,S=1+12+13×2+14×3×2,k=5,此时满足条件,输出S.1234566.某学生在体育训练时弄伤了膝关节,医生给他开了一些消炎药,并叮嘱他每天早晚8时各服用一片药片.现知该药片每片220毫克,他的肾脏每12小时从体内滤出这种药的60%.设计一个程序,求他第n次服药后体内此药的残留量,并画出程序框图.