VB选考冒泡排序综合应用题
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冒泡排序法
冒泡排序法
冒泡排序法是简单的排序方法之一,它和气泡从水中往上冒的情况有些类似(动画演示):这里我给大家讲一下从小到大排序〈升序排列〉。
升序排列:对数组
中两两相邻的元素比较将植较小的元告放在前面,值权‘的元素放在后面,比较完毕后,一个最大“数沉底成为数组中的最后一个元素,一些较小的数如同气泡一样上浮一个位置。
其具体做法是有很多种,下面我给大家常见的两种:
方法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冒泡排序专题
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上机考试综合应用题选讲一、素数判断与计算、输出题,并把计算与存盘部分补充完整!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二级考试选择题及答案解析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选择题题库(修改版)
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模拟试题及答案计算机二级考试是全国计算机等级考试(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(题后含答案及解析) 题型有: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的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )。
(完整版)Vb专题习题
Vb专题习题一、选择题1. 将数学表达式写成Visual Basic表达式,正确的是()(A)Sqr(abs(b*b-4ac)) (B)Sqr(abs[b*2-4*a*c])(C)Sqr(abs(b*b-4*a*c))(D)Sqr[abs(b*b-4*a*c)]2. 在Visual Basic中,若要将窗体中某个命令按钮设置成无效状态,应对该按钮的()属性值进行修改。
(A)Value (B)Visible (C)Enabled (D)Caption3. 执行如下Visual Basic程序段时,出现了如下图所示的错误:Private Sub Command1_Click()Dim a As Integer, b As Integera = 5:b = 8b = a + blabel1.Caption = Str(b)End Sub引发此错误的语句可能为()(A)Dim a As Integer, b As Integer(B)a = 5: b = 8(C)b = a + b(D)label1.Caption = Str(b)4. 已知a=5,b=9,c=11,则下列Visual Basic表达式的值为False的是()(A)a > b And a > c(B)a < b Or a > c(C)a < b + c (D)a > c – b5. 有下列Visual Basic程序段:某同学正编写一个判断两数大小的程序,其窗体和代码窗口如下图所示:根据代码窗口中的程序,要在程序运行时判断两数的大小,窗体上必须增加的对象是()(A)标签Text1(B)文本框Text2(C)命令按钮Command1(D)文本框Print若程序要实现“求100内能被3整数的自然数个数”的功能,则方框中正确的语句是()(A)i / 3 = 0(B)i mod 3 = 0(C)i \ 3 = 0(D)int(i/3) = 06. 有如下Visual Basic程序段:Private Sub Command1_Click()Dim a As Integera = Int(5 * Rnd + 1) * Int(5 * Rnd - 1)Print aEnd Sub执行程序后,a的值范围是()(A)[0,15] (B)[-1,15] (C)[-4,15] (D)[-5,15]7.在Visual Basic中,表达式3 ^ 2 Mod 14 \ 2 ^ 3的值是()(A)1 (B)0 (C)2 (D)38. 某同学正编写一个判断两数大小的程序,其窗体和代码窗口如下图所示:根据代码窗口中的程序,要在程序运行时判断两数的大小,窗体上必须增加的对象是()(A)标签Text1(B)文本框Text2(C)命令按钮Command1(D)文本框Print9. 下列Visual Basic程序段中,能实现输出变量a、b、c三个数中最大数的是()10、有如下Visual Basic程序段:x = 3y =5Text1.Text = "x+y"该程序运行后,要文本框Text1中显示的是()(A)3+5(B)x+y(C)8(D)3+5=811.在Visual Basic中,下列表达式的值为5的是()(A)Int(Sqr(9) + 1.28)(B)(19 \ 2) Mod 5(C)Abs(-7) + Sqr(4)(D)Len("x+y+2")12.在Visual Basic中,下列语句定义的数组元素为10个的是()(A)Dim a(0 To 10) As Integer(B)Dim b(1 To 9) As String(C)Dim c(2 To 10) As Boolean(D)Dim d(0 To 9) As Date13.某Visual Basic工程的代码窗口如图所示:从图中可以看出,当前正在编辑的是()A. Command1的Click事件过程代码B. Timer1的Timer事件过程代码C. Label1的Click事件过程代码D. Image1的Click事件过程代码14. 在Visual Basic中,下列能作为变量名的是()A. MyB. IfC. a+yD. 2nd15. 已知字符A~Z的ASCII码值分别对应65~90。
计算机二级vb选择题【新】
答 案
1
Open “Text.dat” For 下列哪一组语句正确将文本框Text1 Output As #1 的全部内容一次性写入文件() Print #1 Text1.text Close #1
Open Input Print Close
“Text.dat” For As #1 #1 Text1.text #1
表达式出错 Left$(Right$(m,5),3) 2^4=8 "三四" "b" [10,110] [0,20] m+Val(n) Mid$(m,5,3) M_time Sin(30*3.14/180) mm# 3<=x And <10 0.5 3y=x Cmd
a d c a b c b b d c d a b b c c c a c
FALSE Right$(Left$(m,6),3) "ABCD">"ABR" "二三四五" "B" [10,100] [0,20) p &q Left$(m,5,3) LastOne Sin(30) sum% 3<=x And x<10 1 s=π *r*r H1K2
1 Mid$(m,4) Int(123/10)\10=12 "二三" "a" [10,110) (0,20] Val(p)+q Right$(m,5,3) 3st Sin(30o) xinte$ x>=3 Or x<10 0.1234 y=x+30 76TK
a % TRUE
b # FALSE
c $ TURE
d @ 不能确定
答 案 c a
VB程序小题题型整理
1.选择题中常见的题型总结:①第七题(1)条件语句的转换例题1:200107下列选项中,与语句“If x<0 Then y=-1 Else y=1”功能相同的是()A.If x<0 Then y=-1 y=1B.y=1 If x<0 Then y=-1C.If x<0 Then y=-1 If x>0 Then y=1D.If x>0 Then y=1 Else y=-1笔记:例题2: 200707 若x是整型变量,下列选项中,与表达式Not(x>=5 And x<9)等价的是()A.x<5 And x>= 9B.Not x > 5 And Not x< 9C.x >= 5 Or x< 9D.x<5 Or x >= 9笔记:好题分享1:“如果a,b中任意一个为0,那么y=y+1”,能实现该功能的VB语句是( )A.If a=0 And b=0 Then y=y+1B.If a*b=0 Then y=y+1C.If a=0,b=0 Then y=y+1D.If a∙b=0 Then y=y+1笔记:(2)给式求值例题一:210107 VB表达式3+9 Mod3 * 2的值是()A.0B.3C.6D.9笔记:好题分享1:已知x=”9.0”,则VB表达式Len(x)+sqr(Abs(x))的值为()A.5B.6C.7D.8笔记:预测:(3)给值求式或者判断式子正确性预测类似题1:下列表达式的值等于数值69的是()A.M id("123456789",6,2)B."10"+"59"C.len("69")D.Abs(31-100)笔记:预测类似题2:下列表达式的值与其他三项都不同的是()A.Asc(Mid("789",1,1 ))B.Abs(Int(-6.8))C.val("9")-Sqr(4)D.Len("123")+2*2笔记:预测类似题3:下列表达式中,值为True的是()A.60 Mod 15 <> 0B.Mid("Visual Basic",8,3)C.2 + 3 >= 0 And "121" > "13"D.Not(1 + 2 > 3)or1 - 2>0笔记:②第九题(1)循环语句例题1: 200709有如下VB程序段:sl = "1324":s2="abcdefgh"j = 1:m=0:c=" "For i= 1 To Len (s2)k =Val(Mid(sl,j,1))c= c +Mid(s2,m +k,1)j=j+1If j>4 Then j= 1:m =m+ 4Next i执行该程序段后,变量c的值是()。
vb试题——精选推荐
vb试题⼀、单项选择题(50道⼩题,共50分)1、下列叙述中,不正确的叙述是( C )。
(1分)A、注释语句是⾮执⾏语句,仅对程序的有关内容起注释作⽤,客观存在不被解释和编译B、注释语句能放在整个代码程序的最后C、注释语句可以放在代码中的任何位置D、代码中加⼊注释语句的⽬的是提⾼程序的可读性2、( B )是对象的⼀个基本要素,它描述了对象在程序中的外观特点。
(1分)A、事件B、属性C、⽅法D、事件程序3、在Visual Basic中,系统为每个对象预先定义好了⼀系列的事件。
下列事件中,不属于VB系统提供的事件是( C )。
(1分)A、Click()B、Change()C、MyFirst()D、DblClick()4、Visual Basic程序中分隔各语句的字符是( B )。
(1分)A、'B、:C、\D、_5、下列关于VB编码规则的叙述中,错误的是( B )。
(1分)A、⼀条语句可以分为多⾏书写B、多条语句可以书写在同⼀⾏上,每条语句之间⽤逗号隔开C、可以⽤Rem<注释内容>给语句或程序段加上注释,以提⾼可读性D、不区分程序代码中变量名的字母的⼤⼩写6、下列关于Visual Basic的叙述不正确的是( A )。
(1分)A、变量名区分字母⼤、⼩写B、不能⽤系统保留字声明为变量名C、允许在⼀⾏中书写多条语句,但要⽤冒号隔开D、允许⼀条语句分成若⼲⾏书写,但要在上⼀⾏末加上空格及下划线作为续⾏标志7、Visual Basic以( B )为运⾏机制。
(1分)C、执⾏计划D、后台作业8、在设计阶段,当双击窗体上的某个控件时,所打开的窗⼝是( C )。
(1分)A、⼯程资源管理器窗⼝B、⼯具箱窗⼝C、代码窗⼝D、属性窗⼝9、VB应⽤程序在( A )模式下不能编辑代码和设计界⾯。
(1分)A、运⾏B、中断C、设计D、以上均不能10、当程序中断修改后再运⾏时,VB进⼊( B )模式。
(1分)A、设计B、运⾏C、中断D、编程11、语句 Debug.Print "郑州⼤学" 被执⾏后, 在( B )上将显⽰: 郑州⼤学。
计算机二级考试vb选择题前十题打印版
1-1、程序流程图中带有箭头的线段表示的是( )。
A) 图元关系B) 数据流C) 控制流D) 调用关系参考答案:C1-2、结构化程序设计的基本原则不包括( )。
A) 多态性B) 自顶向下C) 模块化D) 逐步求精参考答案:A1-3、软件设计中模块划分应遵循的准则是( )。
A) 低内聚低耦合B) 高内聚低耦合C) 低内聚高耦合D) 高内聚高耦合参考答案:B1-4、在软件开发中,需求分析阶段产生的主要文档是( )。
A) 可行性分析报告B) 软件需求规格说明书C) 概要设计说明书D) 集成测试计划参考答案:B1-5、算法的有穷性是指( )。
A) 算法程序的运行时间是有限的B) 算法程序所处理的数据量是有限的C) 算法程序的长度是有限的D) 算法只能被有限的用户使用参考答案:A1-6、对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( )。
A) 快速排序B) 冒泡排序C) 直接插入排序D) 堆排序参考答案:D1-7、下列关于栈的叙述正确的是( )。
A) 栈按"先进先出"组织数据B) 栈按"先进后出"组织数据C) 只能在栈底插入数据D) 不能删除数据参考答案:B1-8、在数据库设计中,将E-R图转换成关系数据模型的过程属于( )。
A) 需求分析阶段B) 概念设计阶段C) 逻辑设计阶段1-9、有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为()。
A) 并B) 自然连接C) 笛卡尔积D) 交参考答案:D1-10、设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( )。
A) 课号,成绩B) 学号,成绩C) 学号,课号D) 学号,姓名,成绩参考答案:C2-1、一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。
绝对简单易学的VB教程——冒泡法排序
a(i) = Val(InputBox("输入一个数"))
Next i
For i=1 to 4
For j=1 To 5-i
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
For i = 1 To 5
冒泡排序
Print a(i);
第一轮的比较过程 For j=2 To 5
if(a(1)>a(j)) Then t=a(1) : a(1)=a(j) : a(j)=t
End if Next j
2、顺序交换法
现在重复上述算法:把a(2)到a(5)中的最小数放在 a(2)中,a(3)到a(5)中的最小数放在a(3)中,a(4) 与a(5)中的最小数放在a(4)中。这样一共经过4次选 小就把a(1)到a(5)中的数进行由小到大排序。
就交换,比较完一轮,最大的数已沉底,成为数组中的最后一 个元素a(n)
(2) 对a(1)和a(n-1)的n-1个数进行同(1)的操作,次大 的数放入a(n-1)中,完成第二轮排序。
(3) 进行n-1轮排序,所有的数排序完毕。
1.冒泡法
n个数冒泡法递增排序程序清单:
Dim a%(), i%, j%, n% n = InputBox("请输入一个正整数") ReDim a(1 To n) For i = 1 To n a(i) = Int(Rnd * 100) : Print a(i); Next i For i = 1 To n - 1 For j = 1 To n - i If a(j) > a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t End If Next j
VB笔试模拟试卷1(题后含答案及解析)
VB笔试模拟试卷1(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为A.log2nB.n2C.O(n1.5)D.n(n-1)/2正确答案:D解析:假设线性表的长度为n,则在最坏情况下,冒泡排序要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2。
2.算法分析的目的是A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进正确答案:D解析:算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。
分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。
3.线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件正确答案:D解析:线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表的定义中,元素的排列并没有规定大小顺序。
4.在单链表中,增加头结点的目的是A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现正确答案:A解析:头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点目的是为了便于运算的实现。
5.软件工程的出现是由于A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现D.计算机的发展正确答案:C解析:软件工程概念的出现源自于软件危机。
浙江省高中信息技术选考加试题VB专项练习题六及答案
浙江省高中信息技术选考加试题VB专项练习题六及答案1.下列可作为VB变量名的是:(A)a\b(B)False(C)cos(D)sum正确答案:AVB变量名只能由字母、数字和下划线组成,且不能以数字开头,因此只有选项A符合要求。
2.在VB语句dim s(9) as integer中,数组s的变量个数和类型是:(A)9整型(B)10整型(C)9单精度型(D)10单精度型正确答案:Adim s(9) as integer定义了一个包含10个元素的整型数组,因此选项A正确。
3.将数学表达式x2≤y+z写成VB表达式,正确的是:sqr(x)≤y+z(B)x2≤y+z(A)(C)x^2<=y+z(D)x^2≤y+z正确答案:DVB中乘方运算符为^,而不是2,因此选项D正确。
4.VB表达式val(mid(str(3.5),2,1))的值是:(A)1(B)2(C)3(D)5正确答案:Bstr(3.5)将3.5转换为字符串"3.5",mid(str(3.5),2,1)取出字符串中第2个字符,即".",val(".")的值为0,因此选项B正确。
5.VB语句Text1.text="浙江省"用于在文本框中显示文字“浙江省”,该语句中的"text"是:(A)类名(B)对象名(C)属性名(D)属性值正确答案:CText1是对象名。
text是文本框控件的属性名,因此选项C正确。
6.VB语句fix(rnd*6)+1所产生数的范围(小括号表示边界值不能取到,中括号表示边界值能取到)是:(A)[2,6](B)(1,5)(C)[1,6](D)(2,5)正确答案:Crnd函数返回0到1之间的随机数,乘以6后取整,得到0到5之间的整数,加1后得到1到6之间的整数,因此选项C正确。
7.某VB程序代码如下:a = 3b = 4c = 5If a。
程序设计语言VB综合设计题及答案[精选五篇]
程序设计语言VB综合设计题及答案[精选五篇]第一篇:程序设计语言VB综合设计题及答案《程序设计语言VB》综合设计题1.编制程序实现:在窗体上,单击按钮1,在文本框中动态显示当前时间;单击按钮2,则停止动态显示;单击按钮3,清除文本框内容。
提示:可用定时器控制时间,用系统函数Now显示时间(如Text1.Text = Now)。
2.编制程序:求出100-200之间所有可以被3整除的数的总和,将结果用消息框显示输出。
3.编制程序:利用输入框输入10个不同的整数,将它们从小到大排序,并打印输出。
4.编制程序实现:设计在一框架中包含三个复选框,只有当其1,3选中而2未选中时,才在Text1中显示“Hello”字符。
5.编一程序能实现在窗体上打印出如下图所示的图形。
A AAA AAAAA AAAAAAA BBBBBBB BBBBB BBB B 6.编一程序用于判断一正整数是否为素数。
(提示:只能被1和本身整除的正整数称为素数。
为了判断一个数n是不是素数,可以将n被2到sqr(n)之间的所有整数除,如果都除不尽,则n就是素数,否则n是非素数。
)7.选用If和Select判断结构中任意一种编写满足下列条件的计税要求的程序:少于1600元,免税;1601-5000元,征2%的税;多于5000元,超过部分征5%的税。
8.有a、b、c三个数,编一程序实现通过文本框给a、b赋值;再调用能完成a、b比较大小的子过程,用c将大数回传。
要求按值传送a、b。
9.编一程序用于求所有的“水仙花数”。
所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
例如:153就是一水仙花数,因为153 = 13+53+33。
10.设计一弹出式菜单,用于设置窗体的背景色,背景色包含白色、黄色、红色三种颜色。
11.编写程序实现:输入三角形的三条边a,b,c的值,根据其数值判断能否构成三角形。
如果能,则判断三角形是否是直角三角形,若是则计算该直角三角形的面积。
国家二级VB机试(综合应用题)模拟试卷18(题后含答案及解析)
国家二级VB机试(综合应用题)模拟试卷18(题后含答案及解析) 题型有:1.1.在考生文件夹下有一个工程文件sjt.vbp,功能是用来计算勾股定理整数组合的个数。
勾股定理中3个数的关系是:a2+b2=c2。
例如,3、4、5就是一个满足条件的整数组合(注意:a,b,c分别为4,3,5与分别为3,4,5被视为同一个组合,小应该重复计算)。
编写程序,统计均在60以内的三个数满足上述关系的整数组合的个数,并显示在标签Label1中。
注意:不得修改原有程序的控件属性。
在结束程序运行之前,必须至少正确运行一次程序,将统计的结果显示在标签中,否则无成绩。
最后把修改后的文件按原文件名存盘。
正确答案:【操作步骤】步骤1:打开本题工程文件。
步骤2:打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。
参考答案Dim i As Integer Dim j As Integer Dim k As Integer For i=1 To 60 For j =1 To 60 For k=1 To 60 判断三个数是否满足勾股定律If i^2=j^2+k=2 Then m=m+1’m为记录满足条件的个数End If Next k Next j Next i Label.1=m/2=去掉相同的项步骤3:调试并运行程序,关闭程序后按题目要求存盘。
2.在考生文件夹下有工程文件sit5.vbp,窗体上有两个标题分别是“读数据”和“统计”的命令按钮,请添加一个名称为Label1、标题为“回文的个数为”的标签和一个名称为Text1,初始值为空的文本框,如图3—87所示。
程序功能如下:①单击“读数据”按钮,则将考生文件夹下in5.dat文件的内容读到变量s中。
②单击“统计”按钮,则统计in5.dat文件(该文件中仅含由空格间隔开的字母串)中回文的个数,并将统计的回文个数显示在Text1文本框内。
(所谓回文是指顺读与倒读都一样的字符串,如“recycer”)。
VB选考冒泡排序综合应用题
VB选考冒泡排序综合应用题姓名班级第一题:2017年11月选考真题小李基于冒泡排序算法编写了一个VB程序,功能如下:在文本框Text1中显示排序前的数据,单击“排序”按钮Command1,在文本框Text2中显示剔除重复数据后的升序排序结果。
程序运行界面如下图所示。
实现上述功能的VB程序如下,请完成划线处填空。
Const n = 10Dim a(1 To n) As IntegerPrivate Sub Command1_Click()Dim i As Integer, j As Integer, t As IntegerDim bottom As Integer'获取排序前数据依次存储在数组a中,并在文本框Text1中显示。
代码略bottom = ni = 1Do While i <= bottom - 1For j = bottom To i + 1 Step -1If ① Thent = a(j): a(j) = a(j - 1): a(j - 1) = tElseIf a(j) = a(j - 1) Then ' 相邻两个数据相等,进行剔除处理②bottom = bottom - 1End IfNext j③Loop= " "For ④= + Str(a(i))Next iEnd Sub第二题:2019年4月选考真题小明基于冒泡排序思想设计了一个改进的排序算法。
该算法先用冒泡法将数组a中奇数位置的元素、偶数位置的元素分别进行排序,然后再进行后续处理。
程序界面如下图:算法的VB程序段如下,请完成划线处填空。
’待排序数据存储在数组a中(a(1)~ a(n)),要求升序排列For i = 1 To (n - 1) \ 2For ①If a(j) > a(j + 2) Thent = a(j): a(j) = a(j + 2): a(j + 2) = tEnd IfNext jNext iFor i = 1 To n \ 2②If a(j) > a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = tNext iFor ③t = a(i): j = i - 1Do While t < a(j)a(j + 1) = a(j): j = j - 1Loop④Next i第三题:合唱队列是按队员的身高进行排列,形成中间高两边有序降低的队形;例如有六个队员“已、戊、丁、丙、乙和甲”的身高依次由小到大,则排列后的顺序为“戊、丙、甲、乙、丁、已”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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。