首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 缤纷校园 英语学习
2010考研 | 自学考试 | 成人高考 | 专 升 本 | 法律硕士 | MBA/MPA | 中 科 院
四六级 | 商务英语 | 公共英语 | 职称日语 | 职称英语 | 博思 | 口译笔译 | GRE GMAT | 日语 | 托福
雅思 | 专四专八 | 新概念 | 自考英语 | 零起点英韩语 | 在职申硕英语
在职攻硕英语 | 成人英语三级
等级考试 | 水平考试 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
公务员 | 报关员 | 报检员 | 外销员 | 司法考试 | 导游考试 | 教师资格 | 国际商务师 | 跟单员
单证员 | 物流师 | 价格鉴证师 | 银行从业资格 | 证券从业资格 | 人力资源管理师 | 管理咨询师
期货从业资格 | 社会工作者
会计职称 | 注会CPA | 经济师 | 统计师 | 注册税务师 | 评估师 | 精算师 | 高会 | ACCA | 审计师
法律顾问 | 会计证
一级建造师 | 二级建造师 | 造价师 | 监理师 | 安全师 | 咨询师 | 结构师 | 建筑师 | 安全评价师
房地产估价师 | 土地估价师 | 设备监理师 | 岩土工程师 | 质量资格 | 房地产经纪人 | 造价员
投资项目管理 | 土地代理人 | 环保师 | 环境影响评价 | 物业管理师 | 城市规划师 | 公路监理师
公路造价工程师 | 招标师
执业护士 | 执业医师 | 执业药师 | 卫生资格
您现在的位置: 考试吧(Exam8.com) > 软件水平考试 > 历年真题 > 程序员真题 > 正文

2003年程序员下午试题及答案

试题五(15分,每空3分)
  阅读下列说明及Visual Basic程序代码,将应填入__(n)__的字句写在答题纸的对应栏内。
  【应用说明]
  某单位举办了一场知识竞赛,参加竞赛的选手为300名,依次从1~300进行编号。竞赛时间为9:00~ 11:00。8道竞赛题目依次从‘A’~‘H’编号,选手可按任意次序答题,每完成一道题目,可立即提交答案。若答题正确(Y),则选择其他题目进行解答,否则,可继续做该题目或选择其他题目进行解答,直至竞赛结束。
  选手提交答案的情况及判定结果由专人即时录入,录入数据包括提交答案的时间、选手编号、题目编号(A~H)、是否正确(Y/N)。
  对竞赛情况进行统计和排名的规则如下:
  1.若选手X在竞赛时提交的题目P解答正确,则解答该题目所用时间如下计算:
  解答题目P的用时=提交题目P正确的时间-竞赛的开始时间+罚时
  罚时=提交题目P错误解答的次数×20
  例如:表1中14号选手在10:27提交了题目A的正确解答,因此该选手正确解答该题目所用时间为87分钟,由于他在09:37和09:52两次提交了题目A的错误解答,因此罚时为2×20=40分钟,所以14号选手解答题目A的用时=87+40=127(分钟)。
  2.已经提交正确答案的题目再次提交时不再计算。
  3.竞赛结束时,选手的总用时为所有解答正确的题目用时累加所得,解答不正确的题目不计时。
  4.排名时,完成题目数量多者排名靠前;若完成的题目数相同,则用时少者排名靠前;若完成的题目数和所用时间均相等,则名次相同;完成题目数为0的选手不参加排名。
  本应用程序的运行窗口如下图所示:

  窗口中的两个文本框为Txt_time和Txt_player,分别用于录入提交答案的时间和选手编号。组合列表框Combol提供题目编号(A~H),录入时从中选择。检查框Chk_yn用于输入解答是否正确信息。当单击“确定”按钮(Cmd_comfirm)时,录入的提交信息加入列表框List1中,排名情况在列表框List2输出。单击“关闭”按钮时退出应用程序。
  在开发过程中,需要编写的部分程序代码如下:
  【程序代码]
  Private Type Info
   No as integer   ’选手编号
   Num as Integer ’完成题目数量
   Time as integer ’完成题目的总用时
   D(8) as integer  ’d用于记录提交第i个题目错误答案的次数
   A(8) as Boolean ’a用于记录第i个题目是否已经提交正确答案
  End type
  Dim R(301) as info  ’R[j]用于统计编号为j的选手提交答案的情况
  Dim MaxIndex as Integer ’MaxIndex记录提交答案的选手中编号最大者

  Private Sub From_Load ()
   For  i=1 to 8
    Combo1.additem chr(__(1)__)
   Next
   Combol.text = combol.list(0):  txt_time .text=””:  txt_player.text=””
   For i=1 to 300
    R(i).num=0:  R(i).time=0: R(i).no=i
    For  j=1 to 8
     R(i).d(j)=0: R(i).a(j)=false
   Next j,i
  End Sub

  Private sub cmd_confirm_click()
   Dim h, m,k, time as integer,ch ,pass,s1 as string
   K= Instr(txt _time .text,”:”):if k<2 then goto error1
   H=val(left(txt_time.text,k-1)):m=val(mid(txt_time.text,k+1))
   If h>11 or h=11 and m>0 or m>=60 then goto error1
   Time =__(2)__  ’计算答题时间,以分钟为单位
   If  txt_plater.text<1 or txt_player .text>300 then goto error1
   Ch=  __(3)__ 
   Pass=IIf(chk_yn.__(4)__ =0,”N”,”Y”)
   S1=txt_time.text+space(4)+txt_player.text
   S1=s1+space(10-len(txt_player.text))+ch+space(8)+pass
   List1.additem s1
   K= val(txt_player.text)      'k为选手编号
   R(k).no=k    '编号为k的选手的提交信息记录在下标为k的数组元素中
   If k >maxindex then maxindex=k
   M = asc(ch)-asc(“a”)
   If pass <>”Y” then         '编号为k的选手提交第m个题目的解答不正确
    R(k).d(m)=R(k).d(m)+1
   Else if R(k).a(m)<>true then  '已经提交正确的题目的解答不再计算
     R(k).a(m)=true:R(k).num=R(k).num+1
     R(k).time=R(k).time +  __(5)__  
     Call statistic       '调用过程statistic进行实时排名和输出
   End if
   Exit sub
   Error1:msgbox”录入信息有错误!”,vbOKOnly
  End sub

  从下列的3道试题(试题六至试题八)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。

试题六(15分,每空3分)
  阅读以下说明和C++程序,将应填入 __(n)__处的字句写在答题纸的对应栏内
  【说明】
  以下程序的功能是计算三角形、矩形和正方形的面积并输出。
  程序由4个类组成:类Triangle,Rectangle和Square分别表示三角形、矩形和正方形;抽象类Finure提供了一个纯虚拟函数getArea(),作为计算上述三种图形面积的通用接口。
  【C++程序】
   #include<iostream.h>
   #include<math.h>

  class Figure{
   public:
   virtual double getArea()=0;  //纯虚拟函数
  };

  class Rectangle:__(1)__ {
   protected:
   double height;
   double width;
   public:
   Rectangle(){};
   Rectangle(double height,double width){
    This->height=height;
    This->width=width;
   }
   double getarea(){
    return  __(2)__ ;
   }
  };

  class Square:__(3)__ {
   public:
   square(double width){
    __(4)__ ;
   }
  };

  class triangle:__(5)__ {
   double la;
   double lb;
   double lc;
   public:
   triangle(double la ,double lb,double lc){
    this ->la=la;  this->lb;  this->lc;
   }
   double getArea(){
    double s=(la +lb+lc)/2.0;
    return sqrt(s*(s-la)**(s-lb) *(s-lc));
   }
  };

  viod main(){
   figure* figures[3]={
    new triangle(2,3,3),new Rectangle(5,8),new Square(5)};
    for (int i=0;i<3;i++){
     cout<<”figures[“<<i<<”]area= “<<(figures)->getarea()<<endl;
    }
   }
   };

 

上一页  1 2 3 4 下一页
转帖于:软件水平考试_考试吧
文章搜索
2003年程序员下午试题及答案网友评论网友评论
版权声明 --------------------------------------------------------------------------------------
    如果软件水平考试网所转载内容不慎侵犯了您的权益,请与我们联系,我们将会及时处理。如转载本软件水平考试网内容,请注明出处。
 柳絮随风