阅读以下应用说明及Visual Basic程序代码,根据要求回答问题1至问题3。 【说明】 在Visual Basic程序中,设计一个“个人所得税计算器”,其应用程序的运行窗口如图6-16所示。 窗口中的3个文本框和两个按钮的名称分

admin2009-02-15  30

问题 阅读以下应用说明及Visual Basic程序代码,根据要求回答问题1至问题3。
  【说明】
   在Visual Basic程序中,设计一个“个人所得税计算器”,其应用程序的运行窗口如图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所示。

(注:本表所称全月应纳税所得额是指依照本法第六条的规定,以每月收入额减除费用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元。
   在开发过程中,需要编写的程序代码如下。
   【Visual Bask程序】
   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)
     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 Sub Cmd_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

选项

答案(1)Val(Txt_salary.Text)-Val(Txt_base.Text) (2)M>paylevel[j] (3)s=s+(M-paylevel(j-i))*taxPrate(j-1)/100 (4)Txt_tax.Text (5)False

解析 由题干关键信息“个人所得税计算器程序运行时,文本框Txt_base中存放的是免税金额基数(应扣除的基本费用)。当用户在文本框Txt_salary中输入月收入(工资或薪金)……”、“以每月收入总额(即 Val(Txt_salary.Text))减去免税金额基数(即Val(Txt_base.Text))后的余额作为该月的月应纳税所得额”和“设某个人的全月应纳税所得额为M(元)”可知,M表示月应纳税所得额,因此(1)空缺处应填入“Val(Txt_salary.Text)-Val(Txt_base.Text)”。
   由题干【说明】所给出的计算公式可以看出,税金的计算是采用逐级累计的方式。而在【Visual Basic程序】中,数组paylevel存放的是各级别全月应纳税所得额基础数。如果一个职工的月应纳税所得额大于第j级,则其第j-1级收入的全额部分应按适用税率计算税额:(payleve(j)-paylevel(j-1))*taxPrate(j-1)/100。可见,(2)空缺处应判断月应纳税所得额是否超过了第i级,因此(2)空缺处所填写的判断条件是“M> paylevel(j)”。
   如果一个职工的月应纳税所得额不大于第i级(没有到达第i级),则其第i-1级收入的实际超出部分采用适用税率计算税额:S=S+(M-paylevel(j-1))*taxPrate(j-1)/100,即(3)空缺处所填写的内容是“S=S+(M-paylevel(j-1))*taxPrate(j-1)/100”。然后执行“Exit For”语句,结束个人所得税额S的计算过程。
   由题干关键信息“……单击【计算】按钮(Cmd_compute)后,Txt_tax文本框中就显示计算所得的应纳税额”可知,计算的结果应该显示在对应的文本框(Txt_tax)中,因此(4)空缺处所填写的显示语句是“Txt_tax.Text”。
   由题干关键信息“文本框Txt_base和Txt_tax在运行时不接受用户输入,Txt_base的内容以灰色显示”可知,语句“Txt_tax.Locked=True”实现了程序运行时文本框Txt_tax不接受用户输入的功能,而文本框 Txt_base的Enabled属性应设置为“false”,以实现“Txt_base的内容以灰色显示”的功能,即(5)空缺处所填写的属性是“false”。
转载请注明原文地址:https://jikaoti.com/ti/VvW7FFFM
0

最新回复(0)