试题七
阅读以下应用说明、属性设置及VisualBasic程序代码,将应填入__(n)__处的字句写在答题纸的对应栏内。
[应用说明7]
本应用程序的运行窗口如下图所示:
只要用户单击“闪烁”按钮,文字“欢迎光临”就会以0.3秒消失、0.3秒显示反复进行闪烁;单击“停止”按钮时,闪烁停止,恢复图示的初态。
在开发过程中,需要设置的属性如下:
[属性设置7]
对象 |
对象名 |
属性名 |
属性值 |
窗体 |
Frm1 |
Caption |
闪烁显示演示 |
标签 |
Labe1 |
Caption |
欢迎光临 |
命令按钮 |
CmdF |
Caption |
闪烁 |
命令按钮 |
CmdT |
Caption |
停止 |
定时器 |
Timer1 |
Enabled |
__(1)__ |
|
|
Interval |
__(2)__ |
在开发过程中,需要编写的程序代码如下;
[程序代码7]
Private Sub CmdF Click()
Timerl.__(3)__ = True
Label.Visible = False
End Sub
Private Sub Timerl_ Timer()
__(4)__ = not Label.Visible
End Sub
Private Sub CmdT Click()
Timerl.Enabled = __(5)__
Label.Visible = true
End Sub
从下列的2道试题(试题八至试题九)中任选1道解答,如果解答的试题数超过1道,则题号小的1道解答有效。 |
试题八
阅读下列程序说明和C程序,将应填入__(n)__处的字句写在答题纸的对应栏内。
[程序8说明]
程序8用于计算某公司每个职工应缴纳的个人所得税额和全体职工缴纳的个人所得税总额。职工的当月收入(工资或薪金)通过键盘输入,每次输入一个职工的工号和工资(或薪金)。由于该公司的工资或薪金是不定时发放的,所以输入过程中每个职工的收入会出现多次输入,整个输入以工号小于等于0结束。
假设个人所得税法规定;个人收入所得,按月计税,以每月收入总额减除免税金额800元后的余额作为该月的月应纳税所得额,适用税率如下表所示。
级数 |
月应纳税所得额 |
适用税率(%) |
1 2 3 4 5 6 7 8 9 |
不超过500元的部分 501元~2000元的部分 2001元~5000元的部分 5001元~20000元的部分 20001元~40000元的部分 40001元~60000元的部分 60001元~80000元的部分 80001元~100000元的部分 超过100000元的部分 |
5 10 15 20 25 30 35 40 45 |
上表表明,个人收入所得税是按照超额累进的税率来征收的。
设一个人的月应纳税所得额为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元。
[程序8]
#include <stdio.h>
#define MaxNum 50
#define BASE 800 /*免税金额基数*/
int paylevel[]={0,500,2000,5000,20000,40000,60000,80000,100000,100000¨:
int taxPrate[]={5,10,15,20,25,30,35,40,45): /*税率表*/
typedef struct{
int ld; /*职工的工号*/ .
long Salary; /*职工的工资*/
}Info;
/* 查找工号为Id的职工在数组employee中的下标,返回值为0表示没有 */
int find(int ld,Info employee[],int m){
int j;
employee[0].Id=Id;
for(j=m;__(1)__;j--);
return j;
}
void main(void)
{ Info employeeCHaxNum+1];
long Wage;
double sum s 0,K,S:
int i,j,N=0,Code;
scanf("M%ld",&Code,&Wage); /*读入职工号、工资或薪金*/
while(Code>0) {
i=find(Code,employee,N);
if (i>0)employee[i].Salary += Wage:
else{ __ (2)__;
employee[N].Id=Code;employee[N].Salary=Wage;
}
scanf("%d%ld",&Code,&Wage):
}
for (i=1;i<=N;i++){
K = __(3)__; /*计算月应纳税所得额*/
S=0; /*月应纳税额赋初值*/
if (K > 0) {
for (j=1;j<=9;j++)
if(__(4)__) /*月应纳税所得额超过第j级*/
S=S+(paylevel[j]-paylevel[j-1])*taxPrate[j-1]/100;
else{ S=S+(__ (5)__)*taxPrate[j-1]/100;break;}
}
printf("职工%d应缴纳的个人所得税额:%10.21f\n",employee[i].Id,S);
sum += S;
}
printf("全体职工个人所得税总额:%10,21f\n",sum);
}
试题九
阅读以下应用说明及VisualBasic程序代码,将应填入__(n)__处的字句写在答题纸的对应栏内.
[应用说明9]
本应用程序的运行窗口如下图所示:
窗口中的三个文本框和两个按钮名称分别为Txt_salary、Txt_base、ht_tax、Cmd compute和Cmd_quit.运行时,文本框Txt_base中存放的是免税金额基数(应扣除的基本费用)。当用户在文本框ht_salary中输入月收入(工资或薪金)并单击“计算”按钮Crud_compute后,Txt_tax框中就显示计算所得的应纳税额。文本框Txt_base和Txt_tax在运行时不接受用户输入,Txt_base的内容以灰色显示。
个人工资(或薪金)所得税是按照超额累进的税率来征收的,方法是:以每月收入总额减去免税金额基数后的余额作为该月的月应纳税所得额,再将应纳税所得额按相应级数采用相应的税率进行累进计算.目前的免税金额基数为800元,税率如下表所示:
个人工资(或薪金)所得税是按照超额累进的税率来征收的,方法是:以每月收入总额减去免税金额基数后的余额作为该月的月应纳税所得额,再将应纳税所得额按相应级数采用相应的税率进行累进计算.目前的免税金额基数为800元,税率如下表所示:
级数 |
月应纳税所得额 |
适用税率(%) |
1 2 3 4 5 6 7 8 9 |
不超过500元的部分 501元~2000元的部分 2001元~5000元的部分 5001元~20000元的部分 20001元~40000元的部分 40001元~60000元的部分 60001元~80000元的部分 80001元~100000元的部分 超过100000元的部分 |
5 10 15 20 25 30 35 40 45 |
设一个人的月应纳税所得额为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元。
在开发过程中,需要编写的程序代码如下:
[程序代码]
Option Base 0
Private Sub Cmd compute-C1ick()
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 lf
Next j
End lf
__(4)__=Str$(S)
End Sub
Private Sub Cmd_quit_C1ick()
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)i:1,1,8
(2)1→sw
(3) 0→BIT[i]
(4)NOP,或空操作
(5)1→BIT[i]
试题二
(1)j%2,及其等价形式
(2)i+=2,及其等价形式
(3)tag>2,或tag==3或tag>=3,及其等价形式
(4)9
(5)45
试题三
(1)p && k<i,及其等价形式
(2)!p->next,及其等价形式
(3)q->next
(4)prep->next
(5)q->next=p
试题四
(1)(h-9)*60+m,及其等价形式
(2)time + R[k].d[ch-'a']*20 其中ch-'a'可以表示为ch-97,R[k]可以表示为R[R[k].no]
(3)R[t].num == R[j].num && R[t].time > R[j].time,及其等价形式
(4)t!=i,及其等价形式,表达式的值为真也正确
(5)R[i],及其等价形式
试题五
(1)Asc("A")+i-1,或64+i,及其等价形式
(2)(h-9)*60+m,及其等价形式
(3)Combol.Text
(4)Value
(5)Time+R(k).d(m)*20 其中m可表示为Asc(ch)-Asc("A")或Asc(ch)-65,k可表示为R(R(k).no)
试题六
(1)public Figure
(2)height*width
(3)public Rectangle
(4)this->height=this->width=width
(5)public Figure 若填public Rectangle只给1分
试题七
(1)False
(2)True
(3)SetFocus
(4)Delete
(5)Update
试题八 (Java)
(1)Figure
(2)height*width
(3)Rectangle
(4)super(width,width)
(5)Figure