●试题八
阅读以下说明及Visual Basic部分程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
本程序是一个可进行数制转换的应用程序,图1所示是其运行界面。txtDec为TextBox控件名,Lblkes为转换结果labe1控件名。
【程序代码】
Option Explicit
Private Function convert(pintDec As Intege,pintS As Integer)As String
Dim intCt As Integer,intR As Integer
Dim strCov As String,strRes As String
intR=pintDec Mod pintS
Do While (1)
strCov=strCov & Str(intR)
(2)
intR=pintDec Mod pintS
Loop
For intCt= (3) To 1 Step-1
strRes=strRes & Mid(strCov,intCt,1)
Next intCt
convert=strRes
End Function
Private Sub cmdQuit_Click()′退出
Unload Me
End Sub
Private Sub optBin_Click()′二进制
lblRes.Caption="转换结果:"& (4)
End Sub
Private Sub optHex_Click()′十六进制
lblRes.Caption="转换结果:"& (5)
End Sub
Private Sub optOct_Click()′八进制
lblRes.Caption="转换结果:"&Oct(Val(txtDe
C.Text))
End Sub
第1题:
阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。
【说明】
已知头指针分别为La和lb的有序单链表,其数据元素都是按值非递减排列。现要归并La和Lb得到单链表Lc,使得Lc中的元素按值非递减排列。程序流程图如下所示:
第2题:
阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。
【说明】
以下程序为求行列式X(5,5)的值S。
【Visual Basic代码】
Private Function col ( byval x ( 5,5 ) as integer ) as long
dim fesult as long
dim temp as long
dim I as integer
dim j as integer
dim k as imeger
result = 0
for I = to 5
(1)
for j = 1 to 5
if I+j>6 then
k= ( 1+j ) mod 5
else
k=1
endif
temp=temp*x ( k,j )
(2)
result=(3)
(4)
(5)
End function
第3题:
●试题七
阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
已知窗体上有两个名为cmdGene和cmdSort的命令按钮。单击cmdGene按钮时,随机产生10个[1,100]范围内的整数并将它们放在数组intA中;单击cmdSort按钮时,用选择法排序这10个数并输出。
【程序代码】
Dim intA(1 To 10)As Integer
Private Sub cmdGene_Click()
Dim intI As Integer
Randomize
For intI=1 To 10
intA(intI)= (1)
Next intI
End Sub
Private Sub cmdSort_Click()
Dim intI,intJ,intMin,intTemp As Integer
For intI=1 To 9
intMin=intA(intI)
For intJ= (2) To 10
If intA(intJ)<intMin Then
Temp=intA(intJ)
intA(intJ)= (3)
intMin=intTemp
End If
Next intJ
(4)
(5)
For intI=1 To 10
Print Str(intA(intI))+" ";
Next intI
Next IntI
End Sub
●试题七
【答案】(1)1+int(rnd*100)(2)intI+1(3)intMin(4)intA(intI)=intMin(5)Next intI
【解析】根据题意,第一个空应该是产生10个[1,100]范围内的随机整数,因此填"1+int(rnd*100)"。
选择排序思想是:第i趟排序开始时,当前有序区和无序区分别为R[1..i-1]和R[i..n](1≤i≤n-1),该趟排序则是从当前无序区中选出关键字最小的记录R[k],将它与无序区的第1个记录R[i]交换,使R[1..i]和R[i+1..n]分别变为新的有序区和新的无序区。因为每趟排序均使有序区中增加了一个记录,且有序区中的记录关键字均不大于无序区中记录的关键字,即第i趟排序之后R[1..i].keys≤R[i+1..n].keys,所以进行n-l趟排序之后有R[1..n-l].keys≤R[n].key。也就是说,经过n-l趟排序之后,整个文件R[1..n]递增有序。因此(2)空填"intI+1";If intA(intJ)<intMin Then后的3条语句是实现数intA(intJ)与intMin的交换,因此(3)空填"intMin";(4)空是实现最小数与无序区的第1个数交换,因此填"intA(intI)=intMin";(5)空是循环结束语句,填"Next intI"。
第4题:
阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。
【说明】
在窗体上设计两个文本框和两个标签,标签上显示:“摄氏温度:”和“华氏温度:”,文本框一个用于输入摄氏温度数,一个用于输出对应的华氏温度。摄氏温度与华氏温度的转换公式为:c=(5/9)×(f-32)
要求:对输入的摄氏温度数有检查功能,以拒绝接收非数字字符。运行界面如图所示。
【Visual Basic代码】
Private Sub Commandl_Click ()
Text1 = ""
Text2 = ""
Text1.Enabled = True
Text2.Enabled = True
Text1.SetFocus
End Sub
Private Sub Command2 Click ()
End
End Sub
Private Sub Form. Load ()
Text1 = ""
Text2 = ""
Text1.Enabled = False
Text2.Enabled = False
End Sub
Private Sub Textl_Change ()
Text2.Text = (1)
End Sub
Private Sub Textl_KeyPress (KeyAscii As (2) )
If (3) Then
If Chr ( KeyAscii ) < "0" Or (4) Then
(5)
End If
End If
End Sub
第5题:
阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。
[说明]
设学生某次考试的成绩按学号顺序逐行存放于某文件中,文件以单行句点“.”为结束符。下面的流程图读取该文件,统计出全部成绩中的最高分max和最低分min。
第6题:
阅读以下说明及Visual Basic 程序代码,将应填入(n)处的字句写在对应栏内。
[说明]
本程序求3~100之间的所有素数(质数)并统计个数;同时将这些素数从小到大依次写入顺序文件E: \dataout.txt;素数的个数显示在窗体Form1上。
[Visual Basic 代码]
Private Sub Command1_ Click ( )
Dim count as integer, flag as Boolean
Dim t1 as Integer, t2 as Integer
(1)
Count=0
For t1=3 to 100
Flag=Tree
For t2=2 to Int( Sqr ( t1 ) )
If (2) Then flag=False
Next t2
(3)
count=(4)
write 1, t1
End if
Next t1
(5)
Close 1
End Sub
第7题:
阅读以下说明及Visual Basic 程序代码,将应填入(n)处的字句写在对应栏内。
[程序5.1说明]
下列程序运行时,当单击窗体后,从键盘输入一个字符,判断该字符是字母字符、数字字符还是其他字符,并做相应的显示。窗体上无任何控件,并禁用Ase和Chr函数,Select Case语句中禁用枚举值。
[Visual Basic代码]
Private Sub Form. Load ()
Dim x As String*1
X=(1) (“请输入单个字符”,“字符”)
Select Case UCase ( (2) )
Case (3)。
Print X+“是字母字符”
Case (4)
Print X+ “是数字字符”
Case Else
Print X+“是其他字符”
End Select
[程序5.2说明]
在窗体上画一个名称为Timer1的计时器和一个名称为Labe11的标签。当运行程序后,将在标签中显示当前时间的数字时钟(包括时:分:秒)。
[Visual Basic代码]
Private Sub Fom_Load ()
Timer1.Interval=1000
EndSub
Private Sub Timer1_ timer() (5)
EndSub
第8题:
●试题六
阅读以下应用说明及Visual Basic部分程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
单击窗体上的"测试"(cmdTest)按钮,出现一个输入框,要求输入一串字符,将该字符串中的非字母字符删除后,显示在窗体中的一个文本框(txtShow)中。
【程序代码】
Private Sub cmdTest_Click()
Dim strT1,strT2 As String
Dim strCh As (1)
Dim intL As Integer
Dim intI As Integer
strT1= (2) ("请输入一串字符","字符串输入")
intL= (3)
strT2=″″
For intI=l To intL
strCh=Mid(strT1,intI,1)
If(strCh>"A"And (4) ) Or (strCh>"a" And suCh<"z")Then
strT2=strT2+strCh
End If
Next intI
txtShow.Text= (5)
End sub
●试题六
【答案】(1)String(2)InputBox(3)Len(strT1)(4)strCh<"Z"(5)strT2
【解析】VB中字符和字符串属于同一类型,所以(1)空填"String"。(2)空应填VB的输入对话框函数"InputBox"。根据题意,(3)空是求输入的字符串长度,故用"Len(strTl)"。(4)空处的条件是判断是否是字母字符,所以填"strCh<"Z";删除非字母字符后的结果在strT2中,而题意是要显示在窗体中的文本框(txtShow)中,故(5)空填"strT2"。
第9题:
阅读下列说明和流程图,将应填入(n)的字句写在对应栏内。
【说明】
下列流程图(如图4所示)用泰勒(Taylor)展开式
sinx=x-x3/3!+x5/5!-x7/7!+…+(-1)n×x2n+1/(2n+1)!+…
【流程图】
计算并打印sinx的近似值。其中用ε(>0)表示误差要求。
第10题:
阅读下面的说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。
[说明]
阅读以下说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。
windows Server 2003是一个多任务多用户的操作系统,能够以集中或分布的方式实现各种应用服务器角色,是目前应用比较广的操作系统之一。
Windows内置许多应用服务功能,将下表中(1)~(5)处空缺的服务器名称填写在答题纸对应的解答栏内。
(1)