- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
问题:计算所得税:输入工资。如果工资少于2000,免收所得税。如果工资≥2000,所得税为5%。单击窗体,在窗体上显示工资及所得税的结果。
程序结构:输入、处理、输出。
程序框架:
Private Sub Form_Click()
输入工资
如果 工资=2000 那么
所得税 = 工资 * 0.05
否则
所得税 = 0 输出工资、所得税
End Sub
分析:设立变量gz代表工资,sj代表所得税;
输入工资用InputBox函数,并存入变量gz;
输出工资、所得税用Print方法。
程序为:
Private Sub Form_Click()
Gz=InpueBox(请输入工资, 输入工资)
如果 gz=2000 那么
sj = gz * 0.05
否则
sj = 0 ? 工资;gz;的所得税为;sj
End Sub
“如果”、“那么”、“否则”如何实现呢?
用程序的控制结构实现。
Vb程序设计选择结构
实际上,“如果”、“否则”是程序的一种控制结构。它的功能是根据条件“工资=2000”是否成立,决定程序下一步的执行方向是“所得税=工资*0.05”还是“所得税=0”。
这种根据条件的不同结果,选择不同的分支的程序结构,称为“选择结构”或“分支结构”。它属于程序的控制结构。
结构化程序设计的基本控制结构有3种:
(1) 顺序结构:单线条、无分支、不重复、每个语句均有机会执行,且都仅执行一次。这种结构功能最简单。
(2) 选择结构:即分支结构。
(3) 循环结构:重复执行某块程序若干次。
7.1 选择结构
在VB中,选择结构用If语句实现,故选择结构也称If结构。它有2种格式:单行结构、块结构。
单行If语句
格式1:
If 条件 Then 语句1 Else 语句2
功能:如果“条件”为True,执行语句1,否则执行语句2。
应用:(计算所得税)
If gz=2000 Then sj=gz*0.05 Else sj=0
格式2:
If 条件 Then 语句1
功能:如果“条件”为True,执行语句1,否则什么也不执行,直接执行下一个语句。
应用:(计算所得税)
If gz=2000 Then sj=gz*0.05
“条件”:可以是关系表达式(单条件),也可以是逻辑表达式(复合条件)。
应用:工资在2000—3000之间所得税为5%
If gz=2000 And gz3000 Then sj=gz*0.05
“语句”:可以是单个语句,也可以是多个语句(复合条件,用冒号分隔)。
应用:工资超过2000所得税为5%,显示姓名、所得税,否则显示姓名、说明“不用纳税”。
If gz=2000 Then sj=gz*0.05 : ? 姓名,sj Else ? 姓名,不用纳税
缺点:语句太长,结构不分明,容易出错。
改进:用If语句的块结构。
块结构If语句
1.最简单的块结构是:
If 条件1 Then
语句块1
End If
这种结构是单分支结构。
应用:单行结构的
If gz=2000 Then sj=gz*0.05
改为块结构:
If gz=2000 Then
sj=gz*0.05
End If
与单行If语句相比,最后多一行End If语句作为If结构的结束,但程序结构非常分明、容易阅读。缺点是程序行数增加,显得冗长。
2.最常用的结构是:
If 条件1 Then
语句块1
Else
语句块2
End If
这种结构是双分支结构。
应用:工资超过2000所得税为5%,显示姓名、所得税,否则显示姓名、说明“不用纳税”。
If gz=2000 Then sj=gz*0.05 : ? 姓名,sj Else ? 姓名,不用纳税
改为用块If结构,程序为:
If gz=2000 Then
sj=gz*0.05
? 姓名;sj
Else
? 姓名;不用纳税
End If
这种双分支结构有时可以用IIF函数替代。
函数格式:
变量=IIF(条件,True部分,False部分)
例如:工资超过2000所得税为5%,否则为0。
用IF结构写为:
If gz=2000 Then
Sj=gz*0.05
Else
Sj=0
End If
改用IIF函数则写成:
sj=IIF(gz=2000, gz*0.05, 0)
对于:工资超过2000所得税为5%,显示姓名、所得税,否则显示姓名、说明“不用纳税”。
这种情况能不能用IIF函数?
什么时候用单行结构?什么时候用块结构?
当语句块只有一个语句时,一般用单行结构;
当语句块不止一个语句时,一般用块结构;
当结构比较复杂时,一般也用块结构。
文档评论(0)