阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。
【说明8.1】
以下程序的功能是:生成20个200~300之间的随机整数,输出其中能被5整除的数并求出它们的和。
【程序代码8.1】
Private Sub Command1_Click()
For i=1 To 20
x=Int((1)*200+100)
If (2)=0 Then
Print x
S=S+ (3)
End If
Next i
Print"Sum=";S
End Sub
【说明8.2】
程序8.2运行后,单击窗体,则在窗体上显示的内容是:a=(4)和b=(5)。
【程序代码8.2】
Private Sub Form_Click()
Dim a As Integer,b As Integer
a=20:b=50
p1 a,b
p2 a,b
p3 a,b
Print"a=";a,"b=";b
End Sub
Sub p1(x As Integer, ByValy As Integer)
x=x+l0
y=y+20
End Sub
Sub p2(ByVal×As Integer, y As Integer)
x=x+l0
y=y+20
End Sub
Sub p3(ByVal×As Integer, ByVal y As Integer)
x=x+10
y=y+20
End Sub
第1题:
阅读程序
Option Base 1
Private Sub Form_Click()
Dim arr,Sum
Sum = 0
arr = Array(1,3,5,7,9,11,13,15,17,19)
For i=1 To 10
If arr(i)/3 = arr(i)\3 Then
Sum = Sum + arr(i)
End If
Next i
Print Sum
End Sub
程序运行后,单击窗体,输出结果为( )。
A.13
B.14
C.27
D.15
第2题:
(7)在窗体上画一个命令按钮,其名称为 Command1,然后编写如下事件过程:
Private Sub Command1_Click( )
a$="National Computer Rank Examination"
n=Len(a$)
s=0
For i=1 To n
b$=Mid(a$, i, 1)
If b$="n" Then
s=s+1
End If
Next i
Print s
End Sub
程序运行后,单击命令按钮,输出结果是 【7】 。
第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)处的字句写在对应栏内。
[程序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
第5题:
阅读以下说明及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
第6题:
阅读下列程序说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。
【说明】
程序利用选择排序算法对数组a中的N个整数按照从小到大的顺序排列,并将排序结果显示出来。
【程序】
define N 10
main()
{
void (1);
int i,a[N];
for(i=0;i<10,i++) /*输入*/
scanf(“%d”,&a[i]);
(2);
for(i=0;i<N,i++) /*输出*/
printf(“%3d”,a[i]);
}
void selectSon(int x[],int n)
{
int i,j,k,t;
for(int i=0; (3);i++)
{
k=i;
for(j=i+1;j<n;j++)
if (4) k=j;
if (5)
{t=x[i];x[i]=x[k];x[k] =t;}
}
}
第7题:
下面程序的功能是单击窗体时在消息框中输出1000以内能同时被3、5和7整除的整数。请在‘空白处填入适当语句将程序补充完整。
Private Sub Form_Click()
sum=0
For i=1 To 1000
If______Then
sum=sum+i
End If
Next i
MsgBox sum
End Sub
第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题:
阅读以下说明及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
第10题:
阅读下列说明和Visual Basic代码,将应填入(n)处的字句写在对应栏内。
[说明]
某小型家电超市开发了下面的程序,用以实现商品提货信息的汇总和输出功能。程序的运行界面如下图所示:
程序界面包含两个控件数组,分别是提货商品复选框控件数组Check1以及提货数量文本框控件数组Text1(相同下标的复选框和文本框相对应),提货清单的显示由List控件实现,按钮“打印清单”和“清除”分别名为Command1和Command2。
[Visual Basic代码]
’提货商品复选框的单击事件响应代码
Private Sub Check1_Click(Index As Integer)
If Check1 (Index). Value = 1 Then (1). SetFocus
End Sub
’按钮“打印清单”的单击事件响应代码
Private Sub Command1_Click()
Dim i, n, price As Integer, sum As Long, title As String
sum = 0
For i = O To 4
Select Case i
Case 0: title ="电视机": price = 3580
Case 1: title ="微波炉": price = 660
Case 2: title ="电冰箱": price = 1850
Case 3: title ="DVD": price = 2880
Case 4: title ="空调": price = 2500
End Select
If (2)= 1 And Textl(i). Text < > " " Then
(3) title & Text1(i).Text & "台"
n = n + Val(Textl(i))
sum =(4)
End If
Next i
If sum < > 0 Then
(3) "共:" & n &"台," &"合计金额:"& sum &"元。"
End If
End Sub
’按钮“清除”的单击事件响应代码
Private Sub Command2_Click()
(5)
End Sub