您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 高中教育 > 2020版高中数学 第一章 算法初步专题突破二学案(含解析)新人教A版必修3
1专题突破二算法语句的应用一、基本的条件语句例1运行如图所示的程序,输出的y与输入的x满足的关系式为____________________.INPUTxIFx1ORx8THENy=2^xELSEy=3*x+1ENDIFPRINTyEND思维切入本题中使用的是“IF-THEN-ELSE-ENDIF”语句.当条件成立时,执行语句“y=2^x”,不成立时,执行语句“y=3*x+1”,故y=2x,x1或x8,3x+1,1≤x≤8.答案y=2x,x1或x8,3x+1,1≤x≤8点评(1)基本的条件语句有两种.当判断条件成立与否都需要执行某操作时,使用“IF-THEN-ELSE-ENDIF”语句;当条件判断后只需执行一种操作时,使用“IF-THEN-ENDIF”语句.(2)求分段函数的值是条件语句的重要应用.二、条件语句的复合例2已知a,b,c三个实数中,有且只有一个是负数,设计一个程序,筛选出这个负数.思维切入需要对这三个数逐一进行判断,故用条件语句的并列形式或嵌套形式.解程序如图.INPUT“a,b,c=”;a,b,cIFa0THENPRINTaELSEIFb0THENPRINTbELSE2PRINTcENDIFENDIFEND点评①一般要求一个“IF”都要有一个“ENDIF”与其对应;②在用条件语句的嵌套书写程序时,要弄清哪个“IF”对应哪个“ENDIF”;③书写时,注意每一层要对齐.三、循环语句求累加和或累乘积例3编写程序,计算2+23+25+…+299的值.思维切入这是一个累加问题,可以用WHILE语句,也可以用UNTIL语句来编写程序.解程序如图.i=1S=0WHILEi=50S=S+-i=i+1WENDPRINTSEND点评解决具体的构造循环语句的算法问题,要尽可能地少引入变量,因为较多的变量会使得程序设计比较麻烦.同一问题的程序并不唯一.本题也可用如下图所示的程序表示.注意两程序中循环体部分的区别.当然了,变量的初值不同,程序也会有所改变.i=1S=0WHILEi=99S=S+2^ii=i+2WENDPRINTSEND四、条件语句与循环语句的嵌套例4分别用WHILE语句和UNTIL语句编写计算机程序输出1~100之间(含1和100)能被33整除的所有整数.4思维切入解利用WHILE语句编写程序如下:i=1WHILEi<=100IFiMOD3=0THENPRINTiENDIFi=i+1WENDEND利用UNTIL语句编写程序如下:i=1DOIFiMOD3=0THENPRINTiENDIFi=i+1LOOPUNTILi>100END点评对于循环语句内嵌套条件语句的问题,先确定外层的循环语句,再逐步确定内层的条件语句,一定要保证内层的变量与外层的变量不冲突,以免引起矛盾.五、循环语句的嵌套问题例5设计一个程序,输出落在圆x2+y2=100内且在第一象限的所有整点的坐标.思维切入由题意知1≤x<10,1≤y<10且x,y∈Z.故设计算法时可先确定x,让y由1取到9逐一验证条件,然后改变x的值,直至验完.解程序如下:r=105x=1WHILEx<ry=1WHILEy<rIFx^2+y^2<r^2THENPRINTx,yENDIFy=y+1WENDx=x+1WENDEND点评对于循环语句的嵌套问题,需要正确区分内循环变量和外循环变量.循环变量是循环语句的关键,循环变量的范围决定着循环的次数.解决二重循环问题时,首先固定外循环变量的值,由外向内推导,以此类推,可解决更复杂的循环语句的嵌套问题.1.设计一个计算1×3×5×7×9的算法,下面给出了算法语句的一部分,则在横线①上应填入下面数据中的()S=1i=3DOS=S*ii=i+2LOOPUNTILi>①PRINTSENDA.8B.11C.10D.12答案C解析由算法知i的取值为3,5,7,9,…,又只需计算1×3×5×7×9,因此只要保证所填数大于等于9,小于11即可,故选C.2.阅读程序,当输入x的值为3时,输出y的值为________.(其中e为自然对数的底数)6INPUTxIFx<=eTHENy=0.5+-ELSEy=0.5*xENDIFPRINTyEND答案1.5解析当输入x=3时,由于3>e,故执行y=0.5x,即y=0.5×3=1.5.3.阅读如图所示的程序,若输入x的值为5,则输出的结果是________.INPUTxIFx<3THENy=2*xELSEIFx>3THENy=x*x-1ELSEy=2ENDIFENDIFPRINTyEND答案24解析当x=5时,y=52-1=24.4.阅读下列算法语句:i=1S=0DOS=S+ii=i+17LOOPUNTILi>98PRINTSEND则S的表达式为________.答案S=1+2+3+…+98解析这是一个UNTIL语句,终止条件是i>98.循环体累加,即从1累加到98.5.执行下面的程序,如果输入N=4,那么输出的S=________.INPUTNk=1S=0T=1DOT=TkS=S+Tk=k+1LOOPUNTILk>NPRINTSEND答案4124解析第一次循环,T=1,S=1,k=2;第二次循环,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.6.某学生在体育训练时弄伤了膝关节,医生给他开了一些消炎药,并叮嘱他每天早晚8时各服用一片药片.现知该药片每片220毫克,他的肾脏每12小时从体内滤出这种药的60%.设计一个程序,求他第n次服药后体内此药的残留量,并画出程序框图.解算法分析:第一次服药后体内此药的残留量:V1=220;第二次服药后体内此药的残留量:V2=V1×0.4+220;第三次服药后体内此药的残留量:V3=V2×0.4+220;…;第n次服药后体内此药的残留量:Vn=Vn-1×0.4+220.8故可用循环语句求解.程序框图如图:程序如图:INPUT“n=”;nV=0i=1DOV=V*0.4+220i=i+1LOOPUNTILi>nPRINT“V=”;VEND一、选择题1.下列语句中正确的个数是()①输入语句INPUTx+2;②赋值语句x=x-5;③输出语句PRINTM=2.A.0B.1C.2D.3答案B解析①中输入语句只能给变量赋值,不能给表达式“x+2”赋值,所以①错误;②中“x=x-5”表示变量x减去5后再赋值给x,即执行“x=x-5”后,x比原来的值小5,所以②正确;③中不能输出赋值语句,所以③错误.92.执行下列程序后,变量a,b的值分别为()a=15b=20a=a+bb=a-ba=a-bPRINTa,bENDA.20,15B.35,35C.5,5D.-5,-5答案A解析a=15,b=20,把a+b的值赋给a,因此得出a=35,再把a-b的值赋给b,即b=35-20=15,再把a-b的值赋给a,此时a=35-15=20,因此最后输出的a,b的值分别为20,15.3.若执行下列程序后输出的结果为3,则输入的x值可能为()INPUT“x=”;xy=x*x+2*xPRINTyENDA.1B.-3C.-1D.1或-3答案D解析由题意得x2+2x=3,解方程得x=1或x=-3.4.下列程序的功能是求函数y=|x-4|+1的值,则①处为()INPUT“x=”;xIFx=4THENy=x-3;ELSE①ENDIFPRINTyEND10A.y=3-xB.y=x-5C.y=5-xD.y=ABS(x-4)+1答案C解析∵y=|x-4|+1=x-3,x≥4,5-x,x4,∴①处应为“y=5-x”.5.阅读下列程序:INPUTxIFx0THENy=7*x/2+3ELSEIFx0THENy=7*x/2-5ELSEy=0ENDIFENDIFPRINTyEND若输入x=-2,则输出结果为()A.2B.-12C.10D.-4答案D解析输入x=-2,则x0,执行“y=7*x/2+3”这一语句,即有y=-4.6.运行下面的程序后,输出的结果为()i=1WHILEi8i=i+2S=2*i+3i=i-1WENDPRINTSEND11A.17B.19C.21D.23答案C解析最后一次执行循环体时,S=2×9+3=21.7.如果运行以下程序后输出的结果是720,那么在程序中UNTIL后面的“条件”是()i=10S=1DOS=S*ii=i-1LOOPUNTIL“条件”PRINTSENDA.i8B.i=8C.i=8D.i8答案D解析该程序的功能是计算S=10×9×8×…×n的值,在UNTIL循环语句中满足条件则退出循环体,由于运行程序后输出的结果是720,故选D.8.阅读下列程序:INPUT“x=”;4IFx3THENy=x*xELSEy=2*xENDIFPRINTyEND运行该程序后,变量y的值为()A.4B.16C.6D.8答案B解析因x=4满足“x3”的条件,所以执行的是THEN后面的语句,得y=4×4=16.9.运行下面程序的结果为()i=112S=0WHILES=20S=S+ii=i+1WENDPRINTiENDA.7B.8C.5D.6答案A解析第一次循环,S=0+1=1,i=1+1=2;第二次循环,S=1+2=3,i=2+1=3;第三次循环,S=3+3=6,i=3+1=4;第四次循环,S=6+4=10,i=4+1=5;第五次循环,S=10+5=15,i=5+1=6;第六次循环,S=15+6=2120,i=6+1=7.故输出i的值为7.二、填空题10.2014年11月,国家调控了物价后,某水果店三种水果的标价分别为香蕉:2元/千克,苹果:3元/千克,梨:2.5元/千克.店主为了方便收款设计了一个程序,请将下面的程序补充完整.INPUTx=2*ay=3*bz=2.5*cS=PRINTSEND答案a,b,cx+y+z11.已知下面的程序,写出相应的输出结果.INPUTxIFx=10THENp=x*0.3513ELSEp=10*0.35+-ENDIFPRINTpEND(1)若输入x=6,则p=________;(2)若输入x=12,则p=________.答案(1)2.1(2)4.9解析(1)当x=6时,x≤10,则p=6×0.35=2.1.(2)当x=12时,x10,则p=10×0.35+(12-10)×0.7=4.9.12.运行下面的程序后第3个输出的数是________.i=1x=1DOPRINTxi=i+1x=x+1/2LOOPUNTILi5END答案2解析第一个输出的数是1,第二个输出的数是x=1+12=32,第三个输出的数是x=1+12+12=2.三、解答题13.阅读下面两个程序并回答问题.INPUTxINPUTyx=2019y=2020x=y14PRINTx,yEND(a)INPUTxINPUTyx=2019y=2020y=xPRINTx,yEND(b)(1)写出两个程序的运行结果;(2)请简要说明上述两个程序的区别.解(1)程序(a)的运行结果是2020,2020;程序(b)的运行结果是2019,2019.(2)程序(a)中的“x=y”是将y的值2020赋给x,赋值后x的值变为2020,而y的值保持不变;程序(b)中的“y=x”是将x的值2019赋给y,赋值后y的值变为2019,而x的值保持不变.14.已知正四棱柱的底边长a和高h,试编写程序,计算该四棱柱的体积.解INPUTaINPUThPRINT“四棱柱的体积为”;h*a^2END或INPUT“四棱柱的底边长是”;aINPUT“四棱柱的高是”;hPRINT“四棱柱的体积为”;h*a^2END15.下面程序的功能是输出1~100内(包括100)的所有偶数.15i=1DOm=iMOD2IF①THENPRINTiENDIF__②LOOPUNTILi100END(1)试将上面的程序补充完整;(2)请用WHILE型循环语句改写上面的程序.解(1)
本文标题:2020版高中数学 第一章 算法初步专题突破二学案(含解析)新人教A版必修3
链接地址:https://www.777doc.com/doc-8466497 .html