【分析解答题】
【说明】
在visuAlBAsiC程序中,设计一个“个人所得税计算器”,其应用程序的运行窗口如图6-16所示。
![]()
窗口中的3个文本框和两个按钮的名称分别为txt_sAlAry、txt_BAsE、txl_tAx、CmD_ComputE和CmD_quit。“个人所得税计算器”程序运行时,文本框txt_BAsE中存放的是免税金额基数(应扣除的基本费用)。当用户在文本框txt_sAlAry中输入月收入(工资或薪金)并单击【计算】按钮CmD_ComputE后,txt_tAx框中就显示计算所得的应纳税额。文本框txt_BAsE和txt_tAx在运行时不接受用户输入,txt_BAsE的内容以灰色显示。
个人工资(或薪金)所得税是按照超额累进的税率来征收的,其计算方法如下:以每月收入总额减去免税金额基数后的余额作为该月的月应纳税所得额,再将应纳税所得额按相应级数采用相应的税率进行累进计算。目前的免税金额基数为1 600元,税率如表6-15所示。
表6-15 个人所得税税率表(工资、薪金所得适用)
级 数 | 全月应纳税所得额 | 税率(%) |
1 | 不超过500元的 | 5 |
2 | 超过500元至2000元的部分 | 10 |
3 | 超过2000元至5000元的部分 | 15 |
4 | 超过5000元至20000元的部分 | 20 |
5 | 超过20000元至40000元的部分 | 25 |
6 | 超过40000元至60000元的部分 | 30 |
7 | 超过60000元至80000元的部分 | 35 |
8 | 超过80000元至100000元的部分 | 40 |
9 | 超过100000元的部分 | 45 |
(注:本表所称全月应纳税所得额是指依照本法第六条的规定,以每月收入额减除费用1600元后的余额或者减除附加减除费用后的余额)
设某个人的全月应纳税所得额为m(元),用下面的公式计算其应缴纳的个人所得税额s(元):
若0<m≤500,则s=m×5%;
若500<m≤2000,则s=500×5%+(m-500)×10%;
若2000<m≤5000,则s=500×5%+1500×10%+(m-2000)×15%;
若5000<m≤20000,则s=500×5%+1500×10%+3000×15%+(m-5000)×20%;
假设某程序员2008年5月份工资总额为4700元,减去1600元后,应纳税所得额为3100元,其应缴纳的个人所得税额为500×5%+1500×10%+1100×15%=340元。
在开发过程中,需要编写的程序代码如下。
【visuAlBAsk程序】
optionBAsE 0
privAtE suBCmD 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)
m=
(1) s = 0
iF (m>0) thEn
For j =1 to 9
iF
(2) thEn
s=s+(pAylEvEl(j)-pAylEvEl(j-1))*tAxprAtE(j-1)/100
ElsE
(3) Exit For
EnD iF
nExt j
EnD iF
(4) =str$(s)
EnD suB
privAtE suBCmD_quit_CliCk()
EnD
EnD suB
privAtE suB Form_loAD()
txt_tAx.tExt = " "
txt_sAlAry.tExt = " "
txt_BAsE.tExt = 1600
txt_tAx.loCkED = truE
txt_BAsE.EnABlED =
(5) EnD suB
【问题3】
为使应用程序启动时所载入的窗口(图6-16)中具有背景图像(取自用户自定义的某个图像文件“C、\usEr\BACkgrounD.Bmp”),并且在程序运行时,当被遮的该窗口又重现时,其背景图像会自动重画。在开发如图6-16所示窗体时,应对窗体属性对话框(图6-17)中哪些关键属性进行什么样的设置