《高中信息技术VB循环语句浏览题阅览题会考复习题.doc》由会员分享,可在线阅读,更多相关《高中信息技术VB循环语句浏览题阅览题会考复习题.doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、高中信息技术 VB循环语句 浏览题阅览题 会考复习题学校:_姓名:_班级:_考号:_评卷人得分一、选择题1以下程序运行后运行结果为。X=8:Y=X:Z=10IF X=X THEN PRINT Z END IFEND IF A10 8B8 8C10 10D8 10【答案】B【解析】2数组排序。点击“产生随机数按钮,让计算机随机产生10个整数,并对这10个整数进展标号,再点击“排序按钮,对这10个整数进展从大到小排序。如下图。程序代码如下:Dim a(1 To 10) As IntegerDim i, j, k, kt As IntegerPrivate Sub Command1_Click()L
2、ist1.Clear 去除列表框数据For i 1 To 10 Randomize 随机数初始化a(i) Int(Rnd() * 1000) List1.AddItem Str(i) Str(a(i)Next iCommand2.Enabled True激活排序按钮End SubPrivate Sub Command2_Click()For i 1 To 9 k iFor j _To 10 If a(j) a(k) Then k jNext j If i k Then_End IfNext iFor i 1 To 10List2.AddItem Str(i) Str(a(i)Next iEnd
3、 Sub请在、划线处填入适宜语句或表达式,把程序补充完整:程序中划线处应填入_;程序中划线处应填入_。【答案】I+1;t=ak:a(k)=a(i):a(i)=t【解析】3由“For k=35 To 0 Step 3 : Next k 循环语句控制循环次数是_。A、12B、0C、-10D、-11【答案】B【解析】4Sub test7()For i = 1 To 6S = S + (-1) i *2 iNext iMsgBox (S)End sub该程序运行结果是 A、126 B、-126 C、-42 D、42【答案】D【解析】5Sub test2()a = 12:b = 12:c = 5Labe
4、l1.Caption = Label2.Caption = If a b Or Not bc ThenLabel1.Caption = mondayElseLabel2.Caption = tigerEnd IfEnd sub该程序段运行后,在标签Label3Caption属性值是( )A monday B tiger C mondaytiger D 【答案】A【解析】6根据以下程序段运行后a值 ,划线处应该填入合理数据类型为 Dim a As _a = 1For i = 1 To 8a = a * iNext iA、Integer B、Long C、Single D、Double【答案】B【
5、解析】7 小金编写了VB程序,局部程序如下所示,在调试程序时候出现如下图错误信息:Private Sub Command1_Click()Dim x As String, i As IntegerFor i = 1 To 10If i Mod x = 1 Thenx = 奇数Elsex = 偶数Next iEnd Sub产生此错误语句是( )。AFor BEnd IfCNext DIf【答案】B【解析】8以下图是当循环、直到循环两种循环构造,请结合以下图选择以下说法中正确是 ( )A当循环是当条件成立退出循环B当循环不可能出现不执行循环步骤情况C直到循环是条件成立时执行循环步骤D直到循环至少执
6、行一次循环步骤【答案】D【解析】9对以下程序段说法正确是 s=0i=0Do While sbabacac输出a开场YYNN完毕当输入a、b、c值分别为5、2、8时,该算法输出结果为 A. 8 B. 2 C. 5 D. 7【答案】B【解析】11假设输入两数1,-4,输出结果_A-5B-3C5 D3【答案】C【解析】12某算法要实现0到100偶数之和,流程图如下图。那么ii+2被执行次数是2A50 B51 C100 D101【答案】B【解析】13在某银行取款机上,用户银行卡密码验证过程如以下图所示:当用户输入密码时,假设第1次输入错误,第2次输入才正确,那么整个操作过程执行流程是 A、B、C、D、
7、 【答案】C【解析】14求两数之和算法是:输入两数a和b值,计算c=a+b,输出c值。该算法根本构造属于( )。A顺序构造 B选择构造 C循环构造 D框架构造【答案】A【解析】15 以下VB程序段运行结果是:Dim a(1 To 3) As Integera(1)=1For i=2 To 3a(i)=2*a(i-1)+1NextPrint a(i-1)A、0 B、3 C、7 D、15【答案】C【解析】16有如下程序段:For i = 1 To 2For j = 2 To 7 - iIf a(j) a(j - 1) Thenk = a(j): a(j) = a(j - 1): a(j - 1)
8、= kEnd IfNext jNext i数组元素a(1)到a(6)值依次为“71,54,58,29,31,78”,经过该程序段“加工后,以下说法正确是 A数组元素a(1)到a(6)值依次为54,29,31,58,71,78C此过程中数据共需交换次数为5次D此过程中数据“54”共被比拟5次【答案】C【解析】17某算法局部流程图如第5题图所示。执行这局部流 程后,“xx2被执行次数为A0 B1 C2 D3【答案】C【解析】18有如下 VB 程序,它输出结果是 S=0 For i=1 To 10 If i mod 2=0 Then S=S+i Next i Print “S=;SAS=0 BS=2
9、5 CS=30 DS=55【答案】C【解析】19以下VB程序段运行完毕后,变量x值为x=2 : y=64Do while x= Sqr(y)x=x+3LoopA 2 B 5 C 8 D 11【答案】D【解析】20某算法流程图如下图,执行该算法后,“ss+i共被执行次数是 YN开场i20ii+3s+isS1:i1输出s的值完毕A0 B6 C7 D8【答案】C【解析】21小明编写一个模拟qq登录VB程序。当输入用户名、密码和验证码,点击登录按钮后,会跳出信息框提示是否验证成功。局部程序与流程图如下所示: uname = Text1.Text 输入用户名 psd = Text2.Text 输入密码
10、vcode = Val(Text3.Text) 输入验证码 If vcode Val(Label3.Caption) Then MsgBox “ Label3显示是随机验证码 ElseIf uname admin Or psd 123456 Then MsgBox “ Else MsgBox “ 方框中正确语句是 。A 中“验证成功B 中“输出用户名或密码有误C 中“验证成功D 中“输出验证码错误【答案】B【解析】Sub test3()双重循环运行 输出图形 与3重复,但3已改题For i = 1 To22step 1s = For j = 1 To 2 * i - 1s = Str(j) +
11、 sNext jList1.AddItem sNext iEnd Sub该程序运行后列表框输出第三行是 A33333B55555C12345D54321【答案】D【解析】23假设输入28,以上代码输出结果是 。Dim x as longx=inputbox(“输入x值)y=x mod 7if y=4 or y=5 or y= 6 thenxq=y-3elsexq=y+4end ifprint xq【答案】4【解析】24以下为局部VB程序语句代码:( )s=32For i=1 To 10 Steps=s/2Next i上述程序语句执行完毕后,s值为2,那么循环语句步长划横线处应填( )A1 B2
12、 C3 D4【答案】C【解析】25如下图局部流程图中,“ssi被执行次数为( )A 0 B 1C 32 D 33【答案】C【解析】26以下语句中错误是 AConst var1=123BDim var2 As StringCx+y=9DDim d(1 to 500) As Double【答案】C【解析】27以下关于循环构造描述中,正确是 。A与分支构造不同,循环构造一定会对循环条件进展屡次判断。B循环构造中,重复执行内容有时候一次都不被执行。C在循环构造流程图中,除了有向下流程线外还应有向上返回流程线。D根据实际需要,在流程图中可出现多个循环构造。【答案】BCD【解析】评卷人得分二、操作题28求
13、两个整数最大公约数分析:求最大公约数算法思想:1对于两数m,n,使得mn;2m除以n得余数r;3假设r=0,那么n为求得最大公约数,算法完毕;否那么执行(4);4mn,nr,再重复执行(2)。例如: 求 m=14 ,n=6 最大公约数. M n r14 6 26 2 0请根据以上思路补充下面程序代码:Private Sub Command1_Click()m = InputBox(m=)n = InputBox(n=)If m n Then t = m: m = n: n = tr = _Do While (r 0)m = nn = rr = m Mod nLoopPrint 最大公约数=,
14、nEnd Sub【答案】m mod n【解析】评卷人得分三、填空题29有如下Visual Basic程序段:s=0n=1for i=4 to 1 step -1n=n*is=s+anext i问:该程序段运行后,1共循环_次。 2变量s值是_。【答案】(14 2 64【解析】30小贝对街机中打手掌游戏很感谢兴趣,于是也用VB做了个打手游戏,界面如图。点击开场按钮command1,标签label1开场从3秒倒计时,倒计时完毕开打,如果打中手掌,label1显示打中了,如果超过去3.1秒,那么显示没打中,游戏完毕。点开场按钮可以重来。请根据题意将以下程序补充完整。Dim t As Integer
15、t用来计时Private Sub Command1_click( )Image1.left=64Label1.caption=t=0Timer1.interval=1001_Image1.Enabled=FalseEnd subPrivate Sub Image1_click( )Timer1.Enabled=FalseImage1. Enadled=FalseLabel1.caption=打中了End SubPrivate Sub Timer1.Timer( )t = t +1if t32 thenlabel1.caption=没打中For i=1 to 10 手迅速移开动画For j=1
16、to 10000DoeventsNextjNext iTimer1.Enabled=FalseImage1.Enabled=FalseEnd ifIf t=30 then当t=30时,即倒计时3秒完毕,允许开打,对象image1开场允许响应事件2_End ifEnd sub【答案】1timer1.enabled=true 2image1.enabled=true 【解析】31用VB编写函数bubble_sort是一个用冒泡方法实现排序函数,其调用时需要三个参数:布尔类型参数sx来确定是升序还是降序,sx为True时为升序,否那么为降序;整数型数组a()是待排序数据,数据从a(1)开场存放;整数
17、型参数n表示传入数组长度,该函数返回值也是一个整数型数组。所以调用此函数实现排序非常方便:比方有一个整数型数组a(1 to 10)需要降序排序,可以直接这样调用:a()bubble_sort(False,a(),10)该函数VB代码如下:Function bubble_sort(sx As Boolean,a() As Integer,n As Integer) As Integer() Dim i,j,t As Integer For i1 To n1For j_ Step1 If _ ThenIf a(j)a(j1) Then ta(j):a(j)a(j1):a(j1)t ElseIf a
18、(j)a(j1) Then ta(j):a(j)a(j1):a(j1)t End IfNext j Next i bubble_sorta()End Function请将代码补充完整:_。_。【答案】(1)n to i1 (2)sx 或者sxTrue【解析】32出租车计费方法如下:路程在3公里以内包含3公里收起步价10元,路程超过3公里不超过10公里包含10公里局部按每公里2元计费,超出10公里局部按每公里3元计费。现要设计一个VB出租车计费系统程序,在路程文本框中中输入路程数,单击计算按钮可以计算出应付金额并显示到金额文本框中,请答复以下问题:图一在设计该程序界面时,要从图二界面到图一界面,
19、需要进展哪些设置?_为计算按钮添加单击事件后,并在其中添加程序代码,代码如下:Dim d As SingleDim f As Singled = Val(Text1.Text)If d 3 And d 10 Then 10公里以上计费 End IfText2.Text = Str(f) 请完善以上程序代码,在,处填入正确语句_完善程序代码后,假设输入路程数为10,那么应付金额为_元实现该程序所用算法构造属于_选择构造/循环构造【答案】1添加一个按钮设置caption属性值为“计算,将窗体caption属性值设置为“出租车计费系统;2f=10+(d-3)*2 f=10+14+(d-10)*3;3
20、24;4选择构造【解析】33某同学编写了VB程序其功能和界面如下所示。在文本框(text1)中输入一段英文,点击“统计删除按钮,在标签(Label3)中显示该语句中最长单词(如有多个长度一样单词那么显示靠后单词),在标签(Label5)中显示该单词字符长度,在标签(Label7)中显示删除该单词后句子。Private Sub Command1_Click()Dim s As Integer,imax As Integer,pimax As Integer,t As IntegerDim source As StringsLen(source)imax1pimax1t0For i1 To s d
21、_ If (d“a And d“z) Or (d“A And d“Z) Then _ ElseIf timax Then imaxt _End Ift0 End IfNext iLabel3.CaptionMid(source,pimax,imax)Label5.CaptionimaxLabel7.Caption_Mid(source,pimaximax,simax)End Sub处程序代码为_。处程序代码为_。处程序代码为_。处程序代码为_。【答案】Mid(source,i,1) tt1 pimaxit Mid(source,1,pimax1)【解析】34求结果1输入356,输出结果:Dim
22、 x as Integerx=inputbox(“输入x值)a=x mod 10b=int(x/10) mod 10c=x100s=a+b+cprint s2输入a=1,b=2,输出结果:3输出结果:4输入8,输出结果:【答案】(1)14 (2)2.5 (3)87856 (4)10 5【解析】35小明编写了一个VB程序,功能如下:在文本框Text1中输入一段英文,并在文本框Text2中输入英文段落中某个单词或字符串,单击“最大间距按钮Command1后,在文本框Text3中显示该单词在文中某两次出现最大间距,假设只出现一次或不出现那么显示值为0。程序运行界面如以下图所示: 实现上述功能VB程序
23、如下:Private Sub Command1_Click() Dim a(1 To 1000) As String 数组a存储文中出现该指定单词(或字符串)各个位置Dim s As String, c As String ,ch As String Dim n As Integer, max As Integer, i As Integers = c = n = 0: Max = 0For i = 1 To Len(s) - Len(c) + 1 ch = If ch = c Then n = n + 1 a(n) = i If n = 2 Then 来源:学|科|网Z|X|X|KIf a(
24、n) - a(n - 1) - Len(c) Max Then Max = a(n) - a(n - 1) - Len(c) End If End IfNext i = End Sub以上程序段运行时,为了实现上述功能,划线处和应填入代码分别为: 1_; 2_【答案】 (2 分) Mid(s, i, Len(c) (2 分) Str(Max)【解析】36某Visual Basic程序如下:Private Sub Command1_Click()Dim x As Integer, y As Integer ,a As Integer ,b As IntegerX=0 y=0For a=1 To
25、3 x=x+1 For b=2 to 4 y=y+1 Next bNext aText1.text=str(a)Text2.text=str(b)End Sub单击Command1按钮后,Text1显示 ,Text2显示 。【答案】32分;92分【解析】37【加试题】小王模拟超市收银机扫描商品条形码后计算总价过程制作了一个VB程序。功能如下:在文本框Text1中输入商品条形码,按回车键后会将已经输入条形码显示在列表框List1中,同时将商品明细显示在列表框List2中。点击按钮“计算商品总价后,会将所有商品总价显示在文本框Text2中。程序界面如下图:实现上述功能局部VB程序如下,请在三个划线
26、处填入适宜代码。定义全局数组变量Dim a(1 To 10) As LongDim b(1 To 10) As String自动加载条形码信息以及对应商品信息Private Sub Form_Load()Dim i As Integera(1) = 503741For i = 2 To 10a(i) = a(i - 1) + 1Next ib(1) = 可乐 5.00b(2) = 薯片 7.50b(3) = 牛奶 5.60b(4) = 橙汁 7.50b(5) = 面包 4.00b(6) = 蜂蜜 28.00b(7) = 蛋糕 12.00b(8) = 绿箭 3.50b(9) = 饼干 6.00b
27、(10) = 雪碧 5.00End Sub输入条形码,查找条形码,并显示条形码及其对应商品信息Private Sub Text1_KeyPress(KeyAscii As Integer)Dim txm As Long:Dim i As Integer:Dim j As Integertxm = Val(Text1.Text)If KeyAscii = 13 ThenIf txm = 503741 And txm = 503750 ThenList1.AddItem txmText1.Text = i = 1: j = 10Do While i a(m) Theni = m + 1Else E
28、nd IfLoopElseMsgBox 条形码输入错误,无此商品Text1.Text = End IfEnd IfEnd Sub计算所购商品总额Private Sub Command1_Click()Dim i As Integer, mx As String, jg As String, sum As SingleFor i = 0 To 9If List2.List(i) Thenmx = List2.List(i)sum = sum + Mid(mx, 4)End IfNext iText2.Text = End Sub【答案】1m = (i + j) 2 2j = m - 1 3Str
29、(sum) 【解析】1首先判断这是一个属于对分查找程序,m是中间数,所以m=(i+j)2。2查找顺序要么是m+1,要么是m-1,所以这里j=m-1.3sum变量用于存储不断增加总额值,最终要加上str()函数。38每次将一张白纸沿垂直和水平中线对半撕成四张纸片,然后取其中一张纸片照这样再撕成四张纸片,一直这样下去,计算撕了n次后纸片总张数,现在要用VB来实现该程序。程序界面及功能如以下图所示,在文本框中输入撕次数,单击计算按钮,显示纸片数。请完善并改正下面程序代码:Private Sub Command1_Click() Dim i, n, s As Integer n = Val(Text1. Caption) 获得撕纸片次数s=1 s为纸片数,初始时为1For i = 1 To n 计算撕了n次后纸片数量Next iLabel2.Caption = Str(s) 显示最终纸片数End Sub注释所在行语句中有错误,应改为_在横线中填入正确语句_在用VB设计应用程序时,一般经历阶段正确顺序是_填字母顺序a 运行调试程序 b 问题和算法分析c 应用程序界面设计 d 事件处理过程代码编写【答案】1n=valtextl.texts=s+33bcda【解析】
限制150内