试题九
阅读以下应用说明及Visual Basic 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
[应用说明9]
本应用程序的运行窗口如下图所示:
窗口中的三个文本框和两个按钮名称分别为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 元,税率如下表所示:
设一个人的月应纳税所得额为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≤20000,则S = 500×5%+1500×10%+3000×15%+(K-5000)×20%;
...
例如,某人某月工资总额为4100 元,减去800 元后,应纳税所得额为3300 元,其应缴纳的个人所得税额为500*5%+1500*10%+1300*15%=370 元。
在开发过程中,需要编写的程序代码如下:
[程序代码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
参考答案:
(1)Txt_salary.Text-Txt_base.Text (2)k>paylevel(j) (3)k-paylevel(j-1) (4)Txt_tax.Text (5)False (