VB选考冒泡排序综合应用题

合集下载

VB NET实现选择排序与冒泡排序

VB NET实现选择排序与冒泡排序

Public Class Form1Dim arr(5) As IntegerDim a(5, 5) As TextBoxPrivate Sub delaytime()Dim i, j As LongFor i = 1 To 20000For j = 1 To 20000i = i + 1i = i - 1Next jNext iEnd SubPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadLabel1.Text = "数ºy组Á¨¦元a素?值¦Ì:êo"Label2.Text = "第̨²一°?轮?:êo"Label3.Text = "第̨²二t轮?:êo"Label4.Text = "第̨²三¨y轮?:êo"Label5.Text = "第̨²四?轮?:êo"Label6.Text = "第̨²五?轮?:êo"Button1.Text = "产¨²生¦¨²数ºy组Á¨¦"Button2.Text = "选?择?法¤¡§演Y示º?"Button3.Text = "冒¡ã泡Y法¤¡§演Y示º?"Button4.Text = "重?新?开a始º?"Button5.Text = "退ª?出?"Dim i, j As IntegerDim leftlen, toplen As Integerleftlen = 120 : toplen = 32Randomize()For i = 0 To 5For j = 0 To 5a(i, j) = New TextBoxa(i, j).Width = 30 : a(i, j).Height = 30a(i, j).Left = leftlen + j * 40 : a(i, j).Top = toplen + i * 32a(i, j).Parent = Me : a(i, j).Visible = TrueNext jNext iEnd SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim i, j As IntegerFor i = 0 To 5arr(i) = Int(10 + 89 * Rnd()) + 1a(0, i).Text = arr(i)Next iEnd SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickDim i, j As IntegerDim min, min_i As IntegerDim t As IntegerFor i = 0 To 5 - 1min = arr(i) : min_i = iFor j = i + 1 To 5If min > arr(j) Thenmin = arr(j) : min_i = jEnd IfNext ja(i, min_i).BackColor = System.Drawing.Color.Yellowa(i, i).BackColor = System.Drawing.Color.LightCyanMe.Refresh()If min_i <> i Thent = arr(min_i) : arr(min_i) = arr(i) : arr(i) = tEnd IfFor j = 0 To 5a(i + 1, j).Text = arr(j)Next jCall delaytime()Me.Refresh()Next iEnd SubPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.ClickDim i, j, k, t As IntegerFor i = 1 To 5For k = 0 To 5a(i, k).Text = arr(k)Next kMe.Refresh()Call delaytime()For j = 0 To 5 - ia(i, j).BackColor = System.Drawing.Color.LightCyana(i, j + 1).BackColor = System.Drawing.Color.LightC yanMe.Refresh()Call delaytime()If arr(j) > arr(j + 1) Thent = arr(j) : arr(j) = arr(j + 1) : arr(j + 1) = ta(i, j).Text = arr(j) : a(i, j + 1).Text = arr(j + 1)End IfMe.Refresh()Call delaytime()a(i, j).BackColor = System.Drawing.Color.WhiteSmokea(i, j + 1).BackColor = System.Drawing.Color.WhiteSmokeNext jNext iEnd SubPrivate Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.ClickDim i, j As IntegerFor i = 0 To 5For j = 0 To 5a(i, j).Text = ""a(i, j).BackColor = System.Drawing.Color.WhiteSmokeNext jNext iEnd SubPrivate Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.ClickEndEnd SubEnd Class。

vb冒泡排序法

vb冒泡排序法

冒泡排序法
冒泡排序法是简单的排序方法之一,它和气泡从水中往上冒的情况有些类似(动画演示):这里我给大家讲一下从小到大排序〈升序排列〉。

升序排列:对数组
中两两相邻的元素比较将植较小的元告放在前面,值权‘的元素放在后面,比较完毕后,一个最大“数沉底成为数组中的最后一个元素,一些较小的数如同气泡一样上浮一个位置。

其具体做法是有很多种,下面我给大家常见的两种:
方法1 (从前往后大的数向后下沉)
从第1个元素开始与后一个比较,如果比后一个大则两元素交换,依次比较到第n个元素,最终将最大的数换入第n个元素中,a(n)不动。

2)重复(1),依次比较到第n-1个元素,最终将最大的数换入第n-1个元素中,a(n-1)不动。

⑶重复⑴,依次比较到第0-2个元素,最终将最大的数换入第n-2个元素中,a(n-2)不动。

进行比较
(n-1)a⑴与a⑵比较,如果a(1〉大,与a⑵交换。

反之,排序完成。

方法1的核心代码
方法2 (从后往前小的数向前上升)
从第0个元素开始与前一个比较,如果比前一个小两元素交换,依次比较到第1个元素,最终将最小的数换入第1个元素中,a(1)不动
⑵重复(1),依次比较到第2个元素,最终将最小的数换入第2个元素中,a(2〕
不动
⑶重复(1),依次比较到第3个元素,最终将最小的数换入第3个元素中,a(3〕
不动
进行比较
(n-1)a(n)与a(n-1)比较,如果a(n)小,与a(n-1)交换,反之,排序完成。

方法2的核心代码。

(完整word版)VB冒泡排序专题

(完整word版)VB冒泡排序专题

VB 冒泡排序专题班级 姓名知识点回顾:1、冒泡排序的特征:从后往前两两比较数据,不符合大小关系的两数交换至达到要求。

2、关于冒泡需理解:※升序:将后数小于前数的两个数进行交换;降序:将后数大于前数的两数进行交换;※N 个数最多进行N-1遍排序;两数比较的次数最多为N*(N-1)/2;两数交换次数最多为:N*(N-1)/2; ※冒泡有很多改进算法,在练习中要加强理解和记录;3、冒泡经典代码:( 以降序为例 )冒泡经典算法默认数据从后往前冒,第一次比较的两个数一定是a(n)与a(n-1),一定是先把最值放a(1)中; 而事实上冒泡也可以从前往后冒,第一次比较的两个数一定是a(1)与a(2),一定是先把最值放在a(n)中。

4、字符串的排序:可以排序,按照字符的ASCII 码。

从第一个字符开始比较,直到比出大小,即当字符串第一个字符一样时,按照第二个字母的ASCII 码排,以此类推。

例: “bcd ”大于“adb ”,“efad ”小于“efcd ”。

巩固练习:1、在运动会上,男生第一组6位选手的百米成绩(单位:秒)分别是“13.4、12.3、11.2、13.8、13.1、11.0”,若使用冒泡排序法将该组的成绩按第一名、第二名、第三名……的顺序排序,则第一遍排序后的顺序是();两遍排序后的顺序是( );A. 11.0 11.2 13.8 13.4 12.3 13.1B.11.0 12.3 11.2 13.8 13.1 13.4C. 11.0 11.2 13.4 12.3 13.1 13.8D.11.0 13.4 12.3 11.2 13.8 13.12、有一组10个数据的无序序列,利用冒泡排序算法进行从小到大的排序,需要比较的次数和最多交换的次数,最多需要进行加工的遍数分别为()A. 9,45,9B. 45,15,9C.45,45,9D.15,45,83、在NBA某赛季中,快船队5场比赛得分依次为97,89,111,70,90,若采用冒泡排序算法对其进行从小到大排序,在整个排序过程中,数据97被交换的次数是( )A.1次 B.2次 C.3次 D.4次4、对存储在stu ( 0 to n )中的n+1个元素用冒泡排序算法进行排序,元素交换次数的范围和元素比较次数的值分别为()A、[0,n],(n-1)*n/2B、[1,(n+1)*n/2],(n-1)*n/2C、[0,(n+1)*n/2],(n+1)*n/2D、[1,n-1],(n+1)*n/25、下列关于排序的算法,不正确的是()A.对 N 个数组元素进行排序,冒泡排序和选择排序排序的遍数一样B.对 N 个数组元素进行排序,冒泡排序和选择排序比较的次数一样C.对 N 个数组元素进行排序,冒泡排序和选择排序在排序过程中交换次数一样D.一般情况下,选择排序比冒泡排序效率更高6、有如下程序段:For i=7 to 5 step -1For j=7 to 9-i step -1If a(j)>a(j-1) thenk=a(j):a(j)=a(j-1):a(j-1)=kEnd ifNext jNext i数组元素a(1)到a(7)的数据依次为3,9,1,5,8,6,2 经过该程序段加工后,a(1)到a(3)排列为( ) A.1 2 3 B. 9 8 6 C. 3 9 1 D. 8 6 57、有如下VB程序段,已知数组a中有10个元素,保存的数据分别为:56、21、18、64、72、49、3、7、22、80,则程序运行后变量m的值为○1m=0:i=1Do while i<=10if m<a(i) then m=a(i)i=i+1Loop8、以下程序段的功能是找到a(0).....中最小值...并显示在label1上,请填空:....到.a(99)m=a(0)For i=1 to 99if ○1 then m=a(i)next i○29、以下程序段的功能是找到a(1)到a(10)中最大值存储在a(10).....中并打印在界面上,请填空:for i=1 to ○1if a(i)>a(i+1) then t=a(i):a(i)=a(i+1):a(i+1)=tNext iprint ○210、数组a(1 to 10) 中保存的数据依次分别为:80、7、56、21、18、64、72、49、38、22,则程序运行后变量m 的值为○1 j 的值为○2 text1.text 中显示的内容为○3 。

VB考试综合应用题

VB考试综合应用题

VB上机考试综合应用题选讲一、素数判断与计算、输出题,并把计算与存盘部分补充完整!Private Function isprime(a As Integer) As BooleanDim flag As Booleanflag = Trueb% = 2Do While b% <= Int(a / 2) And flagIf Int(a / b%) = a / b% Thenflag = FalseElseb% = b% + 1End IfLoopisprime = flagEnd Function+++++++以下黑体字部分是程序中没有的,需要自己被充+++++++ Private Sub C1_Click()Dim i As Integeri = 18000Doi = i - 1Loop Until isprime(i)Text1.Text = iEnd SubPrivate Sub C2_Click()Open "out5.txt" For Output As #1Print #1, Text1.TextClose #1End Sub二、判断口令题,关键是一些循环语句及选择结构的综合应用:Private Sub C1_Click()If Text1.Text = "123456" ThenText1.Text = "口令正确"Text1.PasswordChar = ""ElseText2.Text = Text2.Text - 1If Text2.Text > 0 ThenMsgBox "第" & (3 - Text2.Text) & "次口令错误,请重新输入"ElseMsgBox "3次输入错误,请退出"Text1.Enabled = FalseEnd IfEnd IfEnd Sub三、图片转换题:Private Sub Timer1_Timer()a = a + 1If a > 6 Thena = 1End IfSelect Case aCase 1P1.Picture = LoadPicture("黄灯.ico")Case 2, 3P1.Picture = LoadPicture("红灯.ico")Case 4, 5, 6P1.Picture = LoadPicture("绿灯.ico")If b Then Timer2.Enabled = bEnd SelectEnd SubPrivate Sub Timer2_Timer()If (a < 4) And (P2.Left > P1.Left And P2.Left < P1.Left + P1.Width) Or P2.Left <= 100 Then Timer2.Enabled = FalseElseP2.Move P2.Left - 10, P2.Top, P2.Width, P2.HeightEnd IfEnd Sub四、数据计算与行列式综合应用题:Option Base 1Dim Arr1(20) As IntegerDim Arr2(20) As IntegerDim Sum As IntegerSub ReadData1()Open App.Path & "\" & "datain1.txt" For Input As #1 For i = 1 To 20Input #1, Arr1(i)Next iClose #1End SubSub ReadData2()Open App.Path & "\" & "datain2.txt" For Input As #1 For i = 1 To 20Input #1, Arr2(i)Next iClose #1End SubOpen App.Path & "\" & Filename For Output As #1 Print #1, NumClose #1End SubPrivate Sub C1_Click()ReadData1ReadData2End SubPrivate Sub C2_Click()Dim arr3(20) As IntegerSum = 0For i = 1 To 20arr3(i) = Arr1(i) \ Arr2(i)Sum = Sum + arr3(i)NextPrint SumEnd SubPrivate Sub C3_Click()WriteData "dataout.txt", SumEnd Sub五、倒计数器Private Sub C1_Click(Index As Integer)Select Case IndexTimer1.Enabled = FalseCase 0Timer1.Enabled = TrueEnd SelectEnd SubPrivate Sub Form_Load()End SubPrivate Sub Timer1_Timer()Text1.Text = Text1.Text + 1End Sub六、文本框的使用Private Sub C1_Click()Open App.Path & "\out7.txt" For Output As #2 Print #2, Text1.TextClose #2End SubPrivate Sub Form_Load()Do While Not EOF(1)Input #1, mystringText1.Text = Text1.Text + mystring LoopClose #1Text1.Text = "计算机等级考试" + Text1.Text End Sub七、求某类数的和等:Private Function fun(a As Integer) As Integer s% = 0For i% = 500 To 600If Int(i% / a) = i% / a Thens% = s% + i%End IfNextfun = s%End FunctionPrivate Sub C1_Click()If Op1.Value ThenText1 = fun(7)End IfEnd SubPrivate Sub Form_Unload(Cancel As Integer) Open "out7.txt" For Output As #1Print #1, Op1.Value, Op2.Value, Text1.TextClose #1End Sub八、文本框的使用Private Sub C1_Click()Open App.Path & "\in7.txt" For Input As #1Do While Not EOF(1)Input #1, mystringText1.Text = mystringLoopClose #1End SubPrivate Sub C2_Click()Text1.Text = UCase(Text1.Text)End SubPrivate Sub C3_Click()Print #2, Text1.TextClose #2End Sub九、文本框应用第二例:第一部分,窗体程序部分:Dim a(100) As IntegerPrivate Sub Cmd1_Click()Open App.Path & "\in.txt" For Input As #1 Text1.Text = ""For i = 1 To 100Input #1, a(i)Text1.Text = Text1.Text & a(i) & Space(1) Next iClose #1End SubPrivate Sub Cmd2_Click()Text1.Text = ""For i = 1 To 100If a(i) Mod 2 <> 0 ThenText1.Text = Text1.Text & a(i) & Space(1)s = s + a(i)End IfNextputdata sEnd Sub第二部分,模块程序部分:(如没有,需要自行添加一个标准模块)Sub putdata(ByVal a As Integer)Dim sFile As StringsFile = "\out.txt"Open App.Path & sFile For Output As #1Print #1, a;Close #1End Sub十、分苹果题:Option ExplicitPrivate Sub Command1_Click(Index As Integer)If Index = 0 ThenIf Val(Label3(0).Caption) > 1 ThenLabel3(0).Caption = Label3(0).Caption - 1 ElseIf Val(Label3(0).Caption) = 1 ThenLabel3(0).Caption = Label3(0).Caption - 1 End IfCommand1(0).Enabled = FalseEnd IfElseIf Val(Label3(1).Caption) > 1 ThenCommand1(1).Enabled = TrueLabel3(1).Caption = Label3(1).Caption - 1 ElseIf Val(Label3(1).Caption) = 1 ThenLabel3(1).Caption = Label3(1).Caption - 1 End IfCommand1(1).Enabled = FalseEnd IfEnd IfIf Val(Label3(0).Caption) > Val(Label3(1).Caption) Then picSmile(0).Visible = TruepicCry(0).Visible = FalsepicCry(1).Visible = TruepicSmile(1).Visible = FalseElseIf Val(Label3(0).Caption) < Val(Label3(1).Caption) Then picCry(0).Visible = TruepicSmile(0).Visible = FalsepicSmile(1).Visible = TruepicCry(1).Visible = FalseElsepicSmile(0).Visible = TruepicCry(0).Visible = FalsepicSmile(1).Visible = TruepicCry(1).Visible = FalseEnd IfEnd IfEnd SubPrivate Sub Command2_Click(Index As Integer)If Index = 0 ThenLabel3(0).Caption = Label3(0).Caption + 1Command1(0).Enabled = TrueElse:Label3(1).Caption = Label3(1).Caption + 1Command1(1).Enabled = TrueEnd IfIf Val(Label3(0).Caption) > Val(Label3(1).Caption) Then picSmile(0).Visible = TruepicCry(0).Visible = FalsepicCry(1).Visible = TruepicSmile(1).Visible = FalseElseIf Val(Label3(0).Caption) < Val(Label3(1).Caption) Then picCry(0).Visible = TruepicSmile(0).Visible = FalsepicSmile(1).Visible = TruepicCry(1).Visible = FalseElsepicSmile(0).Visible = TruepicCry(0).Visible = FalsepicSmile(1).Visible = TruepicCry(1).Visible = FalseEnd IfEnd IfEnd SubPrivate Sub Form_Load()picSmile(0).Visible = TruepicSmile(1).Visible = TrueCommand1(0).Enabled = FalseCommand1(1).Enabled = FalseEnd Sub十一、简单综合题:Private Sub COMEXIT_Click() EndEnd SubPrivate Sub COMSTART_Click()Dim g As Single, N As Integer, S As Single myfile1 = App.Path & "\" & "grade.DAT" myfile2 = App.Path & "\" & "average.dat" Open myfile1 For Input As #1Open myfile2 For Output As #2Do While Not EOF(1)Input #1, gN = N + 1S = S + gLoopClose #1S = S / NWrite #2, SCloseCOMSTART.Caption = "完成" COMSTART.Enabled = FalseEnd Sub十二、文本加密题:Private Sub C1_Click()Dim strinfo As StringOpen "in7.txt" For Input As 1Input #1, strinfoClose #1Text1.Text = strinfoEnd SubPrivate Sub C2_Click()Dim strchange As StringDim i As IntegerFor i = 1 To Len(Text1.Text)strchange = strchange + Chr(Asc(Mid(Text1.Text, i, 1)) + 2) NextText1.Text = strchangeEnd SubPrivate Sub C3_Click()Open "out7.txt" For Output As 1Print #1, Text1.TextClose #1End Sub十三、数组综合应用题:本程序解答分二部分,一部分在窗体模块:Option ExplicitDim a(1 To 100)Dim i As IntegerDim n As IntegerDim f As IntegerDim s As LongPrivate Sub Cmd1_Click()Open App.Path & "\in.txt" For Input As #1For i = 1 To 100Input #1, na(i) = nText1.Text = Text1.Text & a(i) & " "Next iClose #1End SubPrivate Sub Cmd2_Click()For i = 1 To 100If a(i) <= 700 Then s = s + a(i)Next iCall putdata("out.txt", s)Text1.Text = sEnd Sub另一部分在标准模块:Option ExplicitSub putdata(t_FileName As String, t_Str As Variant) Dim sFile As StringsFile = "\" & t_FileNameOpen App.Path & sFile For Output As #1Print #1, t_StrClose #1End Sub十四、素数应用又一例:本程序分两部分,第一部分在窗体模块: Private Sub Cmd1_Click()Dim i As IntegerDim temp As Longtemp = 0If Opt2.Value ThenFor i = 200 To 400If isprime(i) Thentemp = temp + iEnd IfNextElseFor i = 100 To 200If isprime(i) Thentemp = temp + iEnd IfNextEnd IfText1.Text = tempEnd SubPrivate Sub Cmd2_Click()putdata "\out.txt", Text1.TextEnd Sub第二部分在标准模块:Option ExplicitSub putdata(t_FileName As String, T_Str As Variant) Dim sFile As StringsFile = "\" & t_FileNameOpen App.Path & sFile For Output As #1Print #1, T_StrClose #1End SubFunction isprime(t_I As Integer) As Boolean Dim J As Integerisprime = FalseFor J = 2 To t_I / 2If t_I Mod J = 0 Then Exit ForNext JIf J > t_I / 2 Then isprime = TrueEnd Function。

计算机vb二级考试题库

计算机vb二级考试题库

计算机vb二级考试题库在计算机考试题库中,有哪些类型的题目呢?下面是店铺给大家整理的计算机vb二级考试题目及答案解析,供大家参阅!计算机vb二级考试选择题及答案解析1). 有表示公司和职员及工作的三张表,职员可在多家公司兼职。

其中公司c(公司号,公司名,地址,注册资本,法人代表,员工数),职员s(职员号,姓名,性别,年龄,学历),工作W(公司号,职员号,工资),则表W的键(码)为( )A.公司号,职员号B.职员号,工资C.职员号D.公司号,职员号,工资正确答案:A答案解析:由于职员可以再多加公司兼职,表W的键(码)应为公司关系和职员关系的主码,即公司号和职员号。

2). 层次型、网状型和关系型数据库划分原则是( ).A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式正确答案:D答案解析:层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。

3). 对于文本框Textl,能够获得按键的ASCII码值的事件过程是( )A.Textl_KeyUpB.Textl _KeyPressC.Textl_ClickD.Textl_Change正确答案:B答案解析:KeyPress事件:用户按下并且释放一个会产生ASCII 码的键时被触发。

此事件只对会产生ACSII码的按键有反应,包括数字、大小写的字母、Enter、Backspace、Esc、Tab等,对于如方向键这样的不会产生ASCII码的按键,KeyPress事件就不会被触发。

4). 要将单选按钮Opt1设为被选中,应设置的属性是( )A.ValueB.SelectedC.EnabledD.SetFocus正确答案:A答案解析:要将单选按钮Opt1设为被选中,应设置的属性是Value。

设置单选按钮在执行时的两种状态:True:表示选中,运行时该单选按钮的圆圈中出现一个黑点。

VB选择题题库(修改版)

VB选择题题库(修改版)

6 7 8
Static a_q 123_a
9
若选拔优秀毕业生的条件是:年龄 age<19 and total>285 and age<19 and total>285 or (age)小于19岁,三门功课总分 mark1=100 or mark2=100 mark1=100 or mark2=100 (total)大于285分,其中有一门(mark)为 or mark3=100 or mark3=100 100分,表达式应写为 要产生30—50之间的随机整数,下列 表达式正确的是() 函数asc("A")的值为() 实现ASCII码转换成字符的函数是() INT(-7.3)=( ) ROUND(-7.3)=( ) VAL("123A")=( ) LEFT$("ABCDEF",3)=( ) int(rnd*20+30) 97 STRING() 7 7 123A "DEF" int(rnd*21+30) 65 ASC() 8 8 12365 "CDE" 第 1 页
VB选择题
A X23 空值 空值 (0,10) 0.01*Int(X+0.005) 提供各种控件及其代码 TRUE Z>X Or Z>Y TRUE 1 3 p Mod q=0 负数 对象得到输入内容 冒号 冒号 p/q=p\q 小数 对象输出内容 逗号 逗号 第 5 页 对象得到焦点 分号 分号 B 8xy 空格 TRUE (1,100) 0.01*Int(100*(X+0.005)) 自动生成程序代码 FALSE Z>X And Z>Y FALSE TRUE TRUE FALSE FALSE Int(p/q)=p/q Z>X And Y C END 空字符串 FALSE (0,100) 0.01*Int(100*(X+0.05)) 提供程序示例代码、技 术文档等 Null (1,99) 0.01*Int(X+0.05) 包括上述各项功能 0 出错 Z>X>Y 0 出错 出错 出错 Int(p/q)=Mod(p/q) 0 变量 对象失去焦点 句号 空格+_ D X8[K] 答案 A 0D C C B C A B B C C D C C A D 选择题

全国计算机二级VB模拟试题及答案

全国计算机二级VB模拟试题及答案

全国计算机二级VB模拟试题及答案全国计算机二级VB模拟试题及答案计算机二级考试是全国计算机等级考试(National Computer Rank Examination,简称NCRE)四个等级中的一个等级,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。

那么全国计算机二级VB考试怎么考?以下仅供参考!1.在待排序的元素序列基本有序的前提下,效率最高的排序方法是(C)A)冒泡排序B)选择排序C)快速排序D)归并排序2.非空的循环单链表head的尾结点(由p所指向),满足(A)A)p->next==NULLB)p==NULLC)p->next=headD)p=head3.线性表的顺序存储结构和线性表的链式存储结构分别是(C)A)顺序存取的存储结构、顺序存取的存储结构B)随机存取的存储结构、顺序存取的存储结构C)随机存取的存储结构、随机存取的存储结构D)任意存取的存储结构、任意存取的存储结构4.结构化程序设计所规定的三种基本控制结构是(D)A)输入、处理、输出B)树形、网形、环形C)顺序、选择、循环D)主程序、子程序、函数5.下列不属于软件调试技术的是(D)A)强行排错法B)集成测试法C)回溯法D)原因排除法6.软件生命周期中花费时间最多的阶段是(B)A)详细设计B)软件编码C)软件测试D)软件维护7.软件设计中,有利于提高模块独立性的一个准则是(A)A)低内聚低耦合B)低内聚高耦合C)高内聚低耦合D)高内聚高耦合8.数据库的故障恢复一般是由(D)A)数据流图完成的B)数据字典完成的C)DBA完成的D)PAD图完成的9.下列关系运算的叙述中,正确的是(B)A)投影、选择、连接是从二维表行的方向进行的运算B)并、交、差是从二维表的列的方向来进行运算C)投影、选择、连接是从二维表列的方向进行的运算D)以上3种说法都不对10.在关系数据库中,对一个关系做投影操作后,新关系的元组个数将(A)A)等于原来关系中的'元组个数B)大于原来关系中的元组个数C)小于原来关系中的元组个数D)不能确定元组个数11.以下不具有Picture属性的对象是(B)A)窗体B)图片框C)图像框D)文本框12.双击窗体中的对象后,Visual Basic将显示的窗口是(D)A)项目(工程)窗口B)工具箱C)代码窗口D)属性窗口13.若要将窗体从内存中卸载,其实现的方法是(A)A)ShowB)UnLoadC)LoadD)Hide14.要使目录列表框(名称为Dirl)中的目录随着驱动器列表框(名称为Drivel)中所选择的当前驱动器的不同而同时发生变化,则应:(A)A)在Dirl中的Change事件中,书写语句 Dirl.Drive=Drivel.DriveB)在Dirl中的Change事件中,书写语句 Dirl.Path=Drivel.DriveC)在Drivel中的Change事件中,书写语句Dirl.Path=Drivel.DriveD)在Drivel中的Change事件中,书写语句Dirl.Drive=Drivel.Drive15.设有如下声明:Dim x As Integer如果Sgn(x)的值为-1,则表示x的值是(A)A)整数B)大于0的整数C)等于0的整数D)小于0的数16.下述说法不正确的是(B)A)变量名的长度不能超过255个字符B)变量名可以包含小数点或者内嵌的类型声明字符C)变量名不能使用关键字D)变量名的第一个字符必须是字母17.下列可作为Visual Basic变量名的是(A)A)FilenameB)A(A+B)C)A%DD)Print18.语句Print Sgn(-6^2)+Abs(-6^2)+Int(-6^2)的输出结果是(BD)A)-36B)1C)-1D)-7219.下面说法中,不正确的是(D)A)Cls清除由Print方法显示的文本或在图片框中显示的图形,并把光标移到对象的左上角(0,0)B)当前窗体是用Picture属性装入的图形时,也可以用Cls方法清除C)Move方法用来移动窗体和控件,并改变其大小D)Cls方法中的对象,可以是窗体或图片框,如果省略则清除当前窗体中显示的内容20.假定在图片框Picturel中装入了一个图形,为了清除该图形(注意,清除图形,而不是删除图片框),应采用的正确方法是(D)A)选择图片框,然后按Del键B)执行语句 Picturel.picture=LoadPicture("")C)执行语句 Picturel.picture=""D)选择图片框,在属性窗口中选择Picture属性条,然后按回车键21.线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是(D)A)每个元素都有一个直接前件和直接后件B)线性表中至少要有一个元素C)表中诸元素的排列顺序必须是由小到大或由大到小D)除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件22.设树T的度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1。

国家二级(VB)机试模拟试卷156(题后含答案及解析)

国家二级(VB)机试模拟试卷156(题后含答案及解析)

国家二级(VB)机试模拟试卷156(题后含答案及解析) 题型有:1. 选择题 2. 基本操作题 3. 简单应用题 4. 综合应用题选择题1.下列数据结构中,能用二分法进行查找的是( )。

A.无序线性表B.线性链表C.二叉链表D.顺序存储的有序表正确答案:D解析:二分法查找只适用于顺序存储的有序表,表中的元素按值从小到大排列。

2.下列叙述中,不属于设计准则的是( )。

A.提高模块独立性B.使模块的作用域在该模块的控制域中C.设计成多入口、多出口模块D.设计功能可预测的模块正确答案:C解析:大量软件设计表明,以下的设计准则是可以借鉴为设计的指导和对软件结构图进行优化,这些准则是:提高模块独立性;模块规模适中;深度、宽度、扇出和扇入适当:使模块的作用域在该模块的控制域中;应减少模块的接口和界面的复杂性;设计成单入口、单出口的模块;设计功能可赖测的模块。

3.下列队列的描述中,正确的是( )。

A.队列属于非线性表B.队列在队尾删除数据C.队列按“先进后出”进行数据操作D.队列按”先进先出”进行数据操作正确答案:D解析:队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。

队列的操作数是依据先进先出的原则进行的。

因此队列亦称作先进先出的线性表,或后进后出的线性表。

4.对下列二叉树进行前序遍历的结果为( )。

A.ABCDEFGHB.ABDGEHCFC.GDBEHACFD.GDHEBFCA正确答案:B解析:遍历就是不重复地访问二叉树的所有结点。

二叉树遍历的方法有3种:前序遍历、中序遍历和后序遍历。

记住3种遍历的顺序:①前序,访问根→按前序遍历左子树→按前序遍历右子树;②中序,按中序遍历左子树→访问根→按中序遍历右予树;③后序,按后序遍历左子树→按后序遍历右子树→访问根。

所以对该二叉树的中序遍历结果为ABDGEHCF。

5.对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VB选考冒泡排序综合应用题
姓名班级
第一题:2017年11月选考真题
小李基于冒泡排序算法编写了一个VB程序,功能如下:在文本框Text1中显示排序前的数据,单击“排序”按钮Command1,在文本框Text2中显示剔除重复数据后的升序排序结果。

程序运行界面如下图所示。

实现上述功能的VB程序如下,请完成划线处填空。

Const n = 10
Dim a(1 To n) As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer, t As Integer
Dim bottom As Integer
'获取排序前数据依次存储在数组a中,并在文本框Text1中显示。

代码略
bottom = n
i = 1
Do While i <= bottom - 1
For j = bottom To i + 1 Step -1
If ① Then
t = a(j): a(j) = a(j - 1): a(j - 1) = t
ElseIf a(j) = a(j - 1) Then ' 相邻两个数据相等,进行剔除处理

bottom = bottom - 1
End If
Next j

Loop
= " "
For ④
= + Str(a(i))
Next i
End Sub
第二题:2019年4月选考真题
小明基于冒泡排序思想设计了一个改进的排序算法。

该算法先用冒泡法将数组a中奇数位置的元素、偶数位置的元素分别进行排序,然后再进行后续处理。

程序界面如下图:
算法的VB程序段如下,请完成划线处填空。

’待排序数据存储在数组a中(a(1)~ a(n)),要求升序排列
For i = 1 To (n - 1) \ 2
For ①
If a(j) > a(j + 2) Then
t = a(j): a(j) = a(j + 2): a(j + 2) = t
End If
Next j
Next i
For i = 1 To n \ 2

If a(j) > a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t
Next i
For ③
t = a(i): j = i - 1
Do While t < a(j)
a(j + 1) = a(j): j = j - 1
Loop

Next i
第三题:合唱队列是按队员的身高进行排列,形成中间高两边有序降低的队形;例如有六个队员“已、戊、丁、丙、乙和甲”的身高依次由小到大,则排列后的顺序为“戊、丙、甲、乙、丁、已”。

小李用VB编写模拟“合唱队列”程序,功能如下:在文本框Text1中输入各队员身高,输入结束并回国,由输入的各队员身高分别存入数组a中;单击“合唱队列”按钮command1,对数组a的元素进行有序排列后,将各元素存入数组C中形成合唱队列,并将结果显示在文本框Text2中。

程序运行界面如图所示:甲、乙、丙、丁、戊和已。

实现上述功能的VB程序如下:
实现上述功能的VB程序如下,请在划线处填入合适代码。

Const n = 5
Dim a(1 To n) As Integer
Dim i As Integer
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then '回车键的ascii码13

If i <= n Then
a(i) = Val()
em a(i)
If i < n Then
= ""
Else
= "已输入完毕!!"
End If
End If
End If
End Sub
Private Sub Command1_Click()
Dim c(1 To n) As Integer
Dim right As Integer, left As Integer, i As Integer
For i = 1 To n - 1
For j = 1 To n - i
If ② Then
t = a(j): a(j) = a(j + 1): a(j + 1) = t
End If
Next j
Next i
m = (1 + n) \ 2
left = m: right = m
c(m) = a(n): i = 2
Do While i <= n
If i Mod 2 = 0 Then
right = right + 1
c(right) = a(n - i + 1)
Else

c(left) = a(n - i + 1)
End If
i = i + 1
Loop

For i = 2 To n
s = s + "," + Str(c(i))
Next i
on = s
End Sub
第四题:小王编写V B 程序功能如下:单击“生成数组”按钮C ommand1,则随机生成20个大写字母,分别存储到数组a中,对数组a的元素进行升序排列,并在标签Label1 中显示;再单击“最长连续字母串”按钮C ommand2,则在排序后的数组a中查找连续个数最多(忽略重复数值)的一组字符(即:连续字符串),若有两组连续字符个数一样多,则取字母ASCII值大的一组,将连续字符串显示在标签Label2 中。

运行界面如第17 题图所示。

若实现上述功能的程序如下,请在划线处填写合适代码,使程序正常运行。

Const n = 20
Dim a(1 To n) As String
Private Sub Command1_Click()
Dim i As Integer, s As String, j As Integer
Randomize
For i = 1 To n

Next i
For i = 1 To n - 1
For j = i + 1 To n
If ② Then
t = a(j): a(j) = a(i): a(i) = t
End If
Next j
Next i
s = ""
For i = 1 To n
s = s + a(i)
If ③ Then s = s + ","
Next i
on = s
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer
Dim t As Integer, k As Integer
Dim max As Integer '存储连续字母数个数最大值
Dim begin As Integer '存储连续字母数开始的位置
k = 1
max = 1
For i = 2 To n
If Asc(a(i)) = Asc(a(i - 1)) + 1 Or Asc(a(i)) = Asc(a(i - 1)) Then
If ④ Then k = k + 1
If k >= max Then
max = k

End If
Else
k = 1
End If
Next i
s = ""
For ⑥
s = s + Chr(j)
Next j
on = s
End Sub
第五题:小明基于冒泡排序算法编写了一个VB程序,功能如下:单击“生成”按钮command1,在列表框List1中生成用于排序的N个数据,单击“排序”按钮Command2,对这组数据进行错位排序(即从前往后依次是最小的、最大的、第二小的,第二大的…..依次类推),在列表框List2中依次输出数据排序后的结果,程序运行界面如图所示。

实现上述功能的VB程序如下,请完成划线处代码。

Const n = 8
Dim a(1 To n) As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer, tmp As Integer
tmp = 1
For i = 1 To n - 1
For j = n To i + 1 Step -1
If ①Then
a(j) = a(j) + a(j - 1)
a(j - 1) = a(j) - a(j - 1)
a(j) = a(j) - a(j - 1)
End If
Next j

Next i
For i = 1 To n
em Str(a(i))
Next i
End Sub。

相关文档
最新文档