全國(guó)計(jì)算機(jī)技術(shù)軟件專業(yè)技術(shù)資格(水平)考試_第1頁(yè)
全國(guó)計(jì)算機(jī)技術(shù)軟件專業(yè)技術(shù)資格(水平)考試_第2頁(yè)
全國(guó)計(jì)算機(jī)技術(shù)軟件專業(yè)技術(shù)資格(水平)考試_第3頁(yè)
全國(guó)計(jì)算機(jī)技術(shù)軟件專業(yè)技術(shù)資格(水平)考試_第4頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、全國(guó)計(jì)算機(jī)技術(shù)軟件專業(yè)技術(shù)資格(水平)考試2005年上半年 程序員 下午試卷(考試時(shí)間 14:0016:00共150分鐘)請(qǐng)按下述要求正確填寫(xiě)答題紙1、在答題紙的指定位置填寫(xiě)你所在的省、自治區(qū)、直轄市、計(jì)劃單列市的名稱。2、在答題紙的指定位置填寫(xiě)準(zhǔn)考證號(hào)、出生年月日和姓名。3、答題紙上除填寫(xiě)上述內(nèi)容外只以寫(xiě)解答。4、本試卷共8道題,試題一至試題三是必答題,試題四至試題五選答1道,試題六至試題八選答1道,每題15分,滿分75分。試題六至試題八選答1道。每題15分,滿分75分。試題號(hào)一三四五六八選擇方法必答題選答1題選答1題5、解答時(shí)字跡務(wù)必清楚,字跡不清時(shí),將不評(píng)分。6、仿照下面例題,將解答寫(xiě)在

2、答題紙的對(duì)應(yīng)欄內(nèi)。例題 2005年上半年全國(guó)計(jì)算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試日期是(1)月(2)日。 因?yàn)檎_的解答是“5月29日”,故在答題紙的對(duì)應(yīng)欄內(nèi)寫(xiě)上“5”和“29”(參看下表)。例題解答欄(1)5(2)29試題一至試題三是必答題試題一(15分,每空3分) 閱讀以下說(shuō)明和流程圖,回答問(wèn)題1至問(wèn)題2將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。說(shuō)明設(shè)8位二進(jìn)制代碼B0B1.B7中的最高位B0為奇偶校驗(yàn)位。對(duì)于任何給定的代碼B1B2.B7,可按下式計(jì)算偶校驗(yàn)位:B0= B1 eq oac(,) B2 eq oac(,). eq oac(,) B7其中,“”表示“異或”運(yùn)算。下面的流程圖描述了計(jì)算偶校

3、驗(yàn)位的過(guò)程。流程圖開(kāi)始 B0 (1)循環(huán)開(kāi)始 i: (2) (4) B0 eq oac(,+) ( 3) 循環(huán)結(jié)束 輸出B0結(jié)束注:流程圖,循環(huán)開(kāi)始的說(shuō)明按照“循環(huán)變量名:循環(huán)初值,循環(huán)終值,增量“格式描述。問(wèn)題1將流程圖中的(1)(4)處補(bǔ)充完整。問(wèn)題2若按下式計(jì)算奇校驗(yàn)位,則上述流程圖中的(1)處應(yīng)填(5) 。B0= B1 eq oac(,) B2 eq oac(,). eq oac(,) B7 eq oac(,)1 試題二(15,每空3分) 閱讀以下函數(shù)說(shuō)明和C語(yǔ)言函數(shù),將應(yīng)填入(n)處的字句寫(xiě)在答題紙的以應(yīng)欄內(nèi)。函數(shù)2.1說(shuō)明 函數(shù)int funl(int m,int n)的功能是:計(jì)

4、算并返回正整數(shù)m和n的最大公約數(shù)。函數(shù)2.1 int funl (int m, int n)while ( (1) )if(mn) m=m-n;else n=n-m; ;函數(shù)2.2說(shuō)明函數(shù)long fun2(char*str)的功能是:自左至右順序取出非空字符串str中的數(shù)字字符形成一個(gè)十進(jìn)制整數(shù)(最多8位)。例如,若字符串str的值為“f3g8d5.ji2e3p12fkp”,則函數(shù)返回值為3852312。函數(shù)2.2long fun2(char *str) int i=0; long k=0; char*p=str; while(*p!=/0& (3) ) if(*p =0&*p =9)k=

5、(4) +*p-0; + i;Return k;試題三(15分,每空3分) 閱讀以下說(shuō)明和C語(yǔ)言函數(shù),將應(yīng)填入 (n) 處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。說(shuō)明一棵非空二叉樹(shù)中“最左下”結(jié)點(diǎn)定義為:若樹(shù)根的左子樹(shù)為空,則樹(shù)根為“最左下”結(jié)點(diǎn);否則,從樹(shù)根的左子樹(shù)根了發(fā),沿結(jié)點(diǎn)的左孩子分支向下查找,直到某個(gè)結(jié)點(diǎn)不存在左孩子時(shí)為止,該結(jié)點(diǎn)即為此二叉樹(shù)的“最左下”結(jié)點(diǎn)。例如,下圖所示的以A為根的二叉樹(shù)的“最左下”結(jié)點(diǎn)為D,以C為根的子二叉樹(shù)中的“最左下”結(jié)點(diǎn)為C。二叉樹(shù)的結(jié)點(diǎn)類型定義如下:Typedef struct BSTNode int data; struct BSTNode *lch,*rch;/

6、結(jié)點(diǎn)的左、右孩子指針*BSTree;函數(shù)BSTree Find_Del (BSTree root)的功能是:若root 指向一棵二叉樹(shù)的根結(jié)點(diǎn),則找出該結(jié)點(diǎn)的右子樹(shù)上的“最左下”結(jié)點(diǎn)*p,并從樹(shù)下刪除以*p為根的子樹(shù),函樹(shù)返回被刪除子樹(shù)的根結(jié)點(diǎn)指針;若該樹(shù)根的右子樹(shù)上不存在“最左下”結(jié)點(diǎn),則返回空指針。函數(shù)BSTree Find_Del(BSTree root) BSTree p,pre;if (!root)return NULL; /*root指向的二叉樹(shù)為空樹(shù)*/ (1) ; /*令p指向根結(jié)點(diǎn)的右子樹(shù)*/if (!p) return NULL; (2) ; /*設(shè)置pre的初值*/whi

7、le(p-lch) Pre=p;p= (3) ;if ( (4) = =root) /*root的右子樹(shù)根為“最左下”結(jié)點(diǎn)*/ pre-rch=NULL;else(5) = NULL; /*刪除以“最左下”結(jié)點(diǎn)為根的子樹(shù)*/return p;試題四(15分,每空3分) 閱讀以下說(shuō)明和C語(yǔ)言函數(shù),將應(yīng)填入 (n) 處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。說(shuō)明假設(shè)一個(gè)劇場(chǎng)有N*N個(gè)座位,顧客買(mǎi)票時(shí)可以提出任意有效的座號(hào)請(qǐng)求。下面用二維數(shù)組aNN,模擬劇場(chǎng)中的座位aij等于0表示第I排第j列0I,jN-1)的票尚未售出。函數(shù)int Find(int aN,int R,int*row,int *col)的功能是

8、:在部分票已售出的情況下,找出劇場(chǎng)中的R*R個(gè)空座位,要求這些座位的排列形成一個(gè)正方形。若找到滿足要求的一個(gè)座位排列,則函數(shù)返回1,并算出該正方左上角的行、列號(hào);若未找到,返回0。例如,一個(gè)77個(gè)座位的劇場(chǎng)如下圖(a) 所示,已售出部分座位的劇場(chǎng)如下圖(b)所示,圖中陰影部分表示已售出的座位,從圖(b)中找出的33正方形空座位如圖(c)中斜線區(qū)所示。函數(shù)int Find(int aN,int R ,int *row,int*coo)int I,j,k,c,t; int FOUND=0; for (i=0;!FOUND &iN-R+1;i+) /*從第0排開(kāi)始查找*/; while(jN-R+1

9、 &! FOUND) for(k=0; (2) &aij+k=0;k+1;/*查找第i排連續(xù)的R個(gè)座位*/if(k=R) /*找到第i排連續(xù)的R個(gè)空座位*/ for(c=0;cR;c+) /*查找其余的R*(R-1)個(gè)座位*/ for(t=1;tR;t+if(a (3) j+c!=0) break;if(tR)break;/*for*/If( (4) )FOUND=1;/*if*/;/*while*/*for i*/if(FOUND)*row = i1; *col = j1; /*計(jì)算正方形區(qū)域的左上角坐標(biāo)*/return 1;return 0;試題五(15分,沒(méi)空3分) 閱讀以下說(shuō)明及Vis

10、ual Basic 程序代碼,將應(yīng)填入(n)處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。說(shuō)明甲乙兩地之間的鐵路線上有二十多個(gè)火車(chē)站,為方便乘客查詢票價(jià),特開(kāi)發(fā)了火車(chē)票價(jià)查詢程序,其運(yùn)行窗口如下圖所示,乘客只要通過(guò)兩個(gè)下拉列表框分別選擇起點(diǎn)與終點(diǎn)站名,再單擊“查詢”按鈕,則票價(jià)文本框中就會(huì)顯示相應(yīng)的票價(jià)。在開(kāi)發(fā)過(guò)程中,設(shè)選擇起點(diǎn)和終點(diǎn)站名的組合框(ComboBox)名分別為ST和SP,顯示票價(jià)的文本框(TextBox)名為Price,“查詢”按鈕(CommandButton)名為Query;設(shè)ST與SP中的諸列表項(xiàng)完全相同,且都是從甲地開(kāi)始依次排列,從第i站到第j站的票價(jià)存放在二維對(duì)稱矩陳P的元素P(i,j)

11、中,假設(shè)從甲地到第i站行駛的距離存放在d(i)中,火車(chē)票價(jià)等于其行駛距離乘以C(常數(shù))。Visual Basic代碼Dim p(30,30) As Single 通用聲明Const C=0.2Private Sub Form load()Dim d(30) As Single(1)= “甲地” 在ST組合框中設(shè)置首個(gè)列表項(xiàng) 在ST和SP中設(shè)置其他列表項(xiàng)(若干行語(yǔ)句) 對(duì)數(shù)組d(i)賦值(若干行語(yǔ)句)For i=0 to ST. (2) -1 對(duì)ST中各列表項(xiàng)循環(huán)For j=0 to SP. (2) -1對(duì)SP中各列表項(xiàng)循環(huán)(這兩處填寫(xiě)內(nèi)容相同)P(i,j)= (3) Next jNext iE

12、nd SubPrivate Sub query_Click()i= (4) 組合框ST中選擇的當(dāng)前項(xiàng)編號(hào)j= 組合框SP中選擇的當(dāng)前項(xiàng)編號(hào) (語(yǔ)句略)= str$(p(i,j)End Sub試題六(15分,每空3分) 閱讀以下說(shuō)明、Java代碼和HTML文檔,將應(yīng)填入 (n)處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。說(shuō)明當(dāng)用戶啟動(dòng)html瀏覽器并首次打開(kāi)下面的html文檔時(shí),Java Applet小程序在顯示面板上顯示字符串“Welcome!”;當(dāng)html頁(yè)面被其它窗口遮擋后再次顯示時(shí),小程序在顯示面板上顯示“Welcome back!”。Java代碼import java.awt.*; import j

13、ava.applet.*;prblic class HelloApplet extends (1) prblic void paint( (2) ) g.drawString(message,10,20); message=“welcome back!”;Prblic void (3) () message=“Welcome!”;Private (4) message;HTML文檔htmlHTML Test HelloApplet Page Test HelloApplet 小程序br試題七(15分,每空3分) 閱讀以下說(shuō)明及Visral Basic 程序代碼,將應(yīng)填入(n)處的字句寫(xiě)在答題紙

14、的對(duì)應(yīng)欄內(nèi)。說(shuō)明 某個(gè)文本件中存放了若干個(gè)非零數(shù)值有效數(shù)據(jù),每個(gè)數(shù)據(jù)占一行,最后一行以數(shù)字“0”作為結(jié)束標(biāo)志。下面的程序用于計(jì)算該文件中管些數(shù)據(jù)之和,其運(yùn)行窗口如下: 用戶只要通過(guò)驅(qū)動(dòng)器列表框、目錄列表框和文件列表框,選擇文本文件所在的驅(qū)動(dòng)器、文件夾及相應(yīng)的文件名,再單擊“累計(jì)”按鈕,就能在“總計(jì)”文本框中看到該文本文件中的數(shù)據(jù)之和。 在開(kāi)發(fā)過(guò)程中,設(shè)驅(qū)動(dòng)器列表框名為Drivdl,目錄列表框名為Dirl,文件列表框名為Filel,存放數(shù)據(jù)的文本文件名為D:/text/vb7/data.txt,“累計(jì)”按鈕名為sum,“總計(jì)”文本框(TextBox)名為textl。Visral Basic 代碼

15、Private Sub Drivel_Change() Dirl.Path=(1) 用戶選擇的驅(qū)動(dòng)器反映到目錄列表框中End SubPrivate Sub Dirl_Change()Filel.Path=(2) 用戶選擇的文件改變文件列表框內(nèi)容End SubPrivate Sub sum_Click() Dim (3) As New FileSystemobject, (4) As TextStream創(chuàng)建自己的文件系統(tǒng)對(duì)象,說(shuō)明自己的文本流對(duì)象If Right(Dirl.Path,1)=”Then SetmyTextFile=fso.OpenTextFile(Dirl.Path+Filel.

16、FileName)Else Set myTextFile=fso.OpenTextFile(Dirl.Path+”+Filel.FileName)End IfS=0Do d=Val(myTexFile.ReadRow)S=S+dLoop While (5) Textl.Text=Str$(S)End Sub試題八(15分,每空3分) 閱讀以下說(shuō)明和C+程序,將應(yīng)填入(n)處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。說(shuō)明 下面程序的功能是計(jì)算并輸出某年某月的天數(shù)。C+程序#includeusing namespace std;MonthJan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec;class Datepublic:Date(int year,Month m_month) =year; if(m_monthDec)month=Jan;else month=m_month;Date();bool IsLeapYear() return (year%4=0&year%100!=0|year%400=0);Int Caculat

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論