首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 繽紛校園 英語學(xué)習(xí)
2010考研 | 自學(xué)考試 | 成人高考 | 專 升 本 | 法律碩士 | MBA/MPA | 中 科 院
四六級(jí) | 商務(wù)英語 | 公共英語 | 職稱日語 | 職稱英語 | 博思 | 口譯筆譯 | GRE GMAT | 日語 | 托福
雅思 | 專四專八 | 新概念 | 自考英語 | 零起點(diǎn)英、、、、韓語 | 在職申碩英語
在職攻碩英語 | 成人英語三級(jí)
等級(jí)考試 | 水平考試 | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 報(bào)檢員 | 外銷員 | 司法考試 | 導(dǎo)游考試 | 教師資格 | 國際商務(wù)師 | 跟單員
單證員 | 物流師 | 價(jià)格鑒證師 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 人力資源管理師 | 管理咨詢師
期貨從業(yè)資格 | 社會(huì)工作者
會(huì)計(jì)職稱 | 注會(huì)CPA | 經(jīng)濟(jì)師 | 統(tǒng)計(jì)師 | 注冊(cè)稅務(wù)師 | 評(píng)估師 | 精算師 | 高會(huì) | ACCA | 審計(jì)師
法律顧問 | 會(huì)計(jì)證
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)師 | 監(jiān)理師 | 安全師 | 咨詢師 | 結(jié)構(gòu)師 | 建筑師 | 安全評(píng)價(jià)師
房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 設(shè)備監(jiān)理師 | 巖土工程師 | 質(zhì)量資格 | 房地產(chǎn)經(jīng)紀(jì)人 | 造價(jià)員
投資項(xiàng)目管理 | 土地代理人 | 環(huán)保師 | 環(huán)境影響評(píng)價(jià) | 物業(yè)管理師 | 城市規(guī)劃師 | 公路監(jiān)理師
公路造價(jià)工程師 | 招標(biāo)師
執(zhí)業(yè)護(hù)士 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 衛(wèi)生資格
您現(xiàn)在的位置: 考試吧(Exam8.com) > 軟件水平考試 > 歷年真題 > 程序員真題 > 正文

2003年程序員下午試題及答案

試題五(15分,每空3分)
  閱讀下列說明及Visual Basic程序代碼,將應(yīng)填入__(n)__的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。
  【應(yīng)用說明]
  某單位舉辦了一場知識(shí)競賽,參加競賽的選手為300名,依次從1~300進(jìn)行編號(hào)。競賽時(shí)間為9:00~ 11:00。8道競賽題目依次從‘A’~‘H’編號(hào),選手可按任意次序答題,每完成一道題目,可立即提交答案。若答題正確(Y),則選擇其他題目進(jìn)行解答,否則,可繼續(xù)做該題目或選擇其他題目進(jìn)行解答,直至競賽結(jié)束。
  選手提交答案的情況及判定結(jié)果由專人即時(shí)錄入,錄入數(shù)據(jù)包括提交答案的時(shí)間、選手編號(hào)、題目編號(hào)(A~H)、是否正確(Y/N)。
  對(duì)競賽情況進(jìn)行統(tǒng)計(jì)和排名的規(guī)則如下:
  1.若選手X在競賽時(shí)提交的題目P解答正確,則解答該題目所用時(shí)間如下計(jì)算:
  解答題目P的用時(shí)=提交題目P正確的時(shí)間-競賽的開始時(shí)間+罰時(shí)
  罰時(shí)=提交題目P錯(cuò)誤解答的次數(shù)×20
  例如:表1中14號(hào)選手在10:27提交了題目A的正確解答,因此該選手正確解答該題目所用時(shí)間為87分鐘,由于他在09:37和09:52兩次提交了題目A的錯(cuò)誤解答,因此罰時(shí)為2×20=40分鐘,所以14號(hào)選手解答題目A的用時(shí)=87+40=127(分鐘)。
  2.已經(jīng)提交正確答案的題目再次提交時(shí)不再計(jì)算。
  3.競賽結(jié)束時(shí),選手的總用時(shí)為所有解答正確的題目用時(shí)累加所得,解答不正確的題目不計(jì)時(shí)。
  4.排名時(shí),完成題目數(shù)量多者排名靠前;若完成的題目數(shù)相同,則用時(shí)少者排名靠前;若完成的題目數(shù)和所用時(shí)間均相等,則名次相同;完成題目數(shù)為0的選手不參加排名。
  本應(yīng)用程序的運(yùn)行窗口如下圖所示:

  窗口中的兩個(gè)文本框?yàn)門xt_time和Txt_player,分別用于錄入提交答案的時(shí)間和選手編號(hào)。組合列表框Combol提供題目編號(hào)(A~H),錄入時(shí)從中選擇。檢查框Chk_yn用于輸入解答是否正確信息。當(dāng)單擊“確定”按鈕(Cmd_comfirm)時(shí),錄入的提交信息加入列表框List1中,排名情況在列表框List2輸出。單擊“關(guān)閉”按鈕時(shí)退出應(yīng)用程序。
  在開發(fā)過程中,需要編寫的部分程序代碼如下:
  【程序代碼]
  Private Type Info
   No as integer   ’選手編號(hào)
   Num as Integer ’完成題目數(shù)量
   Time as integer ’完成題目的總用時(shí)
   D(8) as integer  ’d用于記錄提交第i個(gè)題目錯(cuò)誤答案的次數(shù)
   A(8) as Boolean ’a用于記錄第i個(gè)題目是否已經(jīng)提交正確答案
  End type
  Dim R(301) as info  ’R[j]用于統(tǒng)計(jì)編號(hào)為j的選手提交答案的情況
  Dim MaxIndex as Integer ’MaxIndex記錄提交答案的選手中編號(hào)最大者

  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)__  ’計(jì)算答題時(shí)間,以分鐘為單位
   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為選手編號(hào)
   R(k).no=k    '編號(hào)為k的選手的提交信息記錄在下標(biāo)為k的數(shù)組元素中
   If k >maxindex then maxindex=k
   M = asc(ch)-asc(“a”)
   If pass <>”Y” then         '編號(hào)為k的選手提交第m個(gè)題目的解答不正確
    R(k).d(m)=R(k).d(m)+1
   Else if R(k).a(m)<>true then  '已經(jīng)提交正確的題目的解答不再計(jì)算
     R(k).a(m)=true:R(k).num=R(k).num+1
     R(k).time=R(k).time +  __(5)__  
     Call statistic       '調(diào)用過程statistic進(jìn)行實(shí)時(shí)排名和輸出
   End if
   Exit sub
   Error1:msgbox”錄入信息有錯(cuò)誤!”,vbOKOnly
  End sub

  從下列的3道試題(試題六至試題八)中任選1道解答。如果解答的試題數(shù)超過1道,則題號(hào)小的1道解答有效。

試題六(15分,每空3分)
  閱讀以下說明和C++程序,將應(yīng)填入 __(n)__處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)
  【說明】
  以下程序的功能是計(jì)算三角形、矩形和正方形的面積并輸出。
  程序由4個(gè)類組成:類Triangle,Rectangle和Square分別表示三角形、矩形和正方形;抽象類Finure提供了一個(gè)純虛擬函數(shù)getArea(),作為計(jì)算上述三種圖形面積的通用接口。
  【C++程序】
   #include<iostream.h>
   #include<math.h>

  class Figure{
   public:
   virtual double getArea()=0;  //純虛擬函數(shù)
  };

  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 下一頁
轉(zhuǎn)帖于:軟件水平考試_考試吧
文章搜索
2003年程序員下午試題及答案網(wǎng)友評(píng)論網(wǎng)友評(píng)論
版權(quán)聲明 --------------------------------------------------------------------------------------
    如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
 柳絮隨風(fēng)