信息技术学业水平算法模拟试题(二)_第1页
信息技术学业水平算法模拟试题(二)_第2页
信息技术学业水平算法模拟试题(二)_第3页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、信息技术学业水平算法模拟题分析题部分1、阅读程序,写出运行结果Dim a(10) As IntegerDim i As Integera(1)=1a(2)=1For i=3 To 6a(i)=a(i-1)+a(i-2)Next iPrint a(6)上述程序运行后,输出 a(6) 的值是 (6 分)2 、分析并完善程序以下是计算s=1*2*3*10的程序代码,请补全程序。(6分)Dim s As LongDim i As Integers=For i=1 To 10s=Next iPrint s3 、算法设计与程序实现勾股数勾股数是指满足条件 a2+b 2=c 2的自然数,求出 100 以内满

2、足 a<b 的所有勾股 数。【算法分析】a 的取值范围 1,100;b 的取值范围 1,100;c 的取值范围 1,100.【参考程序】Dim a As IntegerDim b As IntegerDim c As IntegerFor a=1 To 100For b=1 To 100For c=1 To 100If ThenPrint a;b;cabc 之间以分号分隔End IfNext cNext bNext(1)本题采用的算法是 (填写:解析法/枚举法/排序法 /递归法)( 2 )程序代码中空白处应填写的条件是 (填写字母:A/B/C/D )2 2 2A、a<b And a

3、 2+b 2=c 2B、a<b Or a 2+b 2=c 2C、a<b And aA2+bA2=cA2D、a<b And &八2+匕人2=。八24 、阅读程序,写出运行结果Dim s As IntegerDim i As Integers=0For i=1 To 10 Step 4Print “# ” s=s+iNext iPrint s上述程序运行后,输出“ # ”的个数是 ;输出 s 的值是 。(共 6 分,每空 3 分)5、阅读程序,写出运行结果Dim a As IntegerDim b As IntegerDim r As Integera=98b=63r=a

4、 mod bDo While r<>0a=bb=rr=a Mod bLoopprint b程序运行后,输出结果为: 。( 6 分)6、算法设计与程序实现换钱问题要将一张 100 元的钞票,换成等值的 5 元、 2 元、1 元一张的钞票共 50 张。其中一种换发如下:5 元:3 张 2 元: 38 张 1 元:9 张 求出所有的换钱方案。 【算法设计】x表示5元的张数:1 < x < 20;y表示2元的张数:1 < y < 50;z表示1元的张数:1 <z < 100.【参考程序】Dim x As IntegerDim y As IntegerDi

5、m z As IntegerFor x=1 To 20For y=1 To 50For z=1 To 100IfThenPrint x;y;zEnd ifNext zNext yNext x根据上述回答下列问题:(8分,每空4分)(1)本题采用的算法是递归法)。(2)程序代码中空白处应填写的条件是 A、5x + 2y + z=100 Or x + y + z = 50B、5x + 2y + z=100 And x + y + z = 50C、5*x + 2*y + z=100 Or x + y + z = 50y z之间以分号分隔(填:解析法/枚举法/排序法/(填写字母:A/B/C/D )。7

6、、分析并完善流程图D、5*x + 2*y + z=100 And x + y + z = 50执行流程图,当输入x的值为4时,输出y的值为2,则菱形判断框中的条件可能为 (填写字母:A/B/C/D 6 分)B、x>4A、x>3C、 x<=4D、x<=58、分析并完善程序以下是计算s=12+22+32+1002 的程序代码,请补全程序。(共6分,每空3分)Dim s As LongDim i As In tegers=0For i=1 To 100s=s+Print s9、算法设计与程序实现十进制整数转换为二进制整数采用“除 2取余”法。算法描述第1步:输入一个十进制正整

7、数n ;第2步:将n除以2,记录余数r ;第3步:将r追加到字符串s的左边(s用于记录转换后的二进制数,初值为 空);第4步:将n除以2的商赋给n ;第5步:若n为0,则转到第6步;若n不为0,转到第2步;第6步:输出s (即逆序输出每一次的余数)。举例说明界面设计OBS对应的变化* 一2|131EE2Q231401河广'工訓氐莽竝将一个十进制数13转换为二进制二鼻蹄滋【参考程序】Dim s As Stri ngDim n As In tegerDim r As In tegera »s=记录转换后的二进制数记录十进制正整数n记录n除以2的余数'S己录转换后的二进制数

8、,初值为空n=Val(Text1.Text)Do While n>0r=s=r & sn=LoopText2.Text=s(1)、上述算法描述采用的方法是: (填:自然语言/伪代码/流程图)。(2分)(2、在参考程序处应填入 (填写字母:A/B/C/D )。(3分)A、n Mod 2B、n 2C、2 Mod nD、n / 2(3、在参考程序处应填入 (填写字母:A/B/C/D )。(3 分)A、n Mod 2B、n 2C、2 Mod nD、n / 210 、阅读程序,写出运行结果Dim n As Integer n=Val(InputBox(“ n= ” )Do While n

9、Mod 2=0n=n2LoopPrint n程序运行时,输入 24,输出 n 的值是: (提示: 整除运算 如:172=8 ; Mod 取余数运算如:17 mod 2 =1)11 、分析并完善程序以下是计算s=1+6+11 +101的程序代码,请完善程序。Dim s As IntegerDim i As Integers=0For i=1 To 101 Steps=Next iPrint s12 、算法设计与程序实现 某市出租车收费标准如下:(1 ) 3 公里内(含 3 公里),收费 8 元;(2)超过 3 公里但未超过 6 公里部分,按 1.5 元/公里收费;(3)超过 6 公里部分,按 2

10、.25 元/ 公里收费。 根据以上标准,输入出租车行驶的公里数,请计算顾客需付费多少元? 【参考代码】Dim s As SingleDim p As Singles=Val(InputBox(“ s=” )If s<=3 Thenp=8End IfIf Thenp=1.5*(s-3)+8End IfIf s>6 Thenp=2.25*(s-6)+1.5*3+8End IfPrint p根据上述回答下列问题:(1)、本题采用的算法是 (填写:解析法 /查找法 /枚举法 /排序法)( 2 )、程序代码中空白处应填写的条件是 (填写字母:A/B/C/D ).A、3<s 三6B、3三

11、s三6C、s>3 And s<=6D、s>3 Or s<=613 、阅读下列程序,写出运行结果( 6 分)S=0For i=1 to 3For j=1 to 5S=s+1Next jNext iPrint s上述程序运行后 s 的输出值是 (6分)14 、算法设计与程序实现假设公鸡一只 5 钱,母鸡一只 3 钱,小鸡一钱 3 只。现用 100 钱来买 100 只 鸡。问:公鸡、母鸡、小鸡各买多少只?(要求公鸡、母鸡、小鸡都是整数) 设计算法并编写程序输出所有的买鸡方案Dim x As Integer , y As Integer , z As IntegerFor x=

12、0 To 20For y=0 To 33For z=0 To 99 Step 3If ThenPrint “公鸡: ” x, “母鸡: ”y, ”小鸡: ” zExit ForEnd IfNext zNext yNext xEnd Sub【算法设计】根据上述回答如下问题(共 8 分,每题 4 分)(1)、本题采用的算法是 (填写:解析法 /枚举法/排序法 /递归法)(2)、程序代码中空白处应填写的条件是 (填: A/B/C/D )A、 x + y + z=100AND 5x+3y+z/3=100B、 x + y + z=100OR 5x+3y+z/3=100C、 x + y + z=100AN

13、D 5*x+3*y+z/3=100D、 x + y + z=100OR 5*x+3*y+z/3=10015 、补全程序数列问题已知包含25项的数列:1,2/3,3/5,24/47,25/49问题 1 :写出该数列的通项公式 f(n)= 。(3 分)问题2 :以下是计算s=1+2/3+3/5+24/47+25/49的程序,请补全代码:Dim i As In tegerDim s As Si ngles=0For i=1 to 25s=s+(3分)Next iPrint s= ”,s16、求三角形面积已知a、b、c分别为三角形的三条边长,利用海伦公式求该三角形面积p=(a+b+c)/2S = yj

14、p(p - a)(p - b)(p - c编程实现:输入边长 a,b,c,如果能构成三角形,输出面积,否则输出“NoAnswer! ”界面如下:(8分)Dim a As Si ngle , b As Si ngle , c As Si nglea=val(text1.text)b=val(text2.text)c=val(text3.text)If () thenp=(a+b+c)/2s=sqr(p*(p-a)*(p-b)*(p-c)text4.text=format(s,”0.00 ”)结果保留两位小数Elsetext4.text=”no answer ”End If根据上述回答下列问题(8

15、分,每空4分)(1)、利用海伦公式求三角形面积的算法是 (填写:解析法/查找法/枚举法/排序法)。(2)、填写出参考程序中空白处的表达式 (填写字母:A/B/C/D )A、a +b > cora + c > bandb + c > aB、a +b > cora + c > bor b+ c > aC、a +b > canda + c > borb + c > aD、a +b > canda + c > bandb + c > a17、阅读卜列程序,写出运行结果6分)Dim S As in tegerDim k As in

16、tegerS=0For k=1 to 6 step 2S=S+kNext kPrint s输出s的值是(6 分)18、阅读下列程序,写出运行结果(6分)当输入x=8,y=10 时,输出x=,y= 。(共6分,每空3分)19、人口增长问题假设我国目前人口数为13亿,如果每年增长率为1.2%,填写程序,计算多少年后我国人口数超过20亿。【算法分析】Dim p as si ngleDim r as si ngleDim n as in tegerP=13r=0.012n=0Do whilen=n+1p=p*(1+r)LoopPrint n: ”年后”:”人口超过”:p根据上述回答下列问题(8分,每空

17、4分)(1 )、本题采用的算法是 (填写:解析法/枚举法/递归法)(2)、写出参考程序中空白处表达式 20、分析完善程序求 s=3+6+9+300 值。解决该问题,可以采用如下两种不同的方法:方法1:方法2:Dim s as itktegerDun sas integerDxni i as inteecrDim 4 as turegcrs=aS=<KFar 产| 询 1QQ-For 1=3 to 300 step$=s+ (I) * -Next j ”Nexi i Prmt 4Prini $ *请补充完成上述程序:(1) (2)(分,每空4分)21、阅读下列程序,写出运行结果(4分)Di

18、m a(10) As In tegerDim i as In tegerDim S as In tegerFor i=1 To 5a(i)=i*1Next iS=a (3)+a Print s上述程序运行后,变量S的值是22、 以下是计算S=1-2+3-4+5+99-100程序代码,请补全程序Dim S as in tegerDim i as in tegerS=0For i=1 to 100If i mod 2=1 the nS=ElseS=End IfNext iPrint s= ”;s23、阅读下列流程图,写出结果当输入X=1时,输出n的值=24、分析解决问题:有一张单据,编号为四位数,

19、号码为:80,中间两位被污浊看不出来 已知该单据能够被23和37整除,请编程求出该单据号码【算法设计】设百位数字为x,十位数字为y,x和y的范围都是0到94 位数 8xy0=8*1000+x*100+y*10列举里的两个数字所有可能情况;00,01,02 ,03,04,05,06,07,08,0910,11,12,13,14,15,16,17,18,1990,91,92 ,93,94,95,96,97,98,99逐一判断找出符合条件的数字【参考代码】:Dim x as longDim y as longDim n as longFor x=0 to 9For y=0 to 9n=8*1000+

20、x*100+y*10If thenPrint nEnd IfNext yNext x根据上述回答下面问题(1 )、解决该问题采用的算法是: (填:解析法/枚举法/排序法/递归法)(2)、根据题意程序中的空白处应该填写: (填:A/B/C/D )A、n mod 23=0 OR n mod 37=0B、n23=0 AND n37=0C、n23=0 OR n37=0D、n mod 23=0 AND n mod 37=0、根据算法设计,参考程序中循环体中的语句“n=8*1000+x*100+y*10”一共重复执行了多少次。 。25、银行存钱假设银行的年存储利率为3%,如果现在存储10000元钱,问多少

21、年后连本带 利超过12000元。设定:连本带利=本金* (1+利率)八年数【算法分析】假设n年后连本带息超过12000,根据题意得出数学关系式:10000*(1+3% ) An>12000, 求最小的 n【参考程序】Dim S As Si ngleDim r As Si ngleDim n As In tegerS=10000r=0.03n=0Do while n=n+1S=S*(1+r)LoopPrint n ; ”年后”;”连本带利超过”;S26、分析解决问题学校举行校园歌手大赛,评委由 6人组成。评分方法:去掉一个最高分和一个 最低分,计算其余4位评委的平均分,作为选手的最终得分。

22、max记录最高分min记录最低分S记录六位评委的总分Aver记录最终得分第1步:从文本框中分别读入 6位评委的打分并依此存入到 a( 1 )至a(6) 中:第2步:将第1位评委的打分a( 1 )分别赋给最高分max,最低分min和总 分S第3步:利用循环结构把另外5位评委的打分累加给S从而求出6位评委的总 分S,同时把5位评委的打分与max和min进行比较,得出6位评委中的最 高分 max和最低分min第4步从总分S中去掉最高分max和最低分min,求出其他4位评委的平均 分aver作为选手的最终得分。下列程序代码片段对应于算法描述中的第2步至第4步。请填写片段内空白处的表达式Max=a (

23、1)Min=a ( 1)S= a (1)For i = 2 To 6S=S + a ( i)If a ( i)max Then max=a(i)If a ( i)min then min=a(i)Next iAver=/4计算出选手的最终得分 aver27、阅读下列程序,写出运行结果Dim i as in tegerDim s as in tegerDim n as in tegern=30s=0For i=2 to n-1If n mod i=0 the n s=s+in ext IPrint s程序运行后输出s的值是28、算法设计与程序实现判断车牌的单双号【背景知识】为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号限 行,违反规定的车辆将予以处罚。如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮 忙,完善下面的程序。(提示:(1)所有车牌号中都含有数字,并且车牌号的长 度都是6 ;(2)以车牌中最后一位阿拉伯数字的奇、偶来判定单双号。请根据上 述算法描述补全代码)Dim n As In tegerDim s As String'定义s为字符串类型Dim x As Stri ngs=InputB

温馨提示

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

评论

0/150

提交评论