题目
●试题五
阅读以下应用说明及Visual Basic部分程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
在窗体上画一个名称为Combo1的组合框,画两个名称分别Label1、Label2及Caption属性分别为"城市名称"和空白的标签。程序运行后,当在组合框中输入一个新项后按回车键(ASCII码为13)时,如果输入的项在组合框的列表中不存在,则自动添加到组合框的列表中,并在Label2中给出提示"已成功添加输入项";如果存在,则在Label2中给出提示"输入项已在组合框中"。
【程序】
Private Sub Combo1_ (1) (KeyAscii As Integer)
If KeyAscii= (2) Then
For i=0 To (3)
If Combo1.Text= (4) Then
Label2.Caption="输入项已在组合框中"
Exit Sub
End If
Next i
Label2.Caption="已成功添加输入项"
Combo1. (5) Combo1.Text
End If
End Sub
第1题
●试题五
阅读以下应用说明、属性设置及Visual Basic程序代码,将应填入(n)处在字句写在答题纸的对应栏内。
【说明】
本应用程序的运行窗口如图2所示。
只要用户单击"闪烁"按钮,文字"欢迎光临"就会以0.3秒消失、0.3秒显示反复进行闪烁;单击"停止"按钮时,闪烁停止,恢复图示的初态。
在开发过程中,需要设置的属性如表1所示。
在开发过程中,需要编写的程序代码如下:
【程序】
Private Sub CmdF_Click()
Timer1. (3) =True
Labe1.Visible=False
End Sub
Private Sub Timer1_Timer()
(4) =not Label.Visible
End Sub
Private Sub CmdT_Click()
Timer1.Enabled= (5)
Labe1.Visible=true
End Sub
第2题
●试题六
阅读以下应用说明及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
第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
第4题
●试题八
阅读以下应用说明及Visual Basic部分程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
该应用程序是用来修改文本框中的字体属性,其运行窗口如图4所示。
窗口由1个标签(Labell)、1个文本框(txtPassage)和4个选择框(chkFont,chkltalic,chkSize,chkColor)组成。程序运行后,用户在文本框内输入一段文字,然后按需要单击各选择框,用以改变文本的字体、字型、颜色及大小。
文本框的Mulitine属性已经设为True。当不选择"黑体"时,文字应是"宋体"。当不选择"大小16"时,字号为9。当不选择"紫色"时,字色为黑色。当不选择"斜体"时,文字采用正常字型。
【程序代码】
Private Sub chkFont Click()
If (1) Then
txtPassage.FontName="黑体"
Else
txtPassage.FontName="宋体"
End If
End Sub
Private Sub (2) ()
If chkColor.Value=1 Then
txtPassage.ForeColor=QBColor (13)
Else
txtPassage.ForeColor=QBColor(0)
End If
End Sub
Private Sub chkltalic_Click()
If chkltalic.
Value=1 Then
txtPassage.FontI talic= (3)
Else
txtPassage.FontItalic= (4)
End If
End Sub
Private Sub chkSize_Click()
If (5) Then
txtPassage.Font.Size=16
Else
txtPassage.Font.Size=9
End If
End Sub
第5题
●试题五
阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
本应用程序的运行窗口如图2所示。
窗口中的3个文本框和两个按钮名称分别为Txt_salary、Txt_base、Txt_tax、Cmd_compute和Cmd_quit。运行时,文本框Txt_base中存放的是免税金额基数(应扣除的基本费用)。当用户在文本框Txt_salary中输入月收入(工资或薪金)并单击"计算"按钮Cmd_compute后,Txt_tax框中就显示计算所得的应纳税额。文本框Txt_base和Txt_tax在运行时不接受用户输入,Txt_base的内容以灰色显示。
个人工资(或薪金)所得税是按照超额累进的税率来征收的,方法是:以每月收入总额减去免税金额基数后的余额作为该月的月应纳税所得额,再将应纳税所得额按相应级数采用相应的税率进行累进计算。目前的免税金额基数为800元,税率如表1所示。
设一个人的月应纳税所得额为K(元),用下面的公式计算其应缴纳的个人所得税额S(元);
若0<K≤500,则S=K×5%;
若500<K≤2000,则S=500×5%+(K-500)×10%;
若2000<K≤5000,则S=500×5%+1500×10%+(K-2000)×15%;
若5000<K≤20 000,则S=500×5%+1500×10%+3000×15%+(K-5000)×20%;
…
例如,某人某月工资总额为4100元,减去800元后,应纳税所得额为3300元,其应缴纳的个人所得税额为500*5%+1500*10%+1300*15%=370元。
在开发过程中,需要编写的程序代码如下;
【程序】
Option Base 0
Private Sub Cmd_compute_Click()
Dim paylevel,taxPrate
paylevel=Array(0,500,2000,5000,20000,40000,60000,80000,100000,1000001)
taxPrate=Array(5,10,15,20,25,30,35,40,45)
K= (1)
S=0
If(K>0)Then
For j=1 To 9
If (2) Then
S=S+(paylevel(j)-paylevel(j-1))*taxPrate(j-1)/100
Else
S=S+ (3) *taxPrate(j-1)/100
Exit For
End If
Next j
Ent If
(4) =Str$(S)
End Sub
Private Sub Cmd_quit_Click()
End
End Sub
Private Sub Form_Load()
Txt_tax.Text=″ ″
Txt_salary.Text=″ ″
Txt_base.Text=800
Txt_tax.Locked=True
Txt_base.Enabled= (5)
End Sub
第6题
阅读以下应用说明及Visual Basic程序代码,将应填入______处的语句写在答题纸的对应栏内。
[应用说明9]
本应用程序的运行窗口如图2-6所示。
窗口中的3个文本框和2个按钮,名称分别为Txt_salary,Txt_base,Txt_tax,Cmd compute和Cmd_quit。运行时,文本框Txt_base中存放的是免税金额基数(应扣除的基本费用)。当用户在文本框Txt_salary中输入月收入(工资或薪金)并单击“计算”按钮 Cmd_compute后,Txt_tax框中就显示计算所得的应纳税额。文本框Txt_base和Txt_ tax在运行时不接受用户输入,Txt_base的内容以灰色显示。
个人工资(或薪金)所得税是按照超额累进的税率来征收的,其计算方法参考试题8。
[程序代码9]
Option Base 0
Private Sub Cmd_compute_Click()
Dim paylevel,taxPrate
paylevel=Array(0,500,2000,5000,20000,40000,60000,80000,100000,1000001)
taxPrate=Array(5,10,15,20,25,30,35,40,45)
K=(1)
S=0
if(K>0) Then
For j=1 TO 9
If (2) Then
S=S+(paylevel(j)-paylevel(j-1)) * taxPrate(j-1)/100
Else
S=S+((3) ) * taxPrate(j-1)/100
Exit For
End If
Next j
End If
(4)=Str$(S)
End Sub
Private Sub Cmd_quit_Click()
End
End Sub
Private Sub Form_Load()
Txt_tax.Text=“”
Txt_salary.Text=“”
Txt_base.Text=800
Txt_tax.Locked=True
Txt_base.Enabled=(5)
End Sub
第7题
●试题八
阅读以下说明及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
第8题
试题五(共 15 分)
阅读以下应用说明、属性设置以及 Visual Basic 程序代码,将解答写在答题纸的对应栏内。
[应用说明]
本应用运行时,由用户输入一个正整数 n 后自动产生 n 个正整数,然后按照用户的指定要求对该组数进行处理。该应用的运行界面如下图所示:
1. 窗体中有两个文本框(txtSrc,txtObj) 、两个标签(lblSrc,lblObj) 、三个命令按钮(cmdGendat,cmdProc,cmdQuit)和一个弹出式菜单(procMenu,初始时不可见) 。
2.文本框 txtSrc(由标签 lblSrc 提示)用于显示产生的数据,文本框 txtObj(由标签 lblObj 提示)用于显示处理结果,要求每行显示一个整数。
3. 程序启动时,命令按钮 cmdProc(运算要求)不可用。点击命令按钮 cmdGendat(产生数据)后,提示用户输入一个 n 的值并生成 n 个正整数存入数组元素 a(1)~a(n),然后将数据逐行显示在 txtSrc 中,并设置命令按钮 cmdProc 可用。
4. 点击命令按钮 cmdProc(运算要求)后弹出菜单。选择菜单项并单击后,进行相应处理并将结果显示在 txtObj 中,同时将 lblObj的标题改为该菜单项表示的处理命令。
弹出式菜单“运算要求”的结构如下表所示:
一个整数序列的中位数指对该序列进行非递减(增)排列后最中间位置上的元素。若序列长度为偶数,则取中间两个元素的平均值为其中位数。
[属性设置]
为实现单击命令按钮 cmdProc 后弹出“运算要求”菜单(procMenu) ,设计时需将procMenu 的 (1) 属性设置成 false。
供(1)选择的属性: Default Enabled ScaleMode Style Visible
[Visual Basic 程序代码]
Dim a() As Integer, n As Integer
Private Sub Form_Load()
txtSrc.Text = "": txtObj.Text = "": (2) = False
End Sub
Private Sub cmdGendat_Click() '生成正整数序列并存入数组a
On Error GoTo Error_handler
n = InputBox$("请输入数组元素个数:", "输入序列长度")
If (n < 1) Then
MsgBox "输入数据错误!", vbOKOnly, "提示:"
GoTo Error_handler:
End If
ReDim a(n) As Integer
s = ""
For i = 1 To n '将生成的正整数存入a(1)~a(n)中
a(i) = Int(Rnd * 10000) : s = s & Str$(a(i)) & vbCrLf
Next
txtSrc.Text = s
(3) '设置运算要求命令按钮可用
Error_handler:
End Sub
Private Sub cmdProc_Click()
PopupMenu procMenu
End Sub
Private Sub MidNum_Click() '求中位数
lblObj.Caption = MidNum.Caption & ":"
For i = 1 To round((n + 1)/2) '用选择排序法对数组a进行部分排序
a(0) = a(i):k = i ' a(0)用作临时变量,暂存第i次选出的最小元素
For j = i + 1 To n
If a(j) < a(0) Then
a(0) = a(j): k = (4)
End If
Next
If k <> i Then
a(k) = a(i): a(i) = a(0)
End If
Next
If n / 2 - n \ 2 > 0 Then 'n为奇数时,取中间一个数
txtObj.Text = Str$(a((5) ))
Else 'n为偶数时,取中间两个数的平均值
txtObj.Text = Str$(Int((a(n \ 2) + a(n \ 2 + 1)) / 2))
End If
End Sub
'其他代码略
第9题
● 试题五
阅读以下说明,回答问题,将解答填入答题纸的对应栏内。
【说明】
网络地址转换(NAT)的主要目的是解决IP地址短缺问题以及实现TCP负载均衡等。在如图2所示的设计方案中,与Internet连接的路由器采用网络地址转换。
[问题]
请根据路由器的NAT表和图2中给出的网络结构、IP地址,简要叙述主机B向内部网络发出请求进行通信时,边界路由器实现TCP负载均衡的过程。
表2 路由器的NAT表
协议
内部局部地址及端口号
内部全部IP地址及端口号
外部全局IP地址及端口号
TCP
10.1.1.1:80
10.1.1.127:80
172.20.7.3:3058
TCP
10.1.1.2:80
10.1.1.127:80
172.20.7.3:4371
TCP
10.1.1.3:80
10.1.1.127:80
172.20.7.3:3062
图2网络设计方案图
第10题
阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。
【说明】
已知窗体上有两个名为cmdGene和cmdSort的命令按钮。单击cmdCene按钮时,随机产生10个[1,100]范围内的整数并将它们放在数组intA中;单击cmdSort按钮时,用选择法排序这10个数并输出。
【程序代码】
Dim intA(1 To 10)As integer
Private Sub cmdGene_Click()
Dim intl As Integer
Randomize
For intl = 1 To 10
intA(intl) =(1)
Next intl
End Sub
Private Sub cmdSort_Click()
Dim intl, intJ,intMin, intTemp As Integer
For intl = 1 To 9
intMin = intA(intl)
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 intl = 1 To 10
Print Str(intA(intl))+" ";
Next intl
Next lntl
End Sub
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!