计算机二级上机试题_第1页
计算机二级上机试题_第2页
计算机二级上机试题_第3页
计算机二级上机试题_第4页
计算机二级上机试题_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1题程序填空(1分)(题号:507)【程序填空】题目: 本程序实现功能:将顺序文本文件 “MYFILE.TXT” 的 内容一个字符一个字符地读入文本框t俄xtTest中请在【】处填入正确的内容Private Sub Form_Click() Dim InputData As String * 1 txtTest.Text = *SPACE* Open App.Path & MYFILE.TXT For 【input】 As #1 *SPACE* Do While 【not】 EOF(1) Input #1, InputData *SPACE* txtTest.Text = txtTest.T

2、ext + 【inputdata】 Loop Close #1 End Sub答案: 1). Input 2). Not 3). InputData第2题程序填空(1分)(题号:50)【程序填空】题目:从键盘上输入一串字符,以?结束,统计输入字符中的 大、小写字母和数字的个数。Private Sub Form_Click()Dim ch$, n1%, n2%, n3%n1 = 0n2 = 0n3 = 0ch = InputBox(请输入一个字符)*SPACE*While 【ch】 Select Case ch Case a To z n1 = n1 + 1*SPACE* Case 【A to

3、Z】 n2 = n2 + 1 Case 0 To 9 n3 = n3 + 1 End Selectch = InputBox(请输入一个字符)*SPACE*【wend】Print n1, n2, n3End Sub答案: 1). ch ? 2). A To Z 3). Wend第3题程序填空(1分)(题号:62)【程序填空】题目:输入任何一个英文字母x,若x的值 为a,c,d-f ,则 显示x的大写字母;若x的值为m,o,p-z,则显示x的 小写字母;若为其它的值,则显示xa(如输入的X的值是 g,则显示ga)。Private Sub Command1_Click()x = Text1.Tex

4、t*SPACE* 【select case x】 Case a, c, d To f Label1.Caption = UCase(x)*SPACE* Case 【”m”,”o”,” p”to “z”】 Label1.Caption = LCase(x)*SPACE* 【case else】 Label1.Caption = Trim(x) + a End SelectEnd Sub答案: 1). Select Case x 2). m, o, p To z 3). Case Else第4题程序填空(1分)(题号:65)【程序填空】题目:根据输入的学习成绩,分别显示优秀(90分以上), 良好(

5、75 分以上),及格(60分以上),不及格几个等级。Private Sub Command1_Click()x = Val(Text1.Text)If x = 90 Then Print 优秀*SPACE*【elself x=75 then】 Print 良好ElseIf x = 60 Then*SPACE* 【print “及格”】*SPACE*【else】 Print 不及格End IfEnd Sub答案: 1). ElseIf x = 75 Then 或 ElseIf 75 F,a -f,B-GY-D,Z-E.程序段如下:请在【】处填兡正确的内容Private Sub Form_Clic

6、k() Dil strInput As String * 70 输入字符串 Dim Code AS String * 70 加密结果 Dim strTemp As String * 1 当前处理的字符PAGEXXX Dim i As Intager Dim Length As Integer 字符串长度 Dim iAsc As Inege2 第i个字Ascii码 *SPACE*(* 【?】 叆字符串 i = 1 Code = *SPACE* 【?】 去掉字符串右边的空格,求真正的长度 Do While (i = A And strTemp Asc(Z) Then iAsc = iAsc - 2

7、6 Code = Left$(Code, i - 1) + Chr$(iAsc) ElseIf (strTemp = a And strTemp Asc(z) Then iAsc = iAsc - 26 Code = Left$(Code, i - 1) + Chr$(iAsc) Else Code = Left$(Code, i - 1) + strTemp End If i = i + 1 Loop *SPACE* 【?】 显示加密结果End Sub答案:strInput = txtInput.Text Length = Len(RTrim(strInput) strTemp = Mid(

8、strInput, i, 1) txtCode.Text = Code txtCode = Code 答案: 1). strInput=txtInput 或 strInput=txtInput.Text 2). Length = Len(RTrim(strInput) 3). strTemp = Mid(strInput, i, 1) 4). txtCode.Text = Code 或 txtCode = Code第7题程序填空(1分)(题号:531)【程序填空】题目:打印出 100-999 之间的所有水仙花数 如果一个数的 百位,十位,个位数的立方和等于这个数本身 则这个数为水仙花数请在【】

9、处填入正确的内容Private Sub Command1_Click() Dim i As Integer, a As Integer, b As Integer, c As Integer *SPACE* For i = 100 To 【999】 *SPACE* a = Int(i / 【?】) b = Int(i - 100 * a) / 10) *SPACE* c = i - 100 * a - 【?】 If a * a * a + b * b * b + c * c * c = i Then Print i End If Next iEnd Sub答案: 1). 999 2). 100

10、 3). 10 * b 或 b * 10第8题程序填空(1分)(题号:36)【程序填空】题目:以下程序的功能如(图1)。Private Sub Form_Click()Dim a%, b%, c%, d!Dim x1, x2Dim p, q, ra = InputBox(请输入a的值)b = InputBox(请输入b的值)c = InputBox(请输入c的值)d = b * b - 4 * a * cp = -b / (2 * a)If d = 0 Then*SPACE* If 【?】 Then r = Sqr(d) /PAGEXXX(2 * a) x1 p + r PAGEXXX x2

11、= p - r Else x1 = p x2 = p*SPACE* 【?】 Print x1=: x1, x2=; x2*SPACE*【?】 q = Sqr(-d) / (2 *PAGEXXXa) Print x1=; p; +; q; i, x2=; p; -; q; iEnd IfEnd Sub答案: 1). d 0 或 0 d 2). End If 3). Else第9题程序填空(1分)(题号:47)【程序填空】题目:以下程序段用于实现:输入两个正整数m和n,求其最大 公因数和最小公倍数。 Private Sub Form_Click()Dim a%, b%, num1%, num2%,

12、 tempnum1 = InputBox(请输入一个正整数)num2 = InputBox(请输入一个正整数)*SPACE*If 【?】 Then temp = num1: num1 = num2: num2 = tempEnd Ifa = num1b = num2*SPACE*While 【?】 temp = a Mod b a = b*SPACE* 【?】WendPrint 最大公因数为:; aPrint 最小公倍数为:; num1 * num2 / aEnd Sub答案: 1). num1 num1 2). b 0 3). b = temp第10题程序填空(1分)(题号:520)【程序填

13、空】题目:完成程序,使程序输出值为 15请在【】处填入正确的内容Private Sub Command1_Click() *SPACE* Dim i, j, x,【k】 As Integer For i = 1 To 4 x = 4 For j = 1 To 3 x = 3 *SPACE* For 【k】 = 1 To 2 *SPACE* x = x + 【6】 Next k Next j Next i Print x End Sub答案: 1). k 2). k 3). 6第11题程序填空(1分)(题号:539)【程序填空】题目: 随机生成10个数存入数组中,并将数组排序后输出请在【】处填入

14、正确的内容Private Sub Command1_Click() Dim a(10) As Integer Dim i, j, t As Integer For i = 1 To 10 *SPACE* a(i) = CInt(10 【*】 Rnd + 1) Next For i = 1 To 9 *SPACE* For j = 【?】 To 10 *SPACE* If a(i) 【?】 Then t = a(i): a(i) = a(j): a(j) = t End If Next j Next i For i = 1 To 10 Print a(i) Next End Sub答案: 1).

15、 * 2). i + 1 或 1 + i 3). a(j)第12题程序填空(1分)(题号:537)【程序填空】题目:窗体中有Text1-Text7共7个文本框,单击按钮Command1在 Text7中显示前6个文本框中的数值的最大数请在【】处填入正确的内容Private Sub Command1_Click() Dim a, b, c, d, e, f, m As Integer a = Val(Text1.Text): b = Val(Text2.Text): c = Val(Text3.Text) d = Val(Text4.Text): e = Val(Text5.Text): f =

16、Val(Text6.Text) Call max(a, b, c, m) Call max(m, d, e, m) Call max(m, f, f, m) *SPACE* Text7.Text = 【?】 End Sub*SPACE*Sub max(x, y, z, 【?】) If x y Then m = x Else m = y End If *SPACE* If m n;(2) m除以n得余数r;(3) 若r=0,则n为求得的最大公约数,算法结束;否则执行(4)(4) m-n,n-r再重复执行(2)原两数相乘除以最大公约数即为最小公倍数,程序如下:请在【】处填入正确的内容Private

17、 Sub Form_Click() Dim m%, n%, mn% n = Val(InputBox(n=) m = Val(InputBox(n=) If n = 0 Or m m 或 mn 3). n 0 或 0 n 4). r = m Mod n第16题程序填空(1分)(题号:53)【程序填空】题目:下面的程序实现:从键盘输入一个数字,将其插入一个 有序数组中,插入后的数组仍保持有序。Private Sub Form_Click()Dim a(10) As Integer, x As IntegerFor i = 1 To 8 a(i) = 2 * i - 1 Print a(i);Ne

18、xt iPrintx = InputBox(请输入要插入的整数)*SPACE*【?】i = 8Do While a(i) x*SPACE* 【?】 i = i - 1Loop*SPACE*If i 0 Then 【?】For i = 1 To 9 Print a(i);Next iEnd Sub答案: 1). a(0) = x 2). a(i + 1) = a(i) 3). a(i + 1) = x第17题程序填空(1分)(题号:518)【程序填空】题目:将字符串S1反向输出请在【】处填入正确的内容Private Sub Command1_Click() Dim s1 As String, s

19、2 As String s1 = abcdef *SPACE* Call Invert(【?】, s2) Print s2End SubPrivate Sub Invert(ByVal xstr As String, ystr As String) Dim tempstr As String Dim i As Integer *SPACE* i = 【?】 Do While i = 1 tempstr = tempstr + Mid(xstr, i, 1) i = i - 1 *SPACE* 【?】 ystr = tempstrEnd Sub答案: 1). s1 2). Len(xstr) 3

20、). Loop第18题程序填空(1分)(题号:38)【程序填空】题目:下面的程序段,用于实现在一个nXm的矩阵中,找出值最 大的元素所在的行和列,并输出其值及行号和列号。Private Sub Form_Click()Dim mat() As IntegerDim n, m As Integern = Val(InputBox(请输入矩阵的行数)m = Val(InputBox(请输入矩阵的列数)*SPACE*【?】For i = 1 To n For j = 1 To m mat(i, j) = InputBox(请输入数组元素值) mat(i, j) = Val(mat(i, j) Nex

21、t jNext iPrint 所建立的矩阵为For i = 1 To n For j = 1 To m Print mat(i, j); Next j PrintNext iMax = mat(1, 1)For i = 1 To n For j = 1 To m*SPACE* If 【?】 Then Max = mat(i, j) col = j*SPACE* 【?】 End If Next jNext iPrintPrint 矩阵最大的元素的值为:; mat(row, col)Print 它所在的行号为:; row; 列号为:; colEnd Sub答案: 1). ReDim mat(n,

22、m) As Integer 2). Max Max 3). row = I第26题程序填空(1分)(题号:529)19【程序填空】题目:窗体上建立了两个文本框Text1(输入字符串)及 Text2(转换结果),一个命令按钮Command1(清除)。 录入Text1内容时将,将录入内容大写字母转为小写, 小写转为大写请在【】处填入正确的内容Private Sub Command1_Click() Text1.Text = Text2.Text = Text1.SetFocus End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) Dim s

23、 As String * 1 *SPACE* s = 【?】(KeyAscii) Select Case s *SPACE* Case A 【?】 Z s = LCase(s) Case a To z *SPACE* s = 【?】 Case Else s = * End Select Text2.Text = Text2.Text + s End Sub答案: 1). Chr 2). To 3). UCase(s)第20题程序填空(1分)(题号:508)【程序填空】题目:用Circle 方法在图片框中正中画出许多不同颜色的同心圆, 且不能画出图片框?请在【】处填入正确的内容Private S

24、ub Picture1_Click() Dim CX, CY, Radius, Limit ScaleMode = 3 *SPACE* CX = 【?】 CY = Picture1.ScaleHeight / 2 *SPACE* If CX CY Then Limit = CY Else 【?】 *SPACE* For Radius = 0 To 【?】 Picture1.Circle (CX, CY), Radius, RGB(Rnd * 255, Rnd * 255, Rnd * 255) Next Radius End Sub答案: 1). Picture1.ScaleWidth / 2

25、 2). Limit = CX 3). Limit第21题程序填空(1分)(题号:52)【程序填空】题目:下面的程序段用于打印出以下图形 * * * * * * *Private Sub Form_Click()Dim i%, j%, k%For i = 0 To 3 For j = 0 To 2 - i Print ; Next j*SPACE* For k = 0 To 【?】 Print *; Next k PrintNext iFor i = 0 To 2 For j = 0 To i*SPACE* 【?】 Next j For k = 0 To 4 - 2 * i Print *;

26、Next k*SPACE* 【?】Next iEnd Sub答案: 1). 2 * i+1 2). Print ; 3). Print第22题程序填空(1分)(题号:57)【程序填空】题目:代码功能:求 1!+2!+10!的值。Private Sub Form_Click()*SPACE*【?】s = 1For I = 2 To 10 t = t * I*SPACE* 【?】*SPACE*【?】Print sEnd Sub答案: 1). t = 1 2). s = s + t 3). Next I 或 Next第23题程序填空(1分)(题号:515)【程序填空】题目:由输入对话框输入n(n必须

27、为大于零且小于30的自然数), 计算下列表达式的值,并在标签框Label1上显示。 sum=1/2+1/6+ . +1/(k*(k=1) (k0 且n30) *SPACE* Do While n = 30 n = Val(InputBox(n=, 请重输入) Loop sum = 0 k = 0 Do *SPACE* k =【?】 sum = sum + 1 / (k * (k + 1) *SPACE* Loop Until k = 【?】 Label1.Caption = Sum= + Str(sum) End Sub答案: 1). Or 2). k + 1 或 1 + k 3). = n2

28、4、【程序改错】题目:以下程序段用于计算货物运费。设货物运费每吨 单价p元与运输距离s公里之间有如下关系:注意:不可增加或删除程序行,也不可以更改程序结构Private Sub Form_Click()Dim w!, s!Dim p As Currency, t As Currencyw = InputBox(请输入货物重量)s = InputBox(请输入托运距离)Select Case s Case Is 100 p = 30*FOUND* Case Is =100 p = 27.5 Case Is 300 p = 25 Case Is 400 p = 32.5*FOUND* Case O

29、ther p = 20*FOUND*End Ift = p * w * sPrint 总运费:; t; 元End Sub答案: 1). Case Is = 0 And a 0 Then *FOUND* root1 = (Sqr(work) / (2 * a) *FOUND* root2 = (Sqr(work) / (2 * a) Debug.Print 有二个实根 + Str$(root1) + , + Str$(root2) Else Debug.Print 无实根! End IfEnd Sub答案: 1). work = b 2 - 4 * a * c 2). root1 = (-b +

30、 Sqr(work) / (2 * a) 或 root1 = ( Sqr(work) -b ) / (2 * a) 3). root2 = (-b - Sqr(work) / (2 * a) 或 root2 = (- Sqr(work) - b) / (2 * a)第26题程序改错(1分)(题号:119)【程序改错】题目:在下面的程序段中过程pd可以判断任意三个数能 否构成三角形的三边,利用该过程的判定结果, 对能构成三角形的计算其面积,构不成的显示 不能构成三角形注意:不可增加或删除程序行,也不可以更改程序结构Option ExplicitPrivate Sub Form_Click()*F

31、OUND*Dim x%, y%, z%, s%, b As Boolean,h as Singlex = InputBox(请输入三角形的边长)y = InputBox(请输入三角形的边长)z = InputBox(请输入三角形的边长)b = pd(x, y, z)h = (x + y + z) / 2*FOUND*If not b Then s = Sqr(h * (h - x) * (h - y) * (h - z) Print 三角形面积是; sElse Print 不能构成三角形End IfEnd Sub*FOUND*Public Function pd( ) As BooleanIf

32、 x 0 And y 0 And z 0 And x + y 0 And x + z y And y + z x Then pd = TrueElse pd = FalseEnd IfEnd Function答案: 1). Dim x%, y%, z%, s!, b As Boolean, h As Single 2). If b Then 3). Public Function pd(x%, y%, z%) As Boolean第27题程序改错(1分)(题号:472)【程序改错】题目:本程序功能用于将学生学过的单词在列表框中显示出来。现要完成: (1)单击增加单词按钮,将文本框Text1.T

33、ext中的单词添加到列表框 中并显示列表框中的单词数; (2)单击删除单词按钮,删除列表框中被选中的项并显示列表框中的单词数; (3)单击全部清除按钮,删除列表框的全部选择项并显示列表框中的单词数; (4)单击退出按钮,结束程序。 请修正程序中存在的错误。注意:不可增加或删除程序行,也不可以更改程序结构Private Sub Form_Load() Label1.Caption = 请输入单词 Label2.Caption = 单词数 Command1.Caption = 增加单词 Command2.Caption = 删除单词 Command3.Caption = 全部清除 Command4

34、.Caption = 退出 List1.AddItem apple List1.AddItem chinese List1.AddItem child List1.AddItem double List1.AddItem park List1.AddItem top Text1.Text = Text2.Text = CStr(Me.List1.ListCount)End SubPrivate Sub Command1_click() List1.AddItem Text1.Text Text2.Text = Str(List1.ListCount) Text1 = End SubPrivat

35、e Sub Command2_click() Dim sy As String sy = List1.ListIndex *FOUND* If sy 0 Then *FOUND* List1.RemoveItem Text2.Text = Str(List1.ListCount) End IfEnd SubPrivate Sub Command3_Click() *FOUND* List1.RemoveItem Text2.Text = CStr(List1.ListCount)End SubPrivate Sub Command4_click() EndEnd Sub答案: 1). If s

36、y = 0 Then 或 If 0 = 0.01 Form1.Print e=; eEnd Sub答案:1). x = x * i 或 x = i * x 2). n = 0 3). Loop While item = 0.00000001 或 Loop While 0.00000001 10 Then *FOUND* y = Str(x) + Sin(x) Else *FOUND* y = 2 * x 3 + 6 End If Print yEnd Sub答案:1). ElseIf x 10 Then 或 ElseIf 10 = a And C = A And C = 0 And C = 0

37、AndC 3000Print 从1 到:; i; 的和是; sEnd Sub答案: 1). s =0 2). i = i + 1 3). Loop until s 3000 或 Loop until 3000 0 且n 0 Or n n Label1.Caption = Sum= + Str(sum) End Sub答案: 1). Do While n = 30 或 Do While n=30 2). k = k + 1 或 k = 1 + k 3). Loop Until k = n 或 Loop Until n = k第35题程序改错(1分)(题号:468)【程序改错】题目:编写一程序,实

38、现对文本框里的文字查找并清除某 一字符串,直到文本框中不再存在它。注意:不可增加或删除程序行,也不可以更改程序结构Function StringClear(sSource As String, sSearch As String) As String Dim j As Integer, res As String *FOUND* res = sSearch *FOUND* Do While Mid(res, sSearch) j = InStr(res, sSearch) *FOUND* res = Left(res, j) & Mid(res, j + 2) Loop StringClear

39、 = resEnd FunctionPrivate Sub Command1_Click() Dim Searchstr As String If Text1.Text Then Searchstr = InputBox(Please input the string seach) Text1.Text = StringClear(Text1.Text, Searchstr) End IfEnd Sub答案: 1). res = sSource 2). Do While InStr(res, sSearch) 3). res = Left(res, j - 1) & Mid(res, j +

40、2)第36题程序改错(1分)(题号:117)【程序改错】题目:下面的程序段用于实现以下功能:建立一顺序文件,存放10名同学的学号和三门功课成绩,显示该文件内所有记录, 并同时显示其总分和平均分注意:不可增加或删除程序行,也不可以更改程序结构Private Sub Form_Click()Dim no%, c1%, c2%, c3%,i as Integer*FOUND*Open c:2.txt For Input As #1For i = 1 To 10 no = InputBox(请输入学号) c1 = InputBox(请输入数学成绩) c2 = InputBox(请输入语文成绩) c3 = InputBox(请输入外语) Write #1, no, c1, c2, c2Next iClose #1*FOUND*Open c:2.txt For Output As #1For i = 1 To 10*FOUND* Print #1, no, c1, c2, c3 Print no, c1,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论