2019年度山东地区信息技术合格考复习材料题算法模块(历年真命题).doc
+-信息技术合格考复习题 算法(一)一、 选择题1.VB 表达式 68 mod 10 的结果是( )A.4 B.0 C. 8 D.162.在VB语言中,下列合法的变量名是( )A.2x B.x2 C.x/2 D. x*23.执行下列程序段后,输出的“*”的个数为( )For i=2 to 10 Print “*”Next iA.8 B.2 C.9 D. 104下列流程中,能正确表示选择结构的是( )A.(1)(2)(3) B.(2)(3)(4) C.(2)(4) D.(1)(3)5.二、操作题1.阅读下列程序,写出运行结果Dim I as integerDim s as integerDim n as integern=30s=0For I =2 To n-1 If n MOD i =0 Then s = s+iNext iPrint s程序运行后输出s的值是_2. 算法设计与程序实现假设银行的年存储利率为3%,如果现在存储10000元钱,问多少年后连本带息超过12000元。设定:连本带息=本金*(1+利率)年数【算法分析】假设n年后连本带息超过12000,根据题意得出:10000*(1+3%)n>12000。求最小的n。【参考程序】 Dim s As Single Dim r As Single Dim n As Integer s = 10000 r = 0.03 n = 0 Do While _ n = n +1 s = s*(1+r) Loop Print n ; “年后”;”连本带息超过”; s根据上述回答如下问题:(共8分,每题4分)(1)本题采用的算法是 (填:解析法/枚举法/排序法/递归法)(2)写出程序中空白处表达式 3. 算法设计与程序实现学校举行校园歌手大赛,评委由6人组成,评分方法:去掉一个最高分,去掉一个最低分,计算其余4位评委的平均分,作为选手的最终得分。【算法设计】max 记录最高分min 记录最低分s 记录六位评委的总分aver 记录最终得分第1步:从文本框中分别读入6位评委的打分并依次存入到a(1)到a(6)中;第2步:将第一位评委的打分a(1)分别赋给最高分max,最低分min和总分s;第3步:利用循环结构把另外5位评委的打分累加给s从而求出6位评委的总分s,同时把5位评委的打分与max与min进行比较,得出6位评委中的最高分max和最低分min;第4步:从总分s中去掉最高分max和最低分min,求出其他四位评委的平均分aver作为选手的最终得分。根据上述回答下列问题:(共8分,第一题2分,第二题3分,第三题3分。)(1)在设计界面过程中,窗体中录入评委打分的对象是下图中哪个控件生成的?_(填写编号:1/2/3/4)(2)上述算法描述采用的方法是: (填:自然语言/伪代码/流程图)(3)下列程序代码片段对应于算法描述中的第2步至第4步。max = a(1)min = a(1)s = a(1)For I = 2 to 6s = s + a(i) 求6位选手的总分if a(i) > max then max = a(i)if a(i) < min then min = a(i) Next i aver = (_)/4 计算出选手的最终得分aver请写出片段中括号内空白处的表达式 。信息技术合格考复习题 算法(二)一、选择题1.已知s=1+2+3+N,找出一个最大的N,使得s<30000,编写程序解决此问题,最适合的程序主体结构是( ) A.顺序结构 B.选择结构 C.循环结构 D. 分支结构2.下列变量名合法的是( ) A. abc*123 B.123abc C.abc_123 D.for3.执行下列语句后,y的值是( )x=16if x<0 then y=abs(x)else y=sqr(x)end if A.4 B.0 C. 16 D. 都不是4. 已知n是一个两位数,下列VB表达式中能正确求出n的个位数( ) A. n10 B. n/10 C. int(n10) D. n mod105.下列关于算法说法正确的是( )二、操作题1. 阅读下列程序,写出运行结果Dim n as integerDim i as integers=0For i=1 to 6 s=s+iNext i上述程序运行后,变量s的值是 2.阅读下方流程图,写出结果输入x,y的x=x+y开始y=x-yx=x-y输出x,y结束当输入x=8,y=10时,输出结果为:x= ,y= 3.算法设计与程序实现已知a、b、c分别为三角形的三条边长,利用海伦公式求三角形面积p = a+b+c2 s = pp-ap-b(p-c)编程实现:输入边长a ,b ,c,如果能构成三角形,输出面积,否则输出“No Answer!”【参考程序】Dim a As SingleDim b As SingleDim c As SingleDim p As SingleDim s As Singlea = 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分,每空4分)(1)利用海伦公式求三角形面积的算法是 (填:解析法/枚举法/排序法/查找法)(2)填写处参考程序中空白处的表达式 (填写字母:A/B/C/D)。 A. a+b>c or a+c>b and b+c>a B. a+b>c or a+c>b or b+c>a C. a+b>c and a+c>b or b+c>a D. a+b>c and a+c>b and b+c>a 信息技术合格考复习题 算法(三)一、选择题1.下列表达式能判断正整数x是偶数的是( )。A. x mod 2 = 1 B. x2 = 0 C. x mod 2 <> 0 D. x mod 2 = 02.下列程序段运行后,s的值是( )S=0For i=2 to 10 s=s+iNext iA.53 B.54 C.10 D.553.下列语句属于三种结构中的哪一种( ) x=100if x < 0 then y= abs(x)else y= sqr( x) end if它属于 ( )A.顺序结构 B. 选择结构 C. 循环结构 D.其他三项都是4.水仙花是三位整数,其各位数字立方和等于该数本身,如153=13+53+33,如果要求出所有的水仙花,下列算法最合适的是( ) A.解析法 B.枚举法 C.查找法 D.排序法5.下列变量正确的是( )A. dim for as double B. dim abc as integerC. dim 4ac as Boolean D. dim a*c as string二、操作题1.阅读下列程序,写出运行结果Dim a(10) As IntegerDim i As Integer Dim S As Integer For i = 1 To 5 a( I ) = i * iNext iS = a(3) + a(4)Print s上述程序运行后,变量s的值是 2.算法设计与程序实现假设我国目前人口数为13亿,如果每年增长率为1.2&。编写程序,计算多少年后我国人口数超过20亿。【算法分析】设n年后,我国人口数超过20亿。根据题意得出数学关系式:13*(1+1.2%)n>20。求最小的n。【参考程序】Dim p as singleDim r as singleDim n as integerp=13r=0.012n=0Do while _ n = n+1 p = p*(1+r)LoopPrint n ; “年后” ; “人口超过” ; p根据上述回答下列问题:(8分,每空4分)(1)本题采用的算法是 _ _(填写:解析法/枚举法/排序法/递归法)。(2)写出参考程序中空白处表达式 _ _。3.算法设计与程序实现(8分)求 s=3+6+9+300的值.解决该问题,可以采用如下两种不同的方法:方法1:方法2:Dim s As IntegerDim i As Integers=0For I = 3 to 300 step 3s = s + Next iPrint sDim s As IntegerDim i As Integers=0For I = 1 to 100s = s + Next iPrint s请补充完成上述程序:_;_信息技术合格考复习题 算法(四)一、选择题1.在VB语言中,下列合法的变量名是( ) A. x*y B. xy C. x/y D.do2. 已知在VB 语言中,Int(x)函数的功能是返回不大于x的最大整数,Fix(x)函数的功能是返回x的整数部分,则表达式int(2.88)+fix(-3.89)的值是( )。A.1 B.01 C.-1 D.都不是3.下列问题适合用解析法求解的是( )A.一个小球从100米高的楼顶坐自由落体运动,求落地时的速度VB.输出1000以内所有的完全平方数C.在一组彩球中寻找出所有的红球D.将全班同学根据身高从高到矮排队4.一元二次方程判别式b2-4ac的VB表达式正确的是( )A. b*b-4*a*c B. b*b-4ac C. b2-4ac D.b2-4*ac5.下列程序段运行后,s的值是( ) s=0 For i=2 to 10 s=s+iNext iA.53 B.54 C.10 D.55二、操作题1.算法设计与程序实现以下是计算s=1-2+3-4+5+99-100程序代码,请补全程序。(8分)Dim S as integerDim i as integers=0For i =1 to 100 If i mod 2 = 1 then s=_ Else s=_ End if Next iPrint “S=”;S2.算法设计与程序实现一张单据上有一个4位数的号码80,其中百位和十位上的数字已看不清楚了,但知道该4位数既能被23整除,也能被37整除。请编写程序求出该单据号码。【算法设计】设百位数为x,十位数字为y:x 和 y的范围都是0到94位数:8xy0=8*1000+x*100+y*10列举里的两个数字的所有可能的情况:00,01,02,03,04,05,06,07,08,09,10,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 9 For y=0 to 9n=8*1000+x*100+y*10If _ thenPrint n End If Next yNext x 根据上述回答下列问题:(共8分:第一题3分;第二题2分;第三题3分)(1)解决该问题采用的算法是_ _(填写:解析法/枚举法/排序法/递归法)。 (2)根据题意,程序中空白处应填写:_(填写字母:A/B/C/D)。开始输入xn=0=0X2-4x+30x=x+1n=n+1输出n结束NYA. n mod 23 = 0 or n mod 37 = B. n 23 = 0 and n 37 = 0C. n 23 = 0 or n 37 = 0D. n mod 23 = 0 and n mod 37 = 0(3)根据算法设计,参考程序中循环体中的语句“n=8*1000+x*100+y*10”,一共重复了多少次?_。3.阅读右侧流程图,写出结果(4分)当输入x=1时,输出n的值=_信息技术合格考复习题 算法(五)一、选择题1.已知赋值语句s=”Good Bye!”,则下列定义变量s正确的是( ) A. Dim s As String B. Dim s As Long C. Dim s As Integer D. Dim s As Double 2.仪仗队队员对身高H的选拔要求是:高于1.85米,不超过1.90,下列表达式能正确表达的是 ( )A. H>=1.85 and H<=1.90 B. H>1.85 or H<=1.90C. H>=1.85 and H<=1.90 D. H>1.85 and H<=1.903.程序有三种基本结构,下面哪个不属于三种基本结构( )A. 顺序结构 B.树形结构 C.选择结构 D.循环结构4.下列序列能采用二分查找法查找某一元素的是( ) A.34,25,17,9,10,3 B.15,14,12,7,2,3 C.6,9,12,14,23,25 D.1,4,7,15,135.已知n是一个两位数,下列VB表达式中能正确求出n的个位数( ) A. n10 B. n/10 C. n100 D. n mod10二、操作题1.阅读下列程序,写出运行结果 Dim i as integer ,j as integer s=0 For i=1 to 3 For j=1 to 5 S=s+1 Next j Next i Print s程序运行后,程序的结果是 2. 算法设计与程序实现已知包含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 integerDim s As singles=0For i= 1 To 25 s=s+_(3分)Next iPrint “s=”;s3. 算法设计与程序实现(百钱买百鸡)假设1只公鸡值5钱,1只母鸡值3钱,3只小鸡值1钱。现用100钱来买100只鸡。问:公鸡.母鸡.小鸡各买多少只?(要求公鸡.母鸡.小鸡,每种最少买一只)公鸡 母鸡 小鸡 4 18 78 8 11 81 12 4 84 计算设计算法并编写程序输出所有的买鸡方案。界面及运行结果【程序设计】 For x=1 to 20 For y=1 to 33 For z=1 to 99 step 3 If _then Print “公鸡:”& x,”母鸡:”&y,”小鸡”&z Next z Next y Next x 根据上述回答如下问题:(1)解决此问题采用的算法是_ _(填写:解析法/枚举法/排序法/递归法)。(2)程序代码中空白处应填写的条件是_A. x+y+z=100 and 5x+3y+z/3=100 B. x+y+z=100 or 5x+3y+z/3=100C. x+y+z=100 and 5*x+3*y+z/3=100 D. x+y+z=100 or 5*x+3*y+z/3=100信息技术合格考复习题 算法(六)一、选择题1下列选项中,关于算法的描述正确的是( )。A算法只能用自然语言描述 B算法必须在有限步骤内实现C算法就是一种高级程序设计语言D算法可以有0个或多个输入,但只能有一个输出2下列选项中,能作为VB程序变量名的是( )。 A.while B.4A123 C. a%c D. dist3以下程序段执行后,输出结果为( )。 m=29 If m Mod 3 <> 0 Then Print m & “不能被3整除” Else Print m & “能被3整除” End If A. n能被3整除B. n不能被3整除 C. 29不能被3整除 D. 29能被3整除4下列VB表达式中,值为字符串类型的是( )。(1) Abs(x)(2) Text1.Text (3)”123+45” (4) Sqr(x)(5) Labell.Caption A. (1)(3)(5) B. (2)(3)(5) C. (2)(4)(5) D. (1)(2)(3)5.在VB中,下列哪个选项是正确的赋值语句?( )A. 2018=xB. 5s=80 C. a+b=c D. s=s+5二、操作题1、阅读程序,写出运行结果 Dim n As Integer n=Val(InputBox(“n=”) Do While n Mod 2=0 n=n2 Loop Print n程序运行时,输入24,输出n的值是:_2、分析并完善程序 以下是计算s=1+6+11+101的程序代码,请完善程序。 Dim s As Integer Dim i As Integer s=0 For i=1 To 101 Step_ s=_ Next i Print s3、算法设计与程序实现 某市出租车收费标准如下: (1)3公里内(含3公里),收费8元; (2)超过3公里但未超过6公里部分,按1.5元/公里收费; (3)超过6公里部分,按2.25元/公里收费。 根据以上标准,输入出租车行驶的公里数,请计算顾客需付费多少元? 【参考代码】 Dim s As Single Dim p As Single s=Val(InputBox(“s=”) If s<=3 Then p=8 End If If _Then p=1.5*(s-3)+8 End If If s>6 Then p=2.25*(s-6)+1.5*3+8 End If Print p根据上述回答下列问题:1. 本题采用的算法是_(填写:解析法/查找法/枚举法/排序法)。2. 程序代码中空白处应填写的条件是_(填写字母:A/B/C/D).A. 3<s6B. 3 s6 C. s>3 And s<=6D. s>3 Or s<=6信息技术合格考复习题 算法(七)一、选择题1.设a=2,b=5,在VB中,表达式a>b And b>3的值是()。A.1 B.1 C .False D. True2.以下程序段运行后,x和st的值分别是()。Dim x AsInteger Dim st AsString x=123+678 st=”123”+”678”A.123678“123678” B.801“123678” C.123678“801”D.801“801”3.用流程图表示条件“A>B”是否成立,要用到以下哪个图形?()A.平行四边形 B.菱形 C.圆角矩形 D.直角矩形4.下列选项中,能作为VB程序变量名的是()。A.dim B. 3ab C. a*b D. xy5.以下程序段运行后,s的值是()。n=0s=0DoWhile s<=10 n=n+3 s=s+nloopA. 30 B. 18 C. 0 D. 3二、操作题1.阅读程序,写出运行结果Dim a(10) As Integer Dim I As Integera(1)=1a(2)=1 For i=3 To 6 a(1)=a(i-1)+a(i-2)Next iPrint a(6)上述程序运行后,输出a(6)的值是_。(6分)2.分析并完善程序以下是计算s=1*2*3*10的程序代码,请补全程序。(6) Dim s As Long Dim i As Integer s=_ For i=1 To 10 s=_ Next i Print s3.算法设计与程序实现 勾股数求出100以内满足a<b的所有勾股数。【参考程序】Dim a As IntegerDim b As IntegerDim c As IntegerFor a=1 To 100For b=1 To 100 For c=1 To 100 If _Then Print a;b;c End If Next cNext bNext a1.本题采用的算法是_(填写:解析法/ 枚举法/排序法/递归法)。2.程序代码中空白处应填写的条件是_(填写字母:A/B/C/D).A.a<b And a2+b2=c2 B. a<b Or a2+b2=c2C.a<b And a2+b2=c2 D.a<b Ora2+b2=c2信息技术合格考复习题 算法(八)一、选择题1.下列选项中,能作为VB程序变量名的是()。A. s+1 B.3stu C.true D.s12.下列哪个程序段的运行结果如图所示?()* for i=1to5forj=1to 6Print” *” nextj print next iB . for i=1to5 fori=1to 6print” *” next i print next iC. for i=1 to5 For j=1to 6Print” *” next j print next jD. for i=1to5 Forj=1to 6 Print” *” next j print next i3.在VB中,Int(x)函数的功能是返回不大于x的最大整数,设a=3,b=4,c=5,则下列表达式的运算结果中值最大的是()。A. Sqr(c) B.Abs(a-b) C.Int(2*a-c/b) D.a2+b2-c24.在VB中,用变量code存储学生的借阅卡编码(code=”N020170502”),则变量code的数据类型应定义为()。A.Integer B.Double C.String D.Single5.Visual Basic程序设计语言属于()。A.汇编语言 B.自然语言 C.高级语言 D.机器语言二、操作题1.阅读程序,写出运行结果Dim i As IntegerDim x As IntegerDim y As Integery=30For i=1 To 3 x=Val(InputBox(“x=”) If y< x Then y=x EndIfNext iPrint y程序运行后,依次输入:36 87 51运行后输出结果是_。(6分)2.算法设计与程序实现(拖动滚动条浏览全部试题内容,点击右侧图标可切换输入法)GDP增长问题:某省2016年的GDP是6.7万亿元,如果每年按7%的比例增长,问多少年以后此省的GDP超过15万亿?【算法分析】假设n年后此省的GDP超过15万亿元,根据题意得出数学关系式?求最小的n。【参考程序】 Dim pAs Singlep用于记录GDP的值 Dimr As Singler用于记录GDP的年增长比例 Dimn As Integern用于统计年数 p=6.7r=0.07n=0Do While_p=p*(1+r)n=n+1LoopPrint n & ”年后,GDP的值超过15万亿元。”根据上述回答下列问题:(共6分,每空3分)(1)本题采用的算法是_(填写:解析法/枚举法/排序法/递归法)。(2)写出程序中空白处表达式_。3.算法设计与程序实现判断车牌的单双号【背景知识】 为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号限行,违反规定的车辆将予以处罚。如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮忙,完善下面的程序。(提示:(1)所有车牌号中都含有数字,并且车牌号的长度都是6;(2)以车牌中最后一位阿拉伯数字的奇、偶来决定单双号。)(1)输入:AD2367(2)输入:A8888A(3)输入:A8963C输出:单号输出:双号输出:单号自然语言流程图第1步:输入车牌号第2步:取车牌号的最后一位x;第3步:判断x是否为数字,如果是,转第4步;如果不是,则依次取得倒数第二、三位判断,知道找到数字为止;第4步:判断x是奇数还是偶数,然后输出相应的结果。开始【算法描述】请根据上述算法描述补全代码 Dim n As Integer Dim s As String定义s为字符串类型 Dim x As String s=InputBox(“s=”,s) 将输入的车牌号赋值给s n=6 车牌号的长度为6 x=Mid(s,n,1) 取车牌号s的第n位 Do While x<”0” Or x>”9” x不是数字字符,则取x的前一位_x=Mid(s,n,1) 取车牌号s的第n位 Loop If _then Print“双号” Else Print“单号” End If(提示:Mid(s,m,n)的功能:从字符创S的第m位开始,截取长度为n的子串。例如:Mid(“A8963C”,5,1)的返回值是“3”。)请完善上述程序:(共8分,每空4分)(1)根据题意,程序中空白处应填写:_。(2)根据题意,程序中空白处应填写:_(填写字母:A/B/C/D)。A.Val(x) 2= 0 B.Val(x)Mod 2 = 1 C.Val(x) Mod 2=0 D.Val(x) Mod 2 <> 0信息技术合格考复习题 算法(九)一、选择题1.一下程序段运行后,y的值是()。 x=3 If x>3Then y=2*x Else y=3*x+1end ifA .25 B. 26 C. 10 D. 52.某晚会的猜数字游戏中,有100张写有1100之间整数的卡片,主持人随机抽取一张卡片,让大家竞猜。有一种方案是:第一次猜50,若提示低了,则第二次猜75,若提示还是低了,则第三次猜87,依次类推;若第一次猜50,提示高了,则第二次猜25,若提示还是高了,则第三次猜12,依次类推;。这种每次缩小一半查找范围而达到迅速确定目标的算法称为()。A.顺序查找法 B.排序法 C.解析法 D.二分查找法3.在平面直角坐标系中,设点A(x1,y1)、点B(x2,y2),则AB两点之间的距离为:VB表达式是()。A. Sqr(x1-x22+(y1-y2)2) B. Sqr(x1-x2)2+(y1-y2)2C. Sqr(x1-x2)2+(y1-y2)2) D. Sqr(x1-x2)2+(y1-y2)24.下列语句正确定义了一个单精度实型变量x的是()。A.Dim x As Single B.其它三项都不对 C.Dim x As Integer D.Dim x As String5.在VB中表示“x属于区间a,b)”的正确表达式是()。A.a<=x And x<b B.a<=x Or x<b C.ax And x<b D. a<=x<b二、操作题1.阅读程序,写出运行结果 Dim s As Integer Dim i As Integer s=0 For i=1 To 10 Step 4Print “#”;s=s+i Next i Print