高中数学 第二章 算法初步 2.3 几种基本语句优化训练 北师大版必修3.DOC_第1页
高中数学 第二章 算法初步 2.3 几种基本语句优化训练 北师大版必修3.DOC_第2页
高中数学 第二章 算法初步 2.3 几种基本语句优化训练 北师大版必修3.DOC_第3页
高中数学 第二章 算法初步 2.3 几种基本语句优化训练 北师大版必修3.DOC_第4页
高中数学 第二章 算法初步 2.3 几种基本语句优化训练 北师大版必修3.DOC_第5页
免费预览已结束,剩余5页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3 几种基本语句3.1 条件语句5分钟训练 (预习类训练,可用于课前)1.下面的问题中必须用条件语句才能实现的个数是( )(1)已知三角形三边长,求三角形的面积;(2)求方程mx+n=0(m,n为常数)的根;(3)求三个实数a,b,c中的最大者;(4)求1+2+3+10的值.a.4个 b.3个 c.2个 d.1个答案:c解析:(1)(4)都可以通过赋值按顺序运算,不需要利用条件语句,而(2)要根据系数m,n的实际情况分析根的情况,(3)要通过前面比较的结果决定后续步骤,所以(2)(3)都要用到条件语句.2.条件语句的一般形式是:if条件then 语句1else 语句2end if其中语句2表示的是( )a.不满足条件时执行的内容 b.条件语句c.条件 d.满足条件时执行的内容答案:a解析:if条件语句程序执行过程是:首先对if后的条件进行判断,如果条件符合,就执行语句序列1,否则执行else后的语句序列2.3.下列条件语句中,若输入7,则该语句执行后输出的结果是_.输入t;if t-4 then c=10else c=5+6(t-3)end if输出c.答案:29解析:根据条件语句,因为t=7不满足t-4,所以执行c=5+6(t-3),最后输出c.10分钟训练 (强化类训练,可用于课中)1.下列关于if条件语句一般格式特点说法错误的是( )a.对if后条件判断后,若符合则执行该条件后的语句b.对if后条件判断后,若不符合则可以执行else后的语句c.对if后条件判断后,若不符合可以直接结束该条件语句d.if条件后的语句以及else后的语句可以同时执行答案:d解析:计算机在执行if条件语句时,首先对if后的条件进行判断,如果条件符合,就执行其后的语句,如果条件不符合,则可以直接结束该条件语句,也可以转而执行else后的语句.2.下列问题的算法适宜用条件语句的是( )a.求点p到直线l的距离 b.由直角三角形的两直角边求斜边c.解不等式ax+b0 d.计算100个数的平均数答案:c解析:要用到条件语句,就需要进行判断.由于a是大于0、小于0还是等于0未知,所以要用条件语句进行判断,故选c项.3.已知如下条件语句,若x=6,则其运行的结果是( )if x10 then y=0.35xelse y=100.35+(x-10)0.7end ifa.3.5 b.0.7 c.2.1 d.3答案:c解析:已知条件语句的算法功能为求分段函数y=的函数值当x=610时,y=0.356=2.1.4.分析以下复合if语句:输入s;if s20 and s60 then s=3s+5else if s60 then s=s-6 else s=10-s end ifend if输出s.若输入s=10,最后输出的结果是_.答案:0解析:此程序两次用到if条件语句而且是一个镶嵌在另一个里面,若输入s=10,判断s20 and s60是否成立,显然不成立,进入else下一步,判断s60是否成立,如果也不成立,再次进入else下一步,此时s=10-s,所以s=10-10=0.5.某商店对顾客购买货物款数满500元,减价3%,不足500元不予优惠.输入一顾客购买的款数,计算出这个顾客实交的款数.用条件语句描述算法.解:由题意得y=算法语句表示为:输入x; if x500 then y=0.97*xelse y=xend if输出y.30分钟训练 (巩固类训练,可用于课后)1.给出下列语句:输入x;if x0 then x=-xelse x=xend if输出x.试问,若输入x=8,则输出的数为( )a.8或-8 b.-8 c.8 d.0答案:b解析:x=8,根据if条件可知,符合条件x0,x=-8.输出的数就是-8.2.若运行如下算法语句,最后输出y的值为-20,那么应该输入t的值为( )输入t;if t5 then y=2t-8else y=8t-t2end if输出y.a.10 b.10或-6 c.-6 d.10或-2或-6答案:b解析:分别解两个方程:(1)8t-t2=-20(其中t要不小于5),解得t=10;(2)2t-8=-20(其中t5),解得t=-6.3.现运行如下条件语句,现在输入x的初值为,则运行结果为( )输入xif x2 then y=x/+3else y=x+1end if输出ya.+1 b.3 c.4 d.1答案:c解析:x=,满足if条件x2,y=+3=4.故选c项.4.阅读下列语句,如果输入x=,则输出结果y为_.输入x;if x then y=2sinx+1else y=4cosxend if输出y.答案:解析:因为x=不成立,所以执行y=4cosx,得函数值为.5.以下语句运行后输出的结果为_.x=4y=-8if x0 then x=y-7else y=y+3end if输出 x+2y,y-2x.答案:-6 -13解析:根据if语句,因为x=40,所以进入else语句,y=-5,而x=4,所以x+2y=-6,y-2x=-13.6.铁路部门托运行李的收费方法如下:y是收费额(单位:元),x是行李重量(单位:kg),当0x20时,按0.35元/kg收费,当x20 kg时,20 kg的部分按0.35元/kg,超出20 kg的部分,则按0.65元/kg收费,请根据上述收费方法编写程序语句实现上述算法.解:由题意知,y=所以要用条件语句实现算法.输入x;if 0x and x20 then y=0.35xelse y=0.3520+0.65(x-20)end if输出y.7.到银行办理异地汇款(不超过100万元)时,银行要收取一定的手续费.汇额不超过100元,收取1元手续费;超过100元但不超过5 000元,按汇款额的1%收取;超过5 000元,一律收取50元手续费.试用条件语句描述汇款额为x元时,银行收取手续费为y元的过程,并画出流程图.解:依题意可知,y与x的关系是y=因此利用条件语句实现算法:算法步骤如下:1.输入x;2.如果0x100,那么y=1;否则执行第3步;3.如果1 000 000x5 000,那么y=50;否则y=0.01x;4.输出y.用if语句表示为:输入x;if 0x100 then y=1else if 1 000 000x5 000 then y=50 else y=0.01*x end ifend if输出y.流程图如下图:3.2 循环语句5分钟训练 (预习类训练,可用于课前)1.循环语句中可以嵌套的语句是( )a.条件语句 b.循环语句c.输入、输出语句 d.以上三种语句均可答案:d解析:条件语句,循环语句,输入、输出语句都可以镶嵌在循环语句中,在一些稍微复杂的程序中经常可见.2.通过算法的学习,知道数学的机械化,能做许多我们用笔和纸不敢做的、有很大计算量且在算法上又有一定的重复性的问题,这主要归功于算法语句的( )a.输出语句 b.赋值语句c.条件语句 d.循环语句答案:d3.由下面的循环语句可知输出的结果是( )s=0for i=1 to 100s=s+ii=i+1next输出sa.5 050 b.2 525 c.5 000 d.1 010答案:a解析:循环变量i,从初值1到终止值为100,循环体为s=s+i,其功能为求1+2+3+100.故选a项.4.给定如下算法语句:s=0i=2do s=s+i i=i+3loop while i8输出s其运行的结果是_.答案:15解析:由条件i8知,当i8时终止循环,所以共循环3次.第3次循环时,i=8,s=2+5+8=15.10分钟训练 (强化类训练,可用于课中)1.运行以下循环语句的结果是( )s=0.5for i=(-1) to 1 s=s+i i=i+0.1next输出sa.0.5 b.1 c.1.5 d.-1.5答案:a解析:由题意知,循环次数为21,最后输出的s为s=0.5+(-1)+(-0.9)+(-0.1)+0+0.1+0.9+1=0.5.故选a项.2.下面循环语句运行后的结果是( )i=0s=0do s=s+i i=i+1loop while s20输出ia.5 b.6 c.7 d.8答案:c解析:最后输出的是i,指循环次数.即求满足条件s20的最大正整数.进入第6次循环时,s=0+1+2+3+4+5=1520,进入第7次循环时,s=0+1+2+3+4+5+6=2120,退出循环,此时i=6,输出i=i+1=6+1=7.3.运行以下for语句的结果是_.x=2for n=1 to 888 x=x+1 n=n+1next输出x答案:890解析:这是一个简单的循环语句,n的初值为1,步长为1,n的终值为888,就是求和x=2+1+1+1,共888个1和1个2相加,所以x=890.4.下列循环语句运行的结果是_.a=2i=1do a=a+1输出i,ai=i+1loop while i6答案:1,3 2,4 3,5 4,6 5,7 6,8解析:这个do loop循环语句中的条件是i6,然后第一步i=1,a=a+1=3,第二步i=i+1=2,a=a+1=4,根据条件一共计算了六次,输出六组结果.5.某电视机厂2006年全年生产电视机60万台,计划从2007年开始每年的产量比上一年增长15%,设计一个算法,计算从哪一年开始,该厂的电视机产量超过300万台,只写出算法语句.解:由于不知循环次数,所以用do loop语句来描述其算法.s=60;i=2 006;do s=(1+0.15)*s i=i+1loop while s300输出i.30分钟训练 (巩固类训练,可用于课后)1.下面关于do loop语句的说法,正确的是( )a.while后的条件被满足时执行循环体b.while后的条件不满足时执行循环体c.do loop循环语句不需要事先指定循环变量的初值d.do loop循环的次数可以是无限次答案:a解析:在do loop语句中,每一次重复后,都需要检验while后的条件是否被满足,一旦不满足条件,循环停止,故a项正确.2.以下循环语句运行后输出的结果是120,那么在语句中while后面的条件应为( )s=1i=2do s=s*i i=i+1loop while_输出sa.i5 b.i5 c.i5 d.i5答案:c解析:这个do loop循环语句中,第一周期s=s*i=1*2;i=i+1=3;第二周期,s=s*i=1*2*3;i=i+1=4;第三周期s=s*i=1*2*3*4;i=i+1=5,以此类推,到第四周期s=120,此时i=6,应该停止运算,所以条件处应填i5.3.以下循环语句运行后的输出结果为( )i=1do i=i+2 s=2*i+3 i=i-1loop while i8输出sa.17 b.19 c.21 d.23答案:c解析:进入第1次循环时,i=1+2=3,s=2*3+3=9,i=3-1=2;进入第2次循环时,i=2+2=4,s=2*4+3=11,i=4-1=3;,以此类推,在第7次进入循环时,i=7+2=9,s=2*9+3=21,i=9-1=8,不再满足条件i8,所以终止循环,输出s=21.故选c项.4.i=0for n=1 to 100 if int(n/7)=n/7 then i=i+1 end ifnext输出i上面for循环语句的目的是_.答案:计算1100能被7整除的数的个数解析:int(n/7)表示不超过的最大整数.5.下面do loop语句描述的算法功能是_.(只写式子不计算)i=1s=0do s=s+1/(2*i+1)i=i+1loop while i10输出s答案:s=解析:循环体为s=s+,初始值为0,终止条件是i10,不满足.当i=9时,i=9+1=10,不再满足i10,退出循环.6.下面语句表示什么样的算法?n=1s=0do s=s+n*n n=n+1loop while n100输出s解:n为循环变量,s为累加变量,且初值分别为n=1,s=0.第一次循环时,s=0+11=1,n=1+1=2.由循环体知,其功能是求连续正整数的平方和,且终止条件为n100,该语句是描述计算12+22+32+1002的和的算法.7.写出计算1+2+22+23+222的算法语句.解:用do loop语句描述该算法为:s=0i=0do s=s+2 i i=i+1loop while i22输出s.用for语句描述该算法为:s=0for i=0 to 22 s=s+2 ii=i+1next输出s.8.写出计算的值的算法语句,并画出流程图.解:观察题式可以看出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论