算法九级累进制个人所得税的算法.docx
- 文档编号:4158037
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:8
- 大小:36.14KB
算法九级累进制个人所得税的算法.docx
《算法九级累进制个人所得税的算法.docx》由会员分享,可在线阅读,更多相关《算法九级累进制个人所得税的算法.docx(8页珍藏版)》请在冰豆网上搜索。
算法九级累进制个人所得税的算法
算法:
九级累进制个人所得税的算法
算法:
九级累进制个人所得税的算法
任务描述
通过对“九级累进制个人所得税”这个算法的描述以及用VB实现的方法,了解多分支结构的算法特征,以及多分支结构的程序设计方法。
任务分析
依法缴纳个人所得税是每一个公民应尽的义务,国家通过征收个人所得税也是调节贫富差距,实现社会财富再分配,取之民用之于民的重要手段。
我国现阶段采取是九级累制进的个人所得税征收方法。
即将个人月收入额减去八百元后,按所剩部分金额的多少将纳率的税率分成九级,并进行累进计算。
如下表所示:
个人所得税应纳税额速查表
级数
全月应纳税所得额X(元)
税率
累交税额(元)
应纳税额计算公式
(元)
1
不超过500的部分
5%
0
X*5%
2
超过500至2000的部分
10%
0+500*5%
25+(X-500)*10%
3
超过2000至5000的部分
15%
25+1500*10%
175+(X-2000)*15%
4
超过5000至20000的部分
20%
175+3000*15%
625+(X-5000)*20%
5
超过20000至40000的部分
25%
625+15000*20%
3625+(X-20000)*25%
6
超过40000至60000的部分
30%
3625+20000*25%
8625+(X-40000)*30%
7
超过60000至80000的部分
35%
8625+20000*30%
14625+(X-60000)*35%
8
超过80000至100000的部分
40%
14625+20000*35%
21625+(X-80000)*40%
9
超过100000的部分
45%
21625+20000*40%
29625+(X-10000)*45%
注:
本表所称全月应纳税所得额,是指每月收入额减除费用八百元后或减除附加费用后的余额。
累交税额为本级之上级数应纳税额的累加。
由上表可知,只要将我们每月的收入减去800元后,就能得到“应纳税所得额”,然后根据“应纳税所得额”所处的级数,按相应的“应纳税额计算公式”就能准确地计算出每个人一个月应该缴纳的个人所得税。
在实际操作过程中,税务部门都是事先编制好计算机程序,只需将月收入输入计算机,计算机就会自动计算出应该缴纳的个人所得税。
在“九级累进制个人所得税”这个算法中,核心的部分是,根据应纳税所得额,用判别语句确定所处的级数,级数确定后,运用计算公式计算应缴的个人所得税就方便多了。
这种算法用流程图来表现,则在流程图中,必定有判别框,因为是九级累进制,所以需要九个类别框来分别确定九个级数。
为了实现这个算法,则需要用VB来编制相应的程序,在VB程序中除了需要用到赋值语句、输入输出语句、其它计算语句外,还必须用到分支语句。
活动过程
1、1、算法流程图
下面给出用计算机程序实现“九级累进制个人所得税”的一种最容易理解的算法。
2、分析流程图
通过流程图可以看出,在这个算法中,我们设置了一系列条件判断,这些条件都是不重复的,即满足了其中一个条件,其它条件就不可能再次满足。
如果条件成立就重复一次已经做过的语句,直至条件不成立,只要有重复的过程,这种结构就是循环结构。
3、算法的VB程序实现
算法中用到了一条输入语句、十个分支语句、一个输出语句。
其中输入语句和输出语句与顺序结构的例题中的语句一致。
(1)建立窗体和输入、输出、命令按钮控件。
方法与前二节一样。
(2)编写“Command1”触发的程序代码。
在“PrivateSubcommand1_click()”和“EndSub”之间输入以下的程序代码。
DimaAsSingle,xAsSingle,yAsSingle
a=Text1.Text
x=a-800
Ifx<=0Then
y=0
EndIf
Ifx>0Andx<=500Then
y=x*0.05
EndIf
Ifx>500Andx<=2000Then
y=25+(x-500)*0.1
EndIf
Ifx>2000Andx<=5000Then
y=175+(x-2000)*0.15
EndIf
Ifx>5000Andx<=20000Then
y=625+(x-5000)*0.2
EndIf
Ifx>20000Andx<=40000Then
y=3625+(x-20000)*0.25
EndIf
Ifx>40000Andx<=60000Then
y=8625+(x-40000)*0.3
EndIf
Ifx>60000Andx<=80000Then
y=14625+(x-60000)*0.35
EndIf
Ifx>80000Andx<=100000Then
y=21625+(x-80000)*0.4
EndIf
Ifx>100000Then
y=29625+(x-100000)*0.45
EndIf
Label1.Caption=y
第一行,定义了三个单精度浮点型数值变量A,x,y。
第二行,将text1文本框中的数据转换为单精度浮点数并赋值给变量A,这样A中保存着一个月的总收入值。
第三行,将A的值减去800后,赋值给变量x,即X中的值即为一个月的应纳税所得额。
第四~六行,如果X的值是负值或0,说明月收入值小于等于800,则不必缴纳个人所得税,所以直接将代表应纳税额的变量Y赋值为“0”,即Y=0。
第七~九行,如果X的值大于0且小于等于500,则应该按照级数“1”的税率5%纳税,应纳税额按公式X*0.05计算后,赋值给变量Y。
其中,作为判别条件的“X大于0且小于等于500”的代数式为0 与之相对应的表达式为X>0andX<=500。 同样,程序设计语言也不能识别%号,必须转化为小数才能参与运算。 则代数式X*5%写成表达式应为X*0.05。 第十~十二行,表示级数为“2”的计算方法。 第十三~十五行,表示级数为“3”的计算方法。 第十六~十八行,表示级数为“4”的计算方法。 第十九~二十一行,表示级数为“5”的计算方法。 第二十二~二十四行,表示级数为“6”的计算方法。 第二十五~二十七,表示级数为“7”的计算方法。 第二十八~三十行,表示级数为“8”的计算方法。 第三十一~三十三行,表示级数为“9”的计算方法。 第三十四行,将表示应纳税额的变量Y的值赋值给“Label1”控件对象的“Caption”属性,输出当月应该缴纳的个人所得税金额。 (3)运行程序。 将第一个文本框中的“Text1”删除,重新输入“700”;然后单击“Command1”,就能在原来“Label1”的位置上输出月收入为700元时应纳的税额0元。 依次输入“2800”、“10000”和“30000”,以测试程序是否与我们手工计算的应纳个人所得税的金额一致? (4)保存工程。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 累进 个人所得税