首页>计算机>软件水平考试>历年真题>正文
2002年程序员上午试题及答案

www.zige365.com 2007-7-19 17:37:42 点击:发送给好友 和学友门交流一下 收藏到我的会员中心
试题七

  阅读以下应用说明、属性设置及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

本新闻共2页,当前在第2页  1  2  

我要投稿 新闻来源: 编辑: 作者:
相关新闻