收藏 分销(赏)

高中信息技术-VB循环语句-浏览题阅览题-会考复习题.doc

上传人:丰**** 文档编号:9736603 上传时间:2025-04-05 格式:DOC 页数:25 大小:855.50KB 下载积分:10 金币
下载 相关 举报
高中信息技术-VB循环语句-浏览题阅览题-会考复习题.doc_第1页
第1页 / 共25页
高中信息技术-VB循环语句-浏览题阅览题-会考复习题.doc_第2页
第2页 / 共25页


点击查看更多>>
资源描述
高中信息技术 VB循环语句 浏览题阅览题 会考复习题 学校:___________姓名:___________班级:___________考号:___________ 评卷人 得分 一、选择题 1.下列程序运行后的运行结果为▁▁▁。 X=8:Y=X:Z=10 IF X<=Y THEN PRINT X;Y; ELSE IF Z>=X THEN PRINT Z END IF END IF A.10 8 B.8 8 C.10 10 D.8 10 【答案】B 【解析】 2.数组排序。点击“产生随机数”按钮,让计算机随机产生10个整数,并对这10个整数进行标号,再点击“排序”按钮,对这10个整数进行从大到小排序。如图所示。 程序代码如下: Dim a(1 To 10) As Integer  Dim i, j, k, kt As Integer  Private Sub Command1_Click() List1.Clear   '清除列表框数据 For i = 1 To 10   Randomize  '随机数初始化  a(i) = Int(Rnd() * 1000)   List1.AddItem Str(i) + ”=” + Str(a(i)) Next i Command2.Enabled = True '激活排序按钮 End Sub Private Sub Command2_Click() For i = 1 To 9    k = i For j =____①____To 10   If a(j) > a(k) Then k = j Next j   If i <> k Then __②____  End If Next i List2.Clear For i = 1 To 10 List2.AddItem Str(i) + ” =” + Str(a(i)) Next i End Sub 请在①、②划线处填入合适的语句或表达式,把程序补充完整: 程序中①划线处应填入__________________; 程序中②划线处应填入__________________。 【答案】①I+1;②t=a(k):a(k)=a(i):a(i)=t 【解析】 3.由“For k=35 To 0 Step 3 : Next k ”循环语句控制的循环次数是_______。 A、12 B、0 C、-10 D、-11 【答案】B 【解析】 4.Sub test7() For i = 1 To 6 S = S + (-1) ^ i *2 ^ i Next i MsgBox (S) End sub 该程序的运行结果是( ) A、126 B、-126 C、-42 D、42 【答案】D 【解析】 5.Sub test2() a = 12:b = 12:c = 5 Label1.Caption = "" Label2.Caption = "" If a > b Or Not b<c Then Label1.Caption = "monday" Else Label2.Caption = "tiger" End If Label3.Caption =" Label1.Caption+" Label2.Caption End sub 该程序段运行后,在标签Label3的Caption属性值是( ) A. "monday" B. "tiger" C. "mondaytiger" D. "" 【答案】A 【解析】 6.根据下列程序段运行后a的值 ,划线处应该填入的合理数据类型为 ( ) Dim a As ________ a = 1 For i = 1 To 8 a = a * i Next i A、Integer B、Long C、Single D、Double 【答案】B 【解析】 7. 小金编写了VB程序,部分程序如下所示,在调试程序的时候出现如图所示的错误信息: Private Sub Command1_Click() Dim x As String, i As Integer For i =" 1" To 10 If i Mod x =" 1" Then x = "奇数" Else x = "偶数" Next i …… End Sub 产生此错误的语句是( )。 A.For B.End If C.Next D.If 【答案】B 【解析】 8.下图是当循环、直到循环两种循环结构,请结合下图选择下列说法中正确的是 ( ) A.当循环是当条件成立退出循环 B.当循环不可能出现不执行循环步骤的情况 C.直到循环是条件成立时执行循环步骤 D.直到循环至少执行一次循环步骤 【答案】D 【解析】 9.对以下程序段的说法正确的是( ) s=0 i=0 Do While s<10 i=i+1 s=s+i*i Loop A.该程序的循环体执行了3次 B.该程序段结束后i的值为3 C.该程序段结束后i的值为4 D.该程序段结束后s的值为13 【答案】ABD 【解析】 10.某算法的流程图如下所示: 输入a,b,c a>b? a←b a>c? a←c 输出a 开始 Y Y N N 结束 当输入a、b、c的值分别为5、2、8时,该算法的输出结果为( ) A. 8 B. 2 C. 5 D. 7 【答案】B 【解析】 11.若输入两数1,-4,输出结果_______ A.-5 B.-3 C.5 D.3 【答案】C 【解析】 12.某算法要实现0到100的偶数之和,流程图如图所示。则ißi+2被执行的次数是 2 A.50 B.51 C.100 D.101 【答案】B 【解析】 13.在某银行取款机上,用户银行卡密码验证的过程如下图所示:当用户输入密码时,若第1次输入错误,第2次输入才正确,则整个操作过程的执行流程是( ) A、①→②→③→④→⑤ B、①→②→③→④→⑥→⑦ C、①→②→③→④→⑥→②→③→④→⑤ D、①→②→③→④→⑥→⑦→②→③→④→⑤ 【答案】C 【解析】 14.求两数之和的算法是:输入两数a和b的值,计算c=a+b,输出c的值。该算法的基本结构属于( )。 A.顺序结构 B.选择结构 C.循环结构 D.框架结构 【答案】A 【解析】 15. 下列VB程序段的运行结果是: Dim a(1 To 3) As Integer a(1)=1 For i=2 To 3 a(i)=2*a(i-1)+1 Next Print a(i-1) A、0 B、3 C、7 D、15 【答案】C 【解析】 16.有如下程序段: For i = 1 To 2 For j = 2 To 7 - i If a(j) > a(j - 1) Then k = a(j): a(j) = a(j - 1): a(j - 1) = k End If Next j Next i 数组元素a(1)到a(6)的值依次为“71,54,58,29,31,78”,经过该程序段“加工”后,下列说法正确的是( ) A.数组元素a(1)到a(6)的值依次为54,29,31,58,71,78 B.此过程中数据共需比较次数为8次 C.此过程中数据共需交换次数为5次 D.此过程中数据“54”共被比较5次 【答案】C 【解析】 17.某算法的部分流程图如第5题图所示。执行这部分流 程后,“x←x—2”被执行的次数为 A.0 B.1 C.2 D.3 【答案】C 【解析】 18.有如下 VB 程序,它的输出结果是 S=0 For i=1 To 10 If i mod 2=0 Then S=S+i Next i Print “S=”;S A.S=0 B.S=25 C.S=30 D.S=55 【答案】C 【解析】 19.下列VB程序段运行完毕后,变量x的值为 x="2" : y=64 Do while x<= Sqr(y) x=x+3 Loop A. 2 B. 5 C. 8 D. 11 【答案】D 【解析】 20.某算法流程图如图所示,执行该算法后,“s←s+i”共被执行的次数是( ) Y N 开始 i<20? i←i+3 s+i←s S←1:i←1 输出s的值 结束 A.0 B.6 C.7 D.8 【答案】C 【解析】 21.小明编写一个模拟qq登录的VB程序。当输入用户名、密码和验证码,点击登录按钮后,会跳出信息框提示是否验证成功。部分程序与流程图如下所示: uname = Text1.Text '输入用户名 psd = Text2.Text '输入密码 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" To22.step 1 s = "" For j =" 1" To 2 * i - 1 s =" Str(j)" + s Next j List1.AddItem s Next i End Sub 该程序的运行后列表框输出的第三行是 ( ) A.33333 B.55555 C.12345 D.54321 【答案】D 【解析】 23.若输入28,以上代码输出结果是 。 Dim x as long x=inputbox(“输入x的值”) y="x" mod 7 if y="4" or y="5" or y=" 6" then xq=y-3 else xq=y+4 end if print xq 【答案】4 【解析】 24.下列为部分VB程序语句代码:( ) s=32 For i=1 To 10 Step s=s/2 Next i 上述程序语句执行结束后,s的值为2,则循环语句的步长(划横线处)应填( ) A.1 B.2 C.3 D.4 【答案】C 【解析】 25.如图所示的部分流程图中,“s←s+i”被执行次数为( ) A. 0 B. 1 C. 32 D. 33 【答案】C 【解析】 26.以下语句中错误的是( ) A.Const var1=123 B.Dim var2 As String C.x+y=9 D.Dim d(1 to 500) As Double 【答案】C 【解析】 27.以下关于循环结构的描述中,正确的是( )。 A.与分支结构不同,循环结构一定会对循环条件进行多次判断。 B.循环结构中,重复执行的内容有时候一次都不被执行。 C.在循环结构的流程图中,除了有向下的流程线外还应有向上返回的流程线。 D.根据实际需要,在流程图中可出现多个循环结构。 【答案】BCD 【解析】 评卷人 得分 二、操作题 28.求两个整数的最大公约数分析:求最大公约数的算法思想: (1)对于已知两数m,n,使得m>n; (2)m除以n得余数r; (3)若r=0,则n为求得的最大公约数,算法结束;否则执行(4); (4)m←n,n←r,再重复执行(2)。 例如: 求 m=14 ,n=6 的最大公约数. M n r 14 6 2 6 2 0 请根据以上思路补充下面的程序代码: Private Sub Command1_Click() m = InputBox("m=") n = InputBox("n=") If m < n Then t = m: m = n: n = t r = ________________ Do While (r <> 0) m = n n = r r = m Mod n Loop Print "最大公约数=", n End Sub 【答案】m mod n 【解析】 评卷人 得分 三、填空题 29.有如下Visual Basic程序段: s=0 n=1 for i=4 to 1 step -1 n=n*i s=s+a next i 问:该程序段运行后, (1)共循环___________次。 (2)变量s的值是___________。 【答案】(1)4 (2) 64 【解析】 30.小贝对街机中的”打手掌”游戏很感谢兴趣,于是也用VB做了个打手游戏,界面如图。点击开始按钮command1,标签label1开始从3秒倒计时,倒计时结束开打,如果打中手掌,label1显示”打中了”,如果超过去3.1秒,则显示”没打中”,游戏结束。点开始按钮可以重来。请根据题意将下列程序补充完整。 Dim t As Integer ‘t用来计时 Private Sub Command1_click( ) Image1.left=64 Label1.caption=”” t=0 Timer1.interval=100 (1)______________ Image1.Enabled=False End sub Private Sub Image1_click( ) Timer1.Enabled=False Image1. Enadled=False Label1.caption=”打中了” End Sub Private Sub Timer1.Timer( ) t = t +1 if t<=30 then label1.caption=3-int(t/10) if t>32 then label1.caption=”没打中” For i=1 to 10 ‘手迅速移开的动画 Image1.left=Image1.left-20 For j=1 to 10000 Doevents Nextj Next i Timer1.Enabled=False Image1.Enabled=False End if If t=30 then ‘当t=30时,即倒计时3秒结束,允许开打,对象image1开始允许响应事件 (2)_____________ End if End sub 【答案】 (1)timer1.enabled=true (2)image1.enabled=true 【解析】 31.用VB编写的函数bubble_sort是一个用冒泡方法实现排序的函数,其调用时需要三个参数:布尔类型参数sx来确定是升序还是降序,sx为True时为升序,否则为降序;整数型数组a()是待排序的数据,数据从a(1)开始存放;整数型参数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 i=1 To n-1 For j=____①____ Step-1 If ____②____ Then If a(j)<a(j-1) Then t=a(j):a(j)=a(j-1):a(j-1)=t Else If a(j)>a(j-1) Then t=a(j):a(j)=a(j-1):a(j-1)=t End If Next j Next i bubble_sort=a() End Function 请将代码补充完整: ①___________________________________________。 ②___________________________________________。 【答案】(1)n to i+1 (2)sx 或者sx=True 【解析】 32.已知出租车计费方法如下:路程在3公里以内(包含3公里)收起步价10元,路程超过3公里不超过10公里(包含10公里)部分按每公里2元计费,超出10公里部分按每公里3元计费。现要设计一个VB出租车计费系统程序,在路程文本框中中输入路程数,单击计算按钮可以计算出应付金额并显示到金额文本框中,请回答以下问题: 图一 在设计该程序界面时,要从图二界面到图一界面,需要进行哪些设置? ________________________________________________________________ ________________________________________________________________ 为计算按钮添加单击事件后,并在其中添加程序代码,代码如下: Dim d As Single Dim f As Single d = Val(Text1.Text) If d <= 3 Then ‘3公里以下计费 f = 10 end if If d > 3 And d <= 10 Then ‘3公里至10公里计费 ‘① End If If d > 10 Then ‘10公里以上计费 '② End If Text2.Text = Str(f) 请完善以上程序代码,在①,②处填入正确的语句 ①________________________________ ②________________________________ 完善程序代码后,若输入路程数为10,则应付金额为________元 实现该程序所用的算法结构属于______________(选择结构/循环结构) 【答案】(1)添加一个按钮设置caption属性值为“计算”,将窗体的caption属性值设置为“出租车计费系统”;(2)f=10+(d-3)*2 f=10+14+(d-10)*3;(3)24;(4)选择结构 【解析】 33.某同学编写了VB程序其功能和界面如下所示。在文本框(text1)中输入一段英文,点击“统计删除”按钮,在标签(Label3)中显示该语句中最长的单词(如有多个长度相同的单词则显示靠后的单词),在标签(Label5)中显示该单词的字符长度,在标签(Label7)中显示删除该单词后的句子。 Private Sub Command1_Click() Dim s As Integer,imax As Integer,pimax As Integer,t As Integer Dim source As String source=Text1.Text s=Len(source) imax=1 pimax=1 t=0 For i=1 To s d=____①____ If (d>=“a” And d<=“z”) Or (d>=“A” And d<=“Z”) Then ____②____ Else If t>=imax Then imax=t ____③____ End If t=0 End If Next i Label3.Caption=Mid(source,pimax,imax) Label5.Caption=imax Label7.Caption=____④____+Mid(source,pimax+imax,s-imax) End Sub ①处程序代码为_________________________________________________。 ②处程序代码为_________________________________________________。 ③处程序代码为_________________________________________________。 ④处程序代码为_________________________________________________。 【答案】①Mid(source,i,1) ②t=t+1 ③pimax=i-t ④Mid(source,1,pimax-1) 【解析】 34.求结果 (1)输入356,输出结果: Dim x as Integer x=inputbox(“输入x的值”) a=x mod 10 b=int(x/10) mod 10 c=x\100 s=a+b+c print s (2)输入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程序如下: 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 Integer s = Text1.Text c = Text2.Text n = 0: Max = 0 For 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|K] If a(n) - a(n - 1) - Len(c) > Max Then Max = a(n) - a(n - 1) - Len(c) End If End If Next i Text3.Text = ② 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 Integer X=0 y=0 For a=1 To 3 x=x+1 For b=2 to 4 y=y+1 Next b Next a Text1.text=str(a) Text2.text=str(b) End Sub 单击Command1按钮后,Text1显示 ① ,Text2显示 ② 。 【答案】①3(2分);②9(2分) 【解析】 37.【加试题】小王模拟超市收银机扫描商品条形码后计算总价的过程制作了一个VB程序。功能如下:在文本框Text1中输入商品条形码,按回车键后会将已经输入的条形码显示在列表框List1中,同时将商品明细显示在列表框List2中。点击按钮“计算商品总价”后,会将所有商品的总价显示在文本框Text2中。程序界面如图所示: 实现上述功能的部分VB程序如下,请在三个划线处填入合适代码。 '定义全局数组变量 Dim a(1 To 10) As Long Dim b(1 To 10) As String '自动加载条形码信息以及对应的商品信息 Private Sub Form_Load() Dim i As Integer a(1) = 503741 For i = 2 To 10 a(i) = a(i - 1) + 1 Next i b(1) = "可乐 5.00" b(2) = "薯片 7.50" b(3) = "牛奶 5.60" b(4) = "橙汁 7.50" b(5) = "面包 4.00" b(6) = "蜂蜜 28.00" b(7) = "蛋糕 12.00" b(8) = "绿箭 3.50" b(9) = "饼干 6.00" b(10) = "雪碧 5.00" End Sub '输入条形码,查找条形码,并显示条形码及其对应的商品信息 Private Sub Text1_KeyPress(KeyAscii As Integer) Dim txm As Long: Dim i As Integer: Dim j As Integer txm = Val(Text1.Text) If KeyAscii = 13 Then If txm >= 503741 And txm <= 503750 Then List1.AddItem txm Text1.Text = "" i = 1: j = 10 Do While i <= j ① If txm = a(m) Then List2.AddItem b(m) Exit Do ElseIf txm > a(m) Then i = m + 1 Else ② End If Loop Else MsgBox "条形码输入错误,无此商品" Text1.Text = "" End If End If End Sub '计算所购商品的总额 Private Sub Command1_Click() Dim i As Integer, mx As String, jg As String, sum As Single For i = 0 To 9 If List2.List(i) <> "" Then mx = List2.List(i) sum = sum + Mid(mx, 4) End If Next i Text2.Text = ③ End Sub 【答案】(1)m = (i + j) \ 2 (2)j = m - 1 (3)Str(sum) 【解析】 (1)首先判断这是一个属于对分查找的程序,m是中间数,所以m=(i+j)\2。(2)查找的顺序要么是m+1,要么是m-1,所以这里的j=m-1.(3)sum的变量用于存储不断增加的总额的值,最终要加上str()函数。 38.每次将一张白纸沿垂直和水平中线对半撕成四张纸片,然后取其中一张纸片照这样再撕成四张纸片,一直这样下去,计算撕了n次后纸片的总张数,现在要用VB来实现该程序。程序界面及功能如下图所示,在文本框中输入撕的次数,单击计算按钮,显示纸片数。 请完善并改正下面的程序代码: Private Sub Command1_Click() Dim i, n, s As Integer n = Val(Text1. Caption) ‘① 获得撕纸片的次数 s=1 ‘s为纸片数,初始时为1 For i = 1 To n ② ‘计算撕了n次后的纸片数量 Next i Label2.Caption = Str(s) 显示最终的纸片数 End Sub 注释①所在行语句中有错误,应改为_____________ 在横线②中填入正确的语句_______________ 在用VB设计应用程序时,一般经历的阶段的正确顺序是__________(填字母顺序) a 运行调试程序 b 问题和算法分析 c 应用程序界面设计 d 事件处理过程代码编写 【答案】(1)n=val(textl.text) s=s+3 (3)bcda 【解析】
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 高中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服