




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、高三信息技术高考真题试卷-填空VB 2019.11(2019年6月学考卷】班级学号姓名11.小宇为选定班级参赛作品编写了一个VB程序,设计如下:在文本框Textl内输入S位评委对3个作品的评分数 据(评委对作品的评分数据由3位十进制数组成,第1位对应作品编号,第2、3位对应作品得分,分值范围为60, 99|o如“275”表示2号作品得分75)。单击“计分”按钮后,在标签Label 1中输出3个作品的平均分,在标签Label!中 输出参赛的作品(选择最高平均分作品参赛,若最高平均分存在并列,则从并列作品中随机抽取)。程序运行界面如图 所示。(1) “计分”按钮的对象名为。答案:jf考点:VB窗体
2、界面设计-对象名、属性名、方法名、事件名、事件处理过程名区分解析:通过下面程序代码“PrivateSubjf_Click()"判断,jf_Click()是事件处理过程名,jf是对象名,Click是事件名(2) 程序部分代码如下,请在划线处填入合适代码。Private Sub j匚Click。Dim s As String, d As String, i As IntegerDim fl As Single, f2 As Single, f3 As Singles = Text I .TextrDo Whiled = Mid(s, i, 3)主结构:DO循环,用于循环取出3位数字,并做
3、判断DO循环的三要素:循环变量初值、循环条件、循环变量变 化本题中:循环变量i初值为1, i是循环取字符串中子串的变 量,每次取字符串中的i位开始的三个数字,以此判断循环 条件为iv=len(s)-2,循环变量的变化为i=i+4IfMid(d, 1, l) = TThenf 1 = f 1 + Val(Mid(d, 2, 2)Elself Mid(d, 1, 1) = ”2” Then Jf2 = f2 + Val(Mid(d, 2, 2)Elsef3 = f3 4- Val(Mid(d, 2, 2)End IfLoLoLabel 1.Caption ="作品1平均分为,以卜.省略“
4、处理并列最高平均分,End SubJ:n + Str(fl / 5) + ”作品 2 平均分为:” + Str(f2 / 5)+ ”作品 3 平均分为:” + Str(f3 / 5) 并在labcI2中输出选取的参赛作品”的代码 答案:iv=len(s)-2 (或者其他等价表达式均可)(g)i=i+4考点:VB程序代码解析:见上(3) 运行该程序时,在文本框Textl中以不同的顺序输入原评分数据:380/295/283/170/180/385/372/285/190/180/390/384/272/170/276,单击“计分”按钮,则 Label 1 中显示的结果(选填:会/不会)发生改变。蓉
5、案:不会考点:VB程序功能综合分析解析:程序代码功能实现与数字位置没关系只和三个数字的首数字(作品1作品2作品3)有关系2019年4月选考卷】班级学号姓名14.小王设计“模拟撤销”程序,需要用一个“历史记录”,“历史记录”是在对字符串s进行插入或删除时,将每步操 作信息依次存储得到的,操作信息由操作符(“+”表示插入,“一”表示删除)、操作位置和操作字符串(只包含英文字 母)构成,例如,"+23abc"表示在字符串s第23个位插入了“abc”, “模拟撤销”过程按照“历史记录”的逆序进行, 将字符串s的内容恢复到初始状态。对字符串“Book”的操作与撤销过程,如第14题a所
6、示。小王编写的“模拟撤销”VB程序如下,文本框Textl中的内容是撤销前字符串,文本框Text2中的内容是历史记录, 单击“撤销”按钮Command 1后,在标签Labell中显示撤销过程,程序运行界面如第14题图b所示。(1) 实观上述功能的VB程序如下,在程序中出现的对象没有Caption属性的是。(选填,填字码:A.Labell /B.Command 1 /C.Textl 和 Text2)_塑= 色主座兰,座也For i = 1 To n - 1 | | Rl |If IsPrime(a(k) Then flag = True Else flag = False For j = i +
7、1 To n| If IsPimc(a(j) Then«If | a(j) v a(k) | Thenk=j|flag = TrueEnd IfEnd IfNext jIfkoiThcnt = a(k): a(k) = a(i): a(i) = tEnd IfIf Not flag Then Exit For 'Exit For 表示退出循环 |Nexti丽潜南痂<7选择排序升序排序变式:k作为该趟寻找中标记最小 元素的下标位置变量初值设为该趟首元素下标,因此 第一题修改为k=i根据前面语句判断如果a(k)数据是素数且a数据也 是素数则比较大小后标记较小元素下标,另一种
8、情况 a(k)不是素数而a(j)是素数,则直接将k中标记下标改 为j因此第二题改为 flag=false or a(j)<a(k)(或改为 Not flag or a(j)<a(k)End Sub| Function IsPrimc(m As integer) As Boolean| '本函数判断m是否是素数:是素数返回值为True,不是素数返回值为False j i 代码略答案:Ok = i Not flag or a(j)<a(k)考点:算法与程序设计加试-排序变式(自定义函数)解析:见上17.【加试题】为分析数组a中各元素依次变化的情况,进行如下定义:变化段:数
9、组中相邻两个元素构成一个变化段。变化段有上升段(a(i)>a(i-l)、下降段(a(i)va(i-l)和持平段(a(i)=a(i-l)。 数组a中的n个元素可构成n-1个依次排列的变化段。波峰:从上升段转到下降段形成一个波峰。波峰的起点是峰顶前所有连续上升段中的第1个,终点是峰顶后所有连续 下降段中的最后1个。对称波峰:上升段与下降段个数相同的波峰称为对称波峰。下图为一组数据的变化段及波峰示意图。现要求统计数组a各元素依次变化过程中“对称波峰”的个数。小李依据上述描述设计如下VB程序。请回答下列问题:(I)数组元素“1,4,3,326,8,7,9,3,4,7,9,6,3,1”依次变化过程
10、中“对称波峰”的个数为(2)请在划线处填入合适的代码。答案:3考点:VB程序功能综合分析 _ zztV 三三 A 解析:LJ'jz。 Const n = 20Dim a(l To n) As IntegerPrivate Sub Form_Load()'读取数据,并存储到数组a中,代码略End SubPrivate Sub Command 1 Click()Dim flag As Integer,存储变化段的状态:Dim count As Integer '存储对称波峰段的个数Dim steps As IntegerDim i As Integerflag = 0: s
11、teps = 0: count = 0flag = 0: steps = 0: count = 0 To nFor i = If a(i) > a(i - 1) ThenRf lsSymPcak(flag, steps) Then count = count + 1If flag = 0 Or flag = -1 Then由Ifa(i) > a(i - 1)此语句判断i的初值应为2 count统计对称波峰段个数I Elsesteps = steps + 1 I End IfElself a(i) = a(i - I)ThenRf IsSymPeak(0ag, steps) Then
12、 count = count + 1 steps = 0 flag = OElsesteps = steps - I|flag = -lEnd If"Next iI Elsesteps = steps + 1 I End IfElself a(i) = a(i - I)ThenRf IsSymPeak(0ag, steps) Then count = count + 1 steps = 0 flag = OElsesteps = steps - I|flag = -lEnd If"Next i一L一J-Ja(i) > a(i - 1)的情况中,If flag = 0
13、Or flag = -1,表示 刚进入一个新的波峰则此时steps重新计时,又因为 是上升段,因此steps=lIf IsSymPcak(flag, steps) Then count = count + 1 Text 1 .Text = Str(count)If IsSymPcak(flag, steps) Then count = count + 1 Text 1 .Text = Str(count)End SubO-'unction IsSymPeak(flag As Integer, steps As Integer) As BooleanIf ThenIsSymPcak =
14、TrueElseIsSymPcak = FalseEnd IfEnd Function<-IsSymPeak(flag,steps)是判断是否为对称波峰段的自 定义函数,通过上面的注释语句可知,flag是存储升(1)、降(1)、平(0)的变量,steps波峰段内步长 计数器(升序段步长+,降序段步长,则如果对称波 峰段步长steps 一定为0),根据文字描述处于下降段 且步长为0则可判断是对称波峰段,因此判断条件为 flag=-l and steps=0答案:2 steps =1 flag=-1 and steps=() 考点:算法与程序设计加试-过程与自定义函数 解析:见上12017年
15、11月选考卷】班级学号姓名14.编“字符串生成”程序,实现如下功能:在文本框Textl中(字符位置)输入多个正整数(以“,”为分割符和结束 符),单击“生成”按钮Command】,程序以这些整数为位置信息,依次从文本框Text2中(字典内容)提取字符并连 接成字符串,最后将字符串显示在标签Labell中(生成内容)。程序运行界面如下图所示。(1) 要使程序运行时,窗体Forml标题显示“字符串生成”,可在Form_Load事件过程中添加语句(单选,填字母:A.Fomi 1 = ”字符串生成” / B.Form 1 .Text=”字符串生成”/ C. Form 1 .Caption=”字符串生成
16、”)。答案:C考点:VB窗体界面设计.对象属性修改语句解析关键词描述Forml标题显示“字符串生成即Forml的Eaption属性值改为二字符串星成(2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。Private Sub Command 1 _Click()Dim s As String, t As String, c As StringDim i As Integer, p As Integerc = = ,H,For i = 1 To Len(Textl.Text)c = Mid(Textl.Text, i, I)Ifc = V Thenp = Val(t).主结构取字符串,当
17、取到逗号时,取逗号前数字位的字符 否则的话:取出数字串t = t + c主结构下面输出语句输出sElsepasEnd IfNext iLabel 1 .Caption = _End Sub答案:t = t + cs考点:VB程序代码解析:见上(3)若文本框Textl中输入内容的结束符缺失(即输入内容为1,18,9,9),单击“生成”按钮后,标签Label 1中显示的 内容是。垂s = s + Mid(Text2.Text, p, 1)看瓦VB程序功能综合分析解析:缺少,则最后数字对应的字符无法取出【加试题】小李基于冒泡排序算法编写了一个VB程序,功能如下:在文本框Textl中显示排序前的数据,
18、单击“排 序”按钮Commandl,在文本框Text2中显示剔除重复数据后的升序排序结果。程序运行界面如下图所示。实现上述功能的VB程序如下,但加框处代码有错,请改正。Const n = 10Dim a(l To n) As IntegerPrivate Sub Command 1 _Click()Dim i As Integer, j As Integer, t As IntegerDim bottom As Integer'获取排序前数据依次存储在数组a中,并在文本框Textl中显示。代码略Do While i二 bottom - 1冒泡升序排序的基本原理是相邻两个元素两两 比较,
19、将小的元素往前交换。根据下一行的交换 语句 t = a(j): a(j) = a(j - 1): a(j -1) = t,得出第 1 出错误应修改为a(j)va(j-l)如何从数组中踢除重复数据,是本题算法思想的 的难点。数组中删除一个元素的基本思想是通过 数据移位实现,移位常见有两种1.后而数据依次往前移位bottom = n For j = bottom To i + 1 Step -1 | If I a < aThent = a(j): a(j) = a(j- 1): a(j- l) = t| a( bottom)=a(j)2.最后个数据直接前移第1种移位需要一个循环语句实现,此方
20、法可以 保持数组元素相对位置不变。第2中方法,直接 移位实现比较简单。结合题目分析,采用的是第 2种方法。所以第2处应该修改为a(j)=a(bottom)oElscIfaU) = a(j-l)Thcn*相邻两。数据相等,进行剔阵处理bottom = bottom - 1End IfNext jI 1i = i+ 1I Loop xtTfex"For i = 1 To bottomText2.Text = Text2.Text + Str(a(i)Next iEnd Sub答案:a(j)va(j-l)a(j)=a(bottom) 考点:算法与程序设计加试排序解析:见上16. 【加试题】
21、由数组a生成数组b的方法描述如下:将数组a中的n个元素依次分割出若干个数据块,每个数据块有mXm个元素,m最大值为8,最小值为2。分割时, 按尽可能大的数据块进行分割;对每个分割出的数据块用“方阵转换法”进行转换,每次转换后得到的数据块依次存 储在数据b中;数组a分割后的剩余元素(个数小于4),直接依序存储到数组b中。例如n=140时,可依次分割出3个数据块,元素的个数分别为64 (8X8)、64 (8X8)、9 (3X3),剩余元素为3个。 “方阵转换法”过程如下:将数据块中mXm个元素按行序排列成一个数字方阵,从该数字方阵中按列序得到转换后 元素的次序。以3X3数据块为例,转换过程如下图所
22、示:小明依据上述描述设计了如下VB程序。请回答下列问题:(1) 当n=120时,分割出的第3个数据块元素个数为。¥M: 4考点:VB程序功能综合分析解析:根据每个数据块有mXm个元素,m最大值为8,最小值为2。第一段8X8=64;第二段7X7=49;第三段2X2=4; 最后3个元素;总共120个元素(2) 请在划线处填入合适的代码。Const n = 120Dim a(l To n) As IntegerDim b( 1 To n) As IntegerPrivate Sub Command 1 _Click()Dim m As Integer, i As IntegerDim St
23、art As IntegerDim Left As IntegerDim pa As IntegerDim pb As Integer转换后层席'当前未分割数据的第1个元索下标,当前未分割数据的个数嗷组a的下标'数组b的下标12 67 34 42 19 77 54 22 83I专换前元素次序a(n)中,代码略”读取n个转换前的数据,依次存储到a(l)、a(2)、m = 8Start = 1n| If Left < ni * m ThenI I m=| Elsepa = Startpb = Start_| For i = 1 To m * mb(pb) = a(pa)pb
24、= pb + 1| | | If i Mod m = 0 ThenElsepa = pa + mEnd If| | Next iI Start = Start + m * m| EndjfI LoopFoiT=StartTon,Mi) = a(i)1主结构Do循环,遵循Do循环三要素原理,则空一定与 Left变化有关,而Left用于存放剩下数据的变量,因此 Left = Left-m*mIf选择判断用于判断当left不够m*m分时需要往下一个m1IIIkt4来判断能否分隔,因此m = m.1当当前Left够m*m分时,就需要进行方阵转换,因此内层 For循环用于进行方阵转换,II假设,以上图为
25、例m=3时1IIi=1, b(l)=a(l)1i=2, b(2)=a(4)1i=3, b(3)=a(7)IIi=4, b(4)=a(2)11i=5, b(5)=a(5)11i=6, b(6)=a(8)LL1i=7, b=a(3).1 11If用于计算出下一次执行时pa值,当i=3时,计算下一次 pa值为2,当i=6时,计算下一次pa值为3即i Mod m =L10 时,pa=im+l,其余情况 pa=pa+m同时考虑到Start是每个m*m段的首标,则考虑其他m*m 段情况,pa = i m + Start.Next ib(n)中,代码略'依次输出转换后数据b(l)、b(2)、End
26、Sub答案:m = m -1 pa = i m + Start Left = Left-m*m考成l算法与程序设计加试数组元素下标变化解析见上12017年4月选考卷】班级学号姓名14.奇偶校验是一种校验数据传输正确性的方法。其中奇校验方法:统计二进制数据的数位中“1”的个数,若个数为 奇数,则校验位值为0,否则校验位值为h小李编写了一个计算奇校验位值得VB程序,功能如下:在文本框Textl 中输入1255十进制待校验数,单击“计算”按钮Command 1后,在文本框Text2中显示该数对应的二进制值,并 在标签Label3中显示该数的校验位值。程序运行界面如图所示。(1) 在设计程序界面时,要
27、清空文本框中的显示内容,应修改该文本框中的属性。奇校薮- X答案:Text考点:VB窗体界面设计.对象属栓待校验数:方二进制值:| * 1 1 0 0 0 1 0校验位值:13算解析爻本框用宇输人输由内容的属性是Text(2) 实现上述功能的VB程序如下,请在划线处填入合适代码。Private Sub Commandl_Click()Dim a As Integer, s As StringDim n As Integer, t As Integer, v As Integern = Val(Textl.Text)t = 0根据文字功能介绍可知主结构用于转换十进制数为 二进制数并且统计二进制数
28、码中1的个数,则t变量 就是用于统计,a存放每次取出的二进制数码,则 t + a又t mod 2 =1为奇数,但校验值为0t mod 2 = 0为偶数,但校验值为1则存放t mod 2结果的变量v输出时应01取反,且 考虑输出语句类型匹配,因此str(l-v)s =,H,|DoWhilenja = n Mod 2n = n 2I t= | s = Str(a) + s| Loopv = t Mod 2Text2.Text = sLabel3.Caption ="校验位值:”+ End Sub答案:(D t + a ®str( 1-v)考点:VB程序代码解析:见上(注意代码中
29、给出部分语句,则填号蒋案2不要重复书写)(3.)运行该程序,在文本框Textl中输入22,单击“计算”按钮,则显示的校验“位值是。Textl职*为:v Text3Text2Text4骨输次教:-Text6Text5全 SMhi廉文中的起她墨:1116 45 59 fitter答案:If s = Text2.Tcxt Thenresult = result + Text3.Textcount = count + 1 pos = pos + Str(count) i = i + Len(Text2.Text) Elseresult = result + Text2.Texti = i+ 1End
30、IfLoopTcxt4.Tcxt = resultText5.Text = Str(count)Tcxt6.Tcxt = posEnd Sub答案: 考点:17.【加试题】小王编写了一个依据成绩计算名次的VB程序,成绩为0到100之间的整数。算法的基本思想:先统计 每个分数的个数,然后按照分数从高到低依次计算每个有效分数(该分数的个数不为0)对应的名次,分数相同时名 次并列。最高分为第1名,该分数的名次与个数之和为下一个有效分数的名次,以此类推。程序用数组A存放每个分 数对应的个数,数组B存放每个分数对应的名次。例如,下表中最高分100有2个,并列第1名,则分数96的名次 为分数100的名次加
31、上分数100的个数,即第3名。程序运行时,学生数据显示在列表框Listl中,单击“计算”按Command 1,计算结果显示在列表框List2中,程序运行界面如图所示。实现上述功能的VB程序如下,请回答下 列问题:(1)如表所示,若分数93的个数为2,则该分数对应的名次为。分数1009998979695940个数(A数组)2000103 0名次(B数组)134(2)请在划线处填入合适的代码。,存放学生姓名 '存放学生分数'存放学生人数答案: 考点: 解析;Dim sName( 1 To 50) As StringDim sScore( 1 To 50) As IntegerDim
32、 rccCount As IntegerPrivate Sub Form_Load(),本过程从数据库中读取学生数据,存储在相应的变量中,并在Listl中显示,代码略End SubFunction ads(x As Integer, n As Integer) As String,整数转换成长度固定的字符串Dim sx As String, nx As Integer, i As Integersx = Str(x): nx = Len(sx)For i = 1 To n - nxsx = ”" + sxNext iEnd FunctionPrivate Sub Command 1
33、_Click()Dim A(0 To 100) As Integer,存放每个分数的个数Dim B(0 To 100) As Integer,存放每个分数的名次Dim me As Integer, score As Integer, i As IntegerFor i = 0 To 100End SubFunction ads(x As Integer, n As Integer) As String,整数转换成长度固定的字符串Dim sx As String, nx As Integer, i As Integersx = Str(x): nx = Len(sx)For i = 1 To n
34、 - nxsx = ”" + sxNext iEnd FunctionPrivate Sub Command 1 _Click()Dim A(0 To 100) As Integer,存放每个分数的个数Dim B(0 To 100) As Integer,存放每个分数的名次Dim me As Integer, score As Integer, i As IntegerFor i = 0 To 100tj计算名次计算结果学生数据澧玉天惠一.婷澄玉天惠婷、一11街务红7587008576006596Issi821361223B1S1新即葺布A(i) = 0Next iFor i = 1
35、 To recCount,计算每个分数的个数 Next ime = 1For i = 100 To 0 Step-1计算每个分数的名次IfA(i) <> 0 ThenB =mc®End IfN.ext iList2.ClearList2.AddItem ”姓名 分数 名次”List2.AddItem ”For i = 1 To recCountscore = sScore(i)me = B(sScore(ir)List2.Additem sName(i) + ads(score, 5) + "第"+ ads(mc, 3) + ”名"Next
36、i14.编写“加法练习题生成器”程序,实现如下功能:在文本框Textl中输入题数n,单击“生成”按钮Commandl, 在列表框Listl中显示n个两数之和小于100的加法练习题。程序运行界面如图a所示。14.编写“加法练习题生成器”程序,实现如下功能:在文本框Textl中输入题数n,单击“生成”按钮Commandl, 在列表框Listl中显示n个两数之和小于100的加法练习题。程序运行界面如图a所示。(2)实现上述功能的VB程序如下,请在划线处填写合适的代码。Private Sub Command l_Click()Dim n As Integer, i As Integer, a As I
37、nteger, b As IntegerRandomizen = Val(Textl.Text)i =Do While i <= na = Int(Rnd * 100) b = lnt(Rnd * 100)If ThenE力晞练习制生成器生成238=4=212= + 1+ + + K)* Klz K1Z 12 3 4 5List 1.Addltcm+ Str(i) + ” )" + Str(a) + Str(b) +i = i+ IEnd IfLoopEnd Sub答案: 考点: 解折7(3)运行该程序,在文本框中输入5,单击“生成”按钮后,对语句"a=Int(Rnd
38、*100)”执行次数的描述,最合理的是 (单选,填字母:A.执行次数等于5/B.执行次数大于等于5/C.执行次数小于等于5)。16.【加试题】小吴为了探究冒泡排序过程中数据的“移动”情况,编写了一个VB程序,功能如下:在列表框Listl 中显示排序前数据(存储在数据a中),在文本框Textl中输入初始位置(即下标值),单击“排序”按钮Commandl 后,在标签Labell中显示指定初始位置的数据在排序过程中的位置变化情况,排序后的数据显示在列表框List2中。 程序运行界面如图所示。实现上述功能的VB程序如下,但加框出代码有误,请改正。Dim a( 1 To 8) As IntegerDim
39、 n As IntegerPrivate Sub Form Load()'n = 8,排序前的8个数据存储在数组a中, 并在列表框Listl中显示'代码略End SubPrivate Sub Command 1 Click()Dim i As Integer, j As Integer, k As IntegerDim pos As Integer,变量pos存储指定数据的位置(既下标值)Dim s As String ,变量s存储pos变化情况s = Textl.Texts = s +J” + Str(pos) 成 '(2)pos=js = s + J" +
40、 Str(pos)End IfEnd IfNext jNext iLabel 1 .Caption ="位置变化情况:"+ sFor i = 1 To nList2.Addltcm Str(a(i)Next ipos = Val(Textl.Text)For i = To n - 1End SubFor j = n To i + 1 Step -1If a(j) < a(j - l)ThenI k = a(;) |* (1)a(j- l) = a(j) a(j) = k'如果pos位置的数据参与交换,则更新pos值, 记录pos变化情况If pos = j T
41、henpos = j- 1排序前30 47307270239924初始位置:5排序后序kFfl 3 4OO7 o 219Z23314779-位置变化情况:5-> 8-> 7-> 6答案: 考点:17.【加试题】小王与小李合作编写一个成绩统计的VB程序:小王编写一个过程,该过程从数据库读取某一指定科目 的相关数据,存储在数组a中;小李编写了一个过程,该过程依据数组a中的相关数据统计各班级平均分。小王和小 李约定的数组a各元素含义如表所示。程序功能如下:在文本框Textl中输入科目名称,单击“该数据库”按钮Commandl,程序从数据库读取数据;单击 “开始统计”按钮Comman
42、dl,程序进行统计处理,输出结果在列表框Listl中。程序运行界面如图所示。实现以上功能的VB程序如下,请回答下列问题:(1)根据程序运行界面中的数据及数组a各元素的含义进行分析,数组元素a(5)的值为 (填写数值)。答案: 考点:(2)分析程序,可知数据库的文件名为 答案: 考点:(3)请在划线处填入合适的代码。Dim a(l To 600) As Integer嗷组大小洒足处理要求Private Sub Command 1 _Click(),本过程由小王完成,从数据库中读取指定科目的各相关数据,存储在数组a中Dim conn As New ADODB.ConnectionDim rs As
43、 New ADODB.Recordsetconn.ConncctionString = "providcr=Microsoft.ACE.OLEDB.12.0;data source =" + "socrc.accdb" conn.OpenSet rs.ActivcConncction = conn,本过程的其他语句略End SubPrivate Sub Command2_Click()'本过程由小李完成,依据数组a中的相关数据统计各班级平均分Dim i As Integer, j As Integer, n As IntegerDim p As
44、Integer, sum Asintger, aver As Single数组元素数据元素的含义a(l)存储班级数na(2)a(n+l)从a到a(n+l)依次存储第1、 第2、第n个班级的人数a(n+2)从a(n+2)开始依次存储第1班 每个学生的单科成绩、第2班每 个学生的单科腆、第n班 每个学生的单科成绩For I = 1 Tonsum = 0For j = 1 To a(i + 1)P = P+ 1Next javer= sum / a(i + 1)List 1.Additem Str(i) + ” ” + Str(a(i + 1) + ” ” + Str(aver) Next iEnd
45、 Sub1234567虺35343133363817平均分79. 25774.32378. 70274. 27281. 69174.89177.273科目名称P = n + 2f畛统计答案:考点:解析:【2016年4月选考卷】班级 学号 姓名14.编写VB程序,实现如下功能:在文本框Textl中输入某一年份,单击“天干地支与生肖”按钮Commandl,在列 表框Listl中输出该年份开始的12个年份及对应的“天干地支”与“生肖”,运行界面如图所示,程序代码如下。(1)代码"Private Sub Commandl_Click()”中的Click是。(单选,填字母:A.对象名/B.属性
46、名/C.事件名)答案: 考点: 解析:(2)为实现上述功能,请在划线处填入合适的代码。Private Sub Command 1 Click()Dim a As Integer, b As IntegerDim i As Integer, n As IntegerDim cl As String, si As StringDim c2 As String, s2 As StringDim c3 As String, s3 As StringList 1 .Clearsl=”甲乙丙丁戊己庚辛壬癸”s2 = ”子丑寅卯辰巳午未申酉戌亥”S3 = ”鼠牛虎兔龙蛇马羊猴鸡狗猪”n = Val(Tcxt
47、l.Tcxt)For i = n ToN天干地支与生有I f 回678901234567999900000000999900000000天干地支生肖a = (i + 6) Mod 10b = (i + 8) Mod 12cl = Mid(sl, a +1,1)c2 = Mid(s2, b + 1, 1)c3 = Mid(s3,b+ 1, 1)List 1.Additem ® + ”年” + cl + c2 + ” ” + c3Next iEnd Sub答案:考点:解析:(3) 由上述算法可知,2024律对应的“天干地支”为_。答案:考点:解析:16. 【加试题】某地1900-1999
48、年的平均降水量数据保存在数据库中。现要求找出相邻两年年平均降水量变化(即本年 度与上年度“年平均降水量"差值的绝对值)最大的年份区间。如果多个符合要求的年份区间,只输入距今最近的。 小吴为此编写了 VB程序,程序运行时,单击按钮Commandl后,在文本框Textl中输出运行结果。实现上述功能的 VB代码如下,但加框处代码有错,请改正。Dimw(l To 100) As Single依次存储1900-1999年的年平均降水量数据Const n = 100Private Sub Form Load()'本过程从数据窿中按19000-1999年依次读取年平均降水量数据,并存储在数
49、组w中'代码略End SubPrivate Sub Command 1 _Click()Dim i As Integer, imax As Integerimax = mFor i = 3 To nIf Abs(w(i) - w(i - 1) >= Abs(w(i - 1) - w(i 2) Then imax = iNext iTextl.Text = ”年平均降水后变化最大的年份区间是” + Str(imax +1889) + Str(imax +1899)1) 原始数据中,某数不为0且相邻无重复,压缩数据用该数据表示;原始数据中,某数为0且相邻无重复,压缩数据用两个数表示,
50、第1个位0,第2个为0;2) 原始数据中,某数据相邻有重复,压缩数据用3个数表示:第1个位0,第2个为重复数的个数,第3个为该数本 身;根据上述压缩方法,对应的解压缩方法示例如图a所示。小明编写了一个解压送VB程序,功能如下:窗体加载时,自动读取压缩数据,依次存储在数组元素a(l)、a(2)、a(3) 中,压缩数据的个数存储在变量n中,压缩数据显示咋文本框Textl中。单击“解压缩”按钮Commandl,程序对压 缩数据依次进行解压缩处理,解压缩数据显示在文本框Text2中。程序运行界面如图b所示。答案:c考点:VB窗体界面设计.常见对象的常见属性-_解析:Form窗体、Label标签、Com
51、mandButton命令按钮都有Caption属性,TextBox文本框用于输入输出文本的属性 是Text请在划线处填入合适代码。Private Sub Command I _Click()Dim s As String, t As String, ch As StringDim c As String, num As String, ss As StringDim n As Integer, i As Integers = Text 1.Text: t = Tcxt2.Tcxtc = "": num = ss = s|For i = Lcn(t) To 1 Step -1
52、I If ch >= "a” And ch <= ”z” Or ch >= "An And ch = ”Z” Thenc = ch + c| Elself ch >= ”0” And ch <= n9H Thennum = ch + numElsen = Val(num)If ch = ”一” Thens = Mid(s, 1, n - 1) +Elses = Mid(s, 1, n - 1) + Mid(s, n + Len(c), Len(s) - n - Len(c) + 1)End Ifss = ss + J” + sc = num =
53、 ”K| End If|Next iLabel 1 .Caption = ssEnd Sub答案:®ch = Mid(t,i,l)c + Mid( s , n , Len(s) - n + 1 )考点VB程序代码解析:根据文字截图判断程序执行过程,历史记录相当于密钥,由后往前取字符来判断是否为字母,是否为数字,是+ 还是从而得出是第几位添加还是去掉哪(几)个字符;因此第一空应该是从历史记录的最后开始取字符来判断,因 此ch=Mid(t,i,l),取出后如果是字母,统计在c变量中,如果是数字统计在num变量中,如果取出的是-号则在字符串 则在取出的第数字位加上(注意这里是一个反向的过程
54、则加+则减)取到的字母,并且加上s字符串所有后面的字符 Len(s)n + L可此空答案可以写成c + Mid( s , n ) (Mid函数第3个参数省略,默认为取后面所有字符)运行该程序,若文本框Textl中的内容是“April”,文本框Text2中的内容是”一3p+3ri6e”,单击撤销按钮,For循环语句执行完成后,字符串s的值是“答案:” Apple”一考点:VB程序功能综合分析解析:”Aprile”Aple”f "Apple”插入/操作过程:Book* Bike历史记录:撤销过程:Book+2i-3oo +4e撤销输入“r顶销删除撤销插入黠: B1 ook vB1 k v
55、B i ke主结构:For循环,用于由后往前循环取出 字符串中的每个字符16.【加试题】小明基于冒泡排序思想设计了一个改进的排序算法。该算法先用冒泡法将数组a中奇数位置的元素、偶 数位置的元素分别进行排序,然后再进行后续处理。算法的VB程序段如下,但加框处代码有错,请改正。'待排序数据存储在数组a中(a (1) a (n),要求升序排列a(l)a(2)a(3)a(4)a(5)a(6)745369(2) 实现上述功能的VB程序如下。请在划线处填入合适代码。Dim a( 1 To 100) As Integer 储压缩数据,最大处理个数为100 Dim b(l To 1000) As In
56、teger'存储解压缩数据,最大处理个数为1000 Dim n As Integer存储压缩数据的个数Private Sub Form Load(),压缩数据由上述压缩方法生成'本过程用于读取压缩数据并存储在数组a,压缩数据个数存储在变量n中 '代码略End SubPrivate Sub Commandl_Click()Dim pa As Integer,存储压缩数组当前处理位置 Dim pb As Integer '存储解压缩数组当前处理位置Dim firstdata As Integer, count As Integer, i As integerpa = 1: pb = 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安庆市大观区事业单位公开招聘工作人员笔试历年典型考题及考点剖析附带答案详解
- 2024-2025公司项目负责人安全培训考试试题及答案综合题
- 2024-2025新员工入职前安全培训考试试题及参考答案(新)
- 2025厂里厂里安全培训考试试题考点精练
- 2025在线教育平台劳动合同模板
- 2025食品销售合同范本
- 2025授权协议国际期货授权协议合同
- 2025中文合作合同范本
- 2025保险公司车辆抵押借款合同范本
- 2025家庭装修设计合同范本
- 产后大出血护理课件
- 2024年教育年鉴范本范文
- 供应室院感培训课件
- 客户订单交付管理
- 《集控值班员培训》课件
- 白酒小作坊管理制度
- 2023年北京市石景山区社区工作者招聘考试真题
- 工程部部门岗位职责
- 中国芳香植物资源
- (完整版)语文作文纸方格纸模版(两种格式任选)
- 录播教室装修技术方案
评论
0/150
提交评论