高中信息技术VB程序的调试会考复习题.docx
- 文档编号:12705664
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:28
- 大小:229.89KB
高中信息技术VB程序的调试会考复习题.docx
《高中信息技术VB程序的调试会考复习题.docx》由会员分享,可在线阅读,更多相关《高中信息技术VB程序的调试会考复习题.docx(28页珍藏版)》请在冰点文库上搜索。
高中信息技术VB程序的调试会考复习题
高中信息技术VB程序的调试会考复习题
学校:
___________姓名:
___________班级:
___________考号:
___________
一、选择题
1.数组排序。
点击“产生随机数”按钮,让计算机随机产生10个整数,并对这10个整数进行标号,再点击“排序”按钮,对这10个整数进行从大到小排序。
如图所示。
程序代码如下:
Dima(1To10)AsInteger
Dimi,j,k,ktAsInteger
PrivateSubCommand1_Click()
List1.Clear '清除列表框数据
Fori=1To10
Randomize '随机数初始化
a(i)=Int(Rnd()*1000)
List1.AddItemStr(i)+”=”+Str(a(i))
Nexti
Command2.Enabled=True '激活排序按钮
EndSub
PrivateSubCommand2_Click()
Fori=1To9
k=i
Forj=____①____To10
Ifa(j)>a(k)Thenk=j
Nextj
Ifi<>kThen
__②____
EndIf
Nexti
List2.Clear
Fori=1To10
List2.AddItemStr(i)+”=”+Str(a(i))
Nexti
EndSub
请在①、②划线处填入合适的语句或表达式,把程序补充完整:
程序中①划线处应填入__________________;
程序中②划线处应填入__________________。
【答案】①I+1;②t=a(k):
a(k)=a(i):
a(i)=t
【解析】
2.Subtest2()
a=12:
b=12:
c=5
Label1.Caption=""
Label2.Caption=""
Ifa>bOrNotb Label1.Caption="monday" Else Label2.Caption="tiger" EndIf Label3.Caption="Label1.Caption+"Label2.Caption Endsub 该程序段运行后,在标签Label3的Caption属性值是() A."monday"B."tiger"C."mondaytiger"D."" 【答案】A 【解析】 3.在窗体上画一个命令按钮,名称为command1,单击命令按钮,执行如下事件过程: PrivateSubCommand1_Click() DimaAsString DimcAsString a="softwareandhardware" c=Mid(a,14,8) Text1.text=c EndSub 则在文本框Text1中显示的信息是() A、softwareandhardware B、software C、hadrware D、and 【答案】C 【解析】 4.有如下VisualBasic程序段: s=1 fori=1to11step3 s=s*i nexti 语句s=s*i共执行的次数为() A.11B.10C.5D.4 【答案】D 【解析】 5.数学表达式“a>b>c”对应的VB表达式是() A.a>b>cB.a>banda>cC.a>bandb>cD.a>borb>c 【答案】C 【解析】 6.表达式abs(int(-2.88)+int(3.14))的值是()。 A.5B.0C.1D.2 【答案】B 【解析】 7.对以下程序段的说法正确的是() s=0 i=0 DoWhiles<10 i=i+1 s=s+i*i Loop A.该程序的循环体执行了3次 B.该程序段结束后i的值为3 C.该程序段结束后i的值为4 D.该程序段结束后s的值为13 【答案】ABD 【解析】 8.在VisualBasic代码中,将多个语句合并在一行上的并行符是() A.撇号(')B.冒号(: )C.感叹号(! )D.问号(? ) 【答案】B 【解析】 9.有如下一段VB程序。 PrivateSubCommand1_Click() DimyAs Long Text1.Text="" y=f(3) Label1.Caption=Str(y) EndSub Functionf(nAsInt eger)AsLong Text1.Text=Text1.Text+Str(n) Ifn<=1Then f=1 Else f=f(n-1)+2 EndIf EndFunction 程序运行时,单击命令按钮Command1后,文本框Text1中显示的内容是() A.1B.3C.123D.321 【答案】D 【解析】 10.下列关于CommandButton控件的叙述正确的是() A.CommandButton控件的Caption属性决定按钮上显示的内容 B.单击VB应用程序中的按钮,则系统激活按钮控件对应的Change事件 C.CommandButton控件的name属性决定按钮上显示的内容 D.以上都不对 【答案】A 【解析】 11.某VisualBasic工程的相关视图如下图所示: 从图中信息可知,下列说法不正确的是() A.窗体中有一个按钮对象,名称为Command1 B.该程序中用到了Timer控件 C.当前代码窗口中显示的事件处理过程名为“Command1_Click” D.该工程的窗体文件名“snow.vbp” 【答案】D 【解析】 12.在VB中,x=10,则执行下列语句的结果是print"a=";a A.a=10B.a=aC.10D.10=10 【答案】A 【解析】 13.在VisualBasic中,下列语句定义错误的是: () (A)constg=9.8(B)DimFalseAsBoolea (C)Dimb(1to5)AsString(D)DimyAsLong 【答案】B 【解析】 14.已知x="VisualBasic",则表达式Mid(x,6,3)的值为: () (A)"lBa"(B)"lB"(C)"Bas"(D)"lB" 【答案】B 【解析】 15.若运行时输入5、9,以下流程图的运行结果是_______。 A.14,45 B.14,126 C.a+b,a*b D.126,14 【答案】A 【解析】 16.如第20题图所示的流程图片段: 该流程图执行过后,a、b、c的值分别为: () A.a=21,b=9,c=13B.a=5,b=8,c=13 C.a=5,b=9,c=14D.a=21,b=9,c=14 【答案】A 【解析】 17.编写VB程序,实现如下功能: 在文本框Textl和Text2中分别输入一个整数,单击命令按钮Command1,在列表框List1中显示结果,运行效果如第1图所示。 结果包含两列数据,第1列为两数之间的摄氏温度值(间隔1度、升序),第2列为对应的华氏温度值。 1图2图 (1)要使命令按钮Command1上显示的文本改为“转换”,可在其属性窗口(2图)中将 属性的属性值修改为“转换”。 (2)为实现上述功能,请在划线处填入合适代码或选项。 PrivateSubCommand1_Click() Dimt1AsInteger,t2AsInteger DimiAsInteger,tAsInteger DimfAsSingle List1.Clear t1=Val(Text1.Text) t2=Val(Text2.Text) If①Then'(选填字母,从下列A、B、C、D四个选项中选取一项) t=t1: t1=t2: t2=t EndIf i=t1 DoWhile②'(选填字母,从下列A、B、C、D四个选项中选取一项) f=i*9/5+32'摄氏温度转换为华氏温度 List1.AddItemStr(i)+""+Str(f) ③'(填程序代码) Loop EndSub 划线①、②处的选项: A.i<=t2B.f<=t2C.t1>t2D.i 【答案】 (1)Caption (2)①C②A③i=i+1 【解析】 18.如图所示流程图片断该流程图中循环部分结束后,变量S的值是() A、5B、15 C、25D、36 【答案】B 【解析】 小庄编写了一个统计数组元素a(l)到a(n)中的“升序段”个数s(如图所示的数据序列,其“升序段”的个数等于3)的VB程序。 部分程序如下: k=0: s=0 Fori="2"Ton Ifa(i)>a(i-1)Then Else Ifk="1"then s=s+1 k=0 endif EndIf Nexti Textl.Text=Str(s) 方框中的正确语句是() A.k="k"-1 B.k=19. C.k=-1 D.k="k"+1 【答案】D 【解析】 20.有如下VB程序,该程序运行后在文本框Text1中显示的结果是() DimiAsInteger,jAsInteger,sAsInteger,nAsInteger n="3: "s=0 Fori="1"Ton Forj="1"Toi s="s"+j Nextj Nexti Text1.Text=s EndSub A.3B.6 C.10D.18 【答案】C 【解析】 21.下列能作为VisualBasic变量名的是() A.b+7B.ModC.3xD.T_1 【答案】D 【解析】 22.若变量m="0".81,则表达式Sqr(m)<1AndNotint(m)>1的值是_____ A.TB.FC.0.9D.1 【答案】A 【解析】 23.如图所示,是求绝对值的算法,其描述方式分别是() A.自然语言、流程图 B.伪代码、流程图 C.自然语言、伪代码 D.流程图、自然语言 【答案】A 【解析】 24.Subtest16() X=9 Fori=2To51Step3 If(X/2)>=iThenX=X+1 Nexti Fori=2To-2Step3 If(X/2)>=iThenX=X+1 Nexti MsgBox(X+i) EndSub 该程序的运行结果是() A、64B、13C、61D、62 【答案】B 【解析】 25.下列可作为VisualBasic的变量名的是() A、D*4B、A_4_BC、4ABCD、Dim 【答案】B 【解析】 26.在VisualBasic中,下列优先级最高的运算符是() A.*B.\C. 【答案】A 【解析】 27.sualBasic中,语句Command1.Font="宋体"中的“Command1”是() A.对象名B.属性名C.属性值D.窗体名 【答案】A 【解析】 二、填空题 28.填空题: (共8分,每小题2分)。 (1)本程序中,变量a、b的数据类型都是___________(填写中、英文均可)。 (2)以上代码中,表示输出语句的是第____行。 (3)本程序中,代码a=a+b的含义是_____(选填Ⅰ或Ⅱ)。 选项: Ⅰ.把a的值赋给a+b Ⅱ.把a加b的和赋给a (4)若输入的两个数分别是10和20,则程序执行完毕,变量a的值是____,变量b的值是____。 【答案】 【解析】 29.输出的结果为。 Dimnasinteger Dimsaslong n=9 s=0 dowhilen>=1 s=s+n n=n-2 loop prints 【答案】25 【解析】 30.有一组数: 1、2、4、7、……,其第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,以此类推。 求其前20项的和。 以下VB程序实现上述功能,请把程序中的①、②出填写完整。 DimiAsInteger,pAsInteger,sAsInteger i=1 p=1 s=0 DoWhile______①______ s=s+p i=i+1 ______②______ Loop Prints 【答案】i<=20 p=p+i-1 【解析】 31.计算下列表达式的值 (1).156\10mod7的值是_________________ (2).12+5^2MOD23*3\72/2^3+1值为_________________ (3).如果变量a=2,b=3,c=4,d=5,表达式NOTa>bANDNOTd<>c的值是_________________ (4).如果变量a=7、b=6、c=4、d=5,则表达式a 【答案】 (1)1 (2)17 (3)false (4)true 【解析】 32.小贝对街机中的”打手掌”游戏很感谢兴趣,于是也用VB做了个打手游戏,界面如图。 点击开始按钮command1,标签label1开始从3秒倒计时,倒计时结束开打,如果打中手掌,label1显示”打中了”,如果超过去3.1秒,则显示”没打中”,游戏结束。 点开始按钮可以重来。 请根据题意将下列程序补充完整。 DimtAsInteger‘t用来计时 PrivateSubCommand1_click() Image1.left=64 Label1.caption=”” t=0 Timer1.interval=100 (1)______________ Image1.Enabled=False Endsub PrivateSubImage1_click() Timer1.Enabled=False Image1.Enadled=False Label1.caption=”打中了” EndSub PrivateSubTimer1.Timer() t=t+1 ift<=30thenlabel1.caption=3-int(t/10) ift>32then label1.caption=”没打中” Fori=1to10‘手迅速移开的动画 Image1.left=Image1.left-20 Forj=1to10000 Doevents Nextj Nexti Timer1.Enabled=False Image1.Enabled=False Endif Ift=30then ‘当t=30时,即倒计时3秒结束,允许开打,对象image1开始允许响应事件 (2)_____________ Endif Endsub 【答案】 (1)timer1.enabled=true (2)image1.enabled=true 【解析】 33.编写VB程序,实现如下功能: 单击“排序数组a”按钮Command1时,对已有数组a的数据进行升序排列,并显示在文本框Label1中;单击“显示数组b”按钮Command2时,将升序数组b的数据显示在文本框Label2中;再单击“合并a和b”按钮Command3时,对数组a和数组b升序合并到字符串中,将合并后的数据在文本框Label3中显示。 (运行效果如图所示)。 实现上述功能的VB代码如下,请在划线处填入合适代码。 Dima(1To6)AsInteger Dimb(1To6)AsInteger PrivateSubCommand1_Click()'对数组a中的数据进行排序 DimiAsInteger,jAsInteger,kasinteger a (1)=53: a (2)=18: a(3)=62: a(4)=22: a(5)=6: a(6)=25 s="" Fori=1To5 k=i Forj=i+1To6 Ifa(k)>a(j)Then① Nextj Ifi<>kThen t=a(k): a(k)=a(i): a(i)=t EndIf Nexti Fori=1To6 s=s+Str(a(i)) Nexti Label1.Caption=s EndSub PrivateSubCommand2_Click() b (1)=3: b (2)=8: b(3)=15: b(4)=27: b(5)=38: b(6)=49 '此处部分代码省略 EndSub PrivateSubCommand3_Click() '将数组a和b中的数据逐个比较后添加到新的字符串s中,并将s在label3中显示 i=1: j=1: s="" DoWhilei<=6②j<=6'如果两数组都还有数据未合并 If③Then s=s+Str(a(i)): i=i+1 Else s=s+Str(b(j)): j=j+1 EndIf Loop DoWhilei<=6'只有数组a还有数据未合并 s=s+Str(a(i)): i=i+1 Loop DoWhilej<=6'只有数组b还有数据未合并 s=s+Str(b(j)): j=j+1 Loop Label3.Caption=s EndSub 【答案】①k=j②And③a(i) 【解析】 34.编写VB程序,实现如下功能: 在文本框Text1中输入某一年份,单击“天干地支与生肖”按钮Command1,在列表框List1中输出该年份开始的12个年份及对应的“天干地支”与“生肖”,运行界面如图所示,程序代码如下。 (1)代码“PrivateSubCommand1_Click()”中的Click是。 (单选,填字母: A.对象名/B.属性名/C.事件名) (2)为实现上述功能,请在划线处填入合适的代码。 PrivateSubCommand1_Click() DimaAsInteger,bAsInteger DimiAsInteger,nAsInteger Dimc1AsString,s1AsString Dimc2AsString,s2AsString Dimc3AsString,s3AsString List1.Clear s1="甲乙丙丁戊己庚辛壬癸" s2="子丑寅卯辰巳午未申酉戌亥" s3="鼠牛虎兔龙蛇马羊猴鸡狗猪" n=Val(Text1.Text) Fori=nTo① a=(i+6)Mod10 b=(i+8)Mod12 c1=Mid(s1,a+1,1) c2=Mid(s2,b+1,1) c3=Mid(s3,b+1,1) List1.AddItem②+"年"+c1+c2+""+c3 Nexti EndSub (3)由上述算法可知,2024年对应的“天干地支”为。 【答案】 (1)C (2)①n+11②str(i) (3)甲辰 【解析】 35.学校要进行元旦文艺汇演了,学生会让薛明来担任总记分员,任务就是根据各个评委所打分数,去掉一个最高分和一个最低分,然后计算平均分。 薛明很快编写了这个程序,该程序的界面如右图所示: 程序运行时,每输入一个分数单击“确定”按钮(Command1),就将该分数记入总分,同时在下面显示到目前为止已输入的所有分数。 当所有的分数输入完毕后,单击“统计->”按钮(Command2),程序就会在右边显示总分和最后的平均分。 请回答下面的问题: (1)写出上述图形中所标识的③对象所属的类? 如④所属的类为“文本框”。 ③ (2)以下是薛明编写的统计程序,请完善程序。 DimtotalAsInteger,ansAsSingle,xAsInteger,maxAsInteger DimminAsInteger,sAsInteger PrivateSubCommand1_Click() x=Val(Text1.Text) total=total+x s=s+1 If④Thenmax=x Ifx List1.AddItemx EndSub PrivateSubCommand2_Click() Label4.Caption=Str(total) ans=⑤ ans=ans/(s-2) Label6.Caption=⑥ EndSub PrivateSubForm_Load() total=0 s=0 min=10000 max=0 EndSub 【答案】③列表框或列表框类或listbox ④x>max或x>=max ⑤ans-max-min ⑥str(ans) 【解析】 36.将以下程序段补充完整。 问题: 往一个足够大的盒子里放小球,第一次放1个,第二次放2个,第三次放3个……,即每次放的小球数比上一次多1个。 问放到第几次盒子里的小球才能多于300个? 输出答案。 n表示放球的次数,sum表示小球的总数。 Dimnasinteger,sumasinteger n=0 sum=0 DoWhilesum<=300 n=_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高中 信息技术 VB 程序 调试 会考 复习题
![提示](https://static.bingdoc.com/images/bang_tan.gif)