




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、2005下半年程序員考試真題及答案試題一至試題三是必答題試題一(15分,每空3分)閱讀下列說明和流程圖,將應(yīng)填入 流程圖說明流程圖1-1描述了一個算法,該算法將給定的原字符串中的所有前導(dǎo)空白和尾部空白都刪除,但保留非空字符的空白。例如,原字符串"File Name ",處理變成"File Name"。流程圖1-2、流程圖1-3、流程圖1-4分別詳細描述了流程圖1-1中的框A、B假設(shè)原字符串中的各個字符依次存放在字符數(shù)組ch的各元素ch(1) 、ch(2)中,字符常量KB表示空白字符。流程圖1-1的處理過程是:先從頭開始找出該字符串中的第一個非空白字符 從
2、串尾開始向前找出位于最末位的非空白字符ch(j),然后將ch(i) 、?、ch(j)(n)_ 處的字句寫在答題紙的對應(yīng)欄內(nèi)。Co、?、ch(n)ch(i),再依次送入ch(1)、ch(2)、?中。如果字符串中沒有字符或全是空白字符,則輸出相應(yīng)的說明。在流程圖中,strlen 是取字符串長度函數(shù)。流程圖1-1C1Jch(k) 1jiYk-l問題在流程圖1-1中,判斷框P中的條件可表示為:i > (5).試題二(15,每空3分)閱讀以下函數(shù)說明和C語言函數(shù),將應(yīng)填入 (n)_ 處的字句寫在答題紙的對應(yīng)欄內(nèi)。說明函數(shù)int find_Max_Min(int a ,int n)的功能是:找出 n
3、個元素的數(shù)組 a中的最大元素和最小元素并輸出,返回查找過程中元素的比較次數(shù)。查找方法如下:比較a0和an-1, 若a0大,則交換a0和an-1的值;再比較a1和an-2,若a1大,則交換a1和an-2的值;依此類推,直到所有的元素都比較完。然后在數(shù)組的前半?yún)^(qū) 從前往后找出小元素,在后半?yún)^(qū)從后往前找出大元素。函數(shù)int fin d_Max_Mi n(i nt a ,i nt n) /*找出n個元素的數(shù)組a中的最大元素、最小元素并輸出,返回查找過程中元素的比較次數(shù)*/int i,Cou nt = 0;int temp. Max num,Minnum;/*元素比較次數(shù)計數(shù)*/for(i = 0; i
4、 < n/2; i+)Cou nt = Cou nt + 1;if(ai>a(1)/*數(shù)組元素交換代碼略*/Max num=a n-1;Mi nnu m=a0;for(i = 1; i < n/2+ n %2; i+)Count =(2);/*元素比較次數(shù)計數(shù)*/Minnum =? ai:Minnum;/* 找出最小元素 */Max num =(4)?(5):Max num; /* 找出最大元素 */ prin tf("Max=%dn,Max num"); prin tf("Mi n=%dn",Mi nn um); return Cou
5、 nt;試題三(15分,每空3分)閱讀以下說明和 C語言函數(shù),將應(yīng)填入 說明某種傳感器的輸出值 Ratio依賴于環(huán)境溫度 度值(ITEMS個),人們已經(jīng)測量得到了相應(yīng)的 線 Ration(temp)。(n)_ 處的字句寫在答題紙的對應(yīng)欄內(nèi)。temp(- 40CW tempW 50C)。對一組環(huán)境溫Ratio值(見表1)。該表粗略地描述了曲環(huán)境溫度temp傳感器的輸出值Ratio-40C0.20-20C0.60-10C0.800C1.0010C1.1730 C1.5050 C1.80表1曲線Ration(temp) 的列表值環(huán)境溫度temp校正系數(shù)K-40C5.00-39C4.55-38C4.1
6、7-37C3.85-20C1.67-19C1.61-10C1.25-9C1.2250 C0.56表2曲線K(temp)的列表值2中,各溫度值所對應(yīng)的K校正系數(shù)K是Ratio的倒數(shù),因此也依賴于環(huán)境溫度 temp。在數(shù)據(jù)處理中,人們需要 用更多的列表值細致地描述曲線K( temp ),如表2所示。在表值是對表1進行線性插值再求倒數(shù)得到的,具體的計算方法如下:1. 根據(jù)temp值,在表1中用二分法查找;K值;Tp 1,T p2,同時獲得了2. 若找到相應(yīng)的溫度值,則按相應(yīng)的Ratio值求倒數(shù)得到3. 若沒找到相應(yīng)的溫度值,則可確定temP所在的溫度區(qū)間相應(yīng)的Ratiol和Ratio2 ,再按如下公
7、式計算 K值:Ste P = (Ratiol - Ratio2)/(T p1 - Tp2)K = 1.0/(Ratio1 + Ste p * (te mp - Tp 1)在程序中,當temp高于50C或低于-40C時,設(shè)定 K=0b程序#in elude <stdio.h> typ edef structint Temp;/*環(huán)境溫度*/double Ratio;/*傳感器的輸出值*/CURVE;#define ITEMS 7double GetK(i nt,CURVE *,i nt);void mai n() int Degree;double k;CURVE CurveITEM
8、S = -40,0.2,-20,0.60,-10,0.8,0,1.0,10,1.17,30,1.50,50,1.8;printf("環(huán)境溫度校正系數(shù)n");for(Degree = -40;Degree <= 50; Degree+)k = GetK(Degree,Curve,ITEMS);prin tf("%3d %4.2fn",Degree,k);double GetK(i nt Temp ,CURVE *p ,i nt n)/*用二分法在n個元素的有序表p中查找與Temp對應(yīng)的傳感器輸出值*/int low,high,m;double Ste
9、p;low = 0;high = n-1;if (Te mp < p->Te mp 川(Te mp > (p+high)->Te mp)return 0.0;/*超出溫度范圍時返回0.0*/while (low <= high)m =(1);if (Te mp = (p+m)->Te mp)return(2);if (Te mp < (p+m)->Te mp) high = m-1;else low =(3);p += high; Ste p = (4)/(p+1)->Te mp - p->Te mp);return 1.0/( p-
10、>Ratio + Ste p * ();試題四至試題五選答 1道試題四(15分,每空3分)閱讀以下應(yīng)用說明以及用Visual Basic開發(fā)過程中進行的屬性設(shè)置和所編寫的程序代碼,將應(yīng)填入 (n) 處的字句寫在答題紙的對應(yīng)欄內(nèi)。應(yīng)用說明 啟動某應(yīng)用程序運行的登錄窗口如下:取消登錄窗口密碼fp)其中的標簽(Label1)"用戶名(U)"對應(yīng)文本框 Username ,標簽(Label2)"密碼(P) "對應(yīng)文本框"Password"。當用戶在 Username文本框中輸入用戶名 "ali88",在Passwor
11、d文本框中輸入"zmkm"(顯示的字符均為"*"),并單擊”確定"按鈕時,就會彈出應(yīng)用程序的 主窗口 frmAPP,而該登錄窗口就會卸載。如果用戶名或密碼輸入錯誤,則會彈出報警信息框。當用戶單擊其中的”確定”按鈕后,登錄窗口 "Password"文本框的內(nèi)容就會消失,光標停留在該框內(nèi),以便用戶重新輸入密碼,必要時用戶還可以再修改用戶名,再次做登錄嘗試。 本應(yīng)用程序允許發(fā)生 3次輸入錯誤。在第3次輸入錯誤后,就會立即退出該應(yīng)用程序。在彈出登錄窗口后,當按鍵 "Alt+U"時光標就會停留在 Use name文
12、本框中;當按鍵 "Alt+ P"時光標就會停留在 Password文本框中。當用戶按"Enter"鍵時,就相當于單擊” 確定”按鈕;當用戶按"Esc"鍵時,就相當于單擊”取消”按鈕,立即退出該應(yīng)用程序。屬性設(shè)置在開發(fā)過程中,部分控件及屬性設(shè)置如下:對象對象名屬性屬性值標簽Label2Cap ti on(1)文本框Usern ameText(空白)文本框PasswordText(空白)P assword*命令按鈕CmdOKCap ti on確定Default(2)命令按鈕CmdCa ncelCap ti on取消CancelTrue程序
13、代碼'靜態(tài)變量time的說明Private Sub cmdOK_Click()(3)As In tegerIf _ The nUnload Me(5)ElseMsgBox(" 用戶名密碼錯! Times = times+1 Password.Text = ""' 卸載本登錄窗口' 彈出應(yīng)用程序主窗口 frmAPP")Password.SetFocusIf times = 3 ThenEndEnd IfEnd SubPrivate Sub cmdCancel_Click() EndEnd Sub' 清除密碼框中的內(nèi)容'
14、; 將光標定位于密碼框試題五 (共 15 分)閱讀以下說明和 C 語言函數(shù), 說明 二叉排序樹或者是一棵空樹, 子樹上所有結(jié)點的值小于根結(jié)點的值; 根結(jié)點的值;左、右子樹本身就是兩棵二叉排序樹。函數(shù) insert_BST(char *dtr)的功能是:對給定的字符序列按照 ASCII 碼值大小關(guān)系創(chuàng)建二叉排序樹, 并返回指向樹根結(jié)點的指針。 序列中重復(fù)出現(xiàn)的字符只建一個結(jié)點, 并由 結(jié)點中的 Count 域?qū)ψ址闹貜?fù)次數(shù)進行計數(shù)。二叉排序樹的鏈表結(jié)點類型定義如下:typedef struct BSTNodechar Elem;int Count;struct BSTNode *Lch,*Rc
15、h; *BiTree; 函數(shù) BiTree insert_BST(char * str) BiTree root,parent,p;char (1);root = (BiTree)malloc(sizeof(struct BSTNode);if (!root | *s='0') return NULL;root->Lch = root->Rch = NULL;root->Count = 1;root->Elem = *s+;for(;*s != '0's+)(2);parent = NULL;while (p) 將應(yīng)填入 _(n)_ 處的
16、字句寫在答題紙的對應(yīng)欄內(nèi)。或者是具有如下性質(zhì)的二叉樹: 若它的左子樹非空, 則左 若它的右子樹非空, 則右子樹上所有結(jié)點的值均大于/* 結(jié)點的字符數(shù)據(jù) */* 記錄當前字符在序列中重復(fù)出現(xiàn)的次數(shù)/* 結(jié)點的左、右指針 */* 變量定義及初始化 */*/*p從樹根結(jié)點出發(fā)查找當前字符*s所在結(jié)點*/parent = p;/*若樹中已存在當前字符結(jié)點,則當前的字符計數(shù)值加if (*s = p->Elem)1*/*/if (*s > p->Elem) p = p->Rch; else p = p->Lch; /*while*/if (.若樹中不存在字符值為*s的結(jié)點,則
17、申請結(jié)點并插入樹中*/ p->Co un t+; break;else/*否則根據(jù)字符*s與結(jié)點*p中字符的關(guān)系,進入*p的左子樹或右子樹插入*/if (p->Elem > paren t->Elem)(4)else(5)= p;=P; return root;/*for*/從下列的3道試題(試題六至試題八)中任選1道解答。如果解答的試題數(shù)超過 1道,則題號小的1道解答有效。(共15分) 閱讀以下說明和 C+弋碼,將解答寫入答題紙的對應(yīng)欄內(nèi)。說明類Stock的定義中有三處錯誤,分別在代碼的第04、06、10行。請補齊下述代碼中的空缺1,修改錯誤并給處修改后該行的完整代碼
18、,最后完善程序運行后的輸出結(jié)果。C+代碼試題六P = (BiTree)malloc(sizeof(struct BSTNode);if 仲)return NULL;p->Lch = p->Rch = NULL;p->Co unt = 1;p->Elem = *s;01#in clude <iostream>02using n ames pace std;03class Stock04p rotected:05Stock()shares=0; share_val=0.0; Out put();06Stock(i nt n=0, double p r=3.5):
19、(1)07 :為n08share_val=pr;09Out pu t();初始化shares值/*根據(jù)當前字符與其父結(jié)點字符值的大小關(guān)系,將新結(jié)點作為左子樹或右子樹10;11void Stock();12void Outpu t()cout << shares <<':' << share_val << en dl;13public:14/成員函數(shù)15private:16/成員變量17int shares;18double share_val;19;2021void main() /構(gòu)造三個 Stock 對象 a,b,c22Sto
20、ck a(1);23Stock b;24Stock c = Stock();25/其他代碼省略,且代碼無輸出1程序運行后的輸出結(jié)果為:1:3.5(2)(3)(n).該圓形鐘面上有時針、分針和秒針在運動,不斷顯示系統(tǒng)的當前時間。在開發(fā)該喁喁時,首先建立一個圓形Sha pe控件作為鐘面(背景為白色)。設(shè)圓心為象素坐標(X0, 丫0),半徑為940。再在圓心處建立一個小的實心圓Shape控件作為軸心。鐘面上的刻度3,6,9, 12為四個標簽。時針、分針、秒針(紅色)為線型控件,名稱分別試題七(15分)閱讀以下應(yīng)用說明以及用Visual Basic編寫的程序代碼,將應(yīng)填入的字句寫在答題紙的對應(yīng)欄內(nèi)。應(yīng)
21、用說明為LineH、LineM、LineS,線寬屬性值分別為:900。這三個線型控件的起點坐標都固定在(X0,3,2,1,線長屬性值分別為 500,700,Y0)其終點坐標隨轉(zhuǎn)角0而動態(tài)變化:的二X0 Y1 二YQ)0.5秒,該定時設(shè)置定時器Timerl使該時鐘能反映系統(tǒng)的當前時間,其定時間隔為器的Interval屬性值應(yīng)設(shè)置為 。每隔0.5秒,秒針需要調(diào)整位置,但分針和時針只是在初始顯示時以及在每次秒計數(shù)為0時才需要調(diào)整位置(可節(jié)省計算量)。程序代碼Co nst Pi = 3.1416Const X0 = 1750Co nst Y0 = 1150Co nst LH = 500, LM = 7
22、00, LS = 900 P ublic first As Boolea n'秒針的起點位置Private Sub Form_Load()Li neS.X1 = X0Li neS.Y1 = Y0Lin eM.XI = X0'分針的起點位置Lin eM.YI = Y0Li neH.X1 = X0Li neH.Y1 = Y0first = TrueEnd SubPrivate Sub Timer1_Timer()S = Secon d(Time)S_seta = Pi * (2) '秒針的轉(zhuǎn)角Li neS.X2 = X0 + LS * Sin (S_seta)Li neS.
23、Y2 = Y0 -LS * Cos(S_seta)If () The nM = Min ute(Time)Li neM.X2 = X0 + LM * Si n(P i*M/30)Li neM.Y2 = Y0 - LM * Cos( Pi*M/30) H = Hour(Time)If (H >= 12) The n H = H -12 H_seta = Pi * ()Li neH.X2 = X0 + LH * Sin (H_seta)Li neH.Y2 = Y0 - Lh * Cos(H_seta)'時針的起點位置'秒針的終點位置'分針的終點位置'時針的轉(zhuǎn)角
24、'時針的終點位置(5).first =End IfEnd Sub試題八(共15分)閱讀以下說明和Java代碼,將解答寫入答題紙的對應(yīng)欄內(nèi)。說明已知類Stock和類JavaMain都定義在JavaMain.java 文件中,類 Stock的定義中有 四處錯誤,分別在代碼的第01、02、06、07行。請修改錯誤并給出修改后該行的完整代碼,并寫出改正錯誤后程序運行的輸出結(jié)果。Java代碼01P ublic class Stock02static 03shares = 0;04share_val = 0.0;0506private Stock()getData();07p rivate Sto
25、ck(i nt n, double pr=0)08shares = n;09share_val = pr;10getData();1112p bulic void getData()13System.out. prin t(shares + ":" + share_val + "");1415p rivate int shares;/非靜態(tài)變量16p rivate double share_val;/非靜態(tài)變量17;1819p ublic class JavaMa in20p ublic static void main( Stri ng args)21Stock a = new S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 煙草批發(fā)國際市場考核試卷
- 冶金設(shè)備能效監(jiān)測與評估技術(shù)考核試卷
- 生物藥品的基因治療與核酸藥物研發(fā)考核試卷
- 汽車燃油蒸氣排放控制系統(tǒng)檢修考核試卷
- 傳輸網(wǎng)絡(luò)的設(shè)計與優(yōu)化考核試卷
- 電視機定制化與個性化生產(chǎn)考核試卷
- 果酒行業(yè)波特五力分析
- 2025房屋租賃合同范本:租房協(xié)議書
- 2025大連市商品混凝土銷售合同協(xié)議書樣本
- 2025《測繪管理與法律法規(guī)》考前必練題庫500題(含真題、重點題)
- 山東濰坊2024年中考語文現(xiàn)代文閱讀真題
- 2024年02月天津2024年天津銀行總行投資銀行部社會招考筆試歷年參考題庫附帶答案詳解
- 文化背景與人格差異-深度研究
- DB11-T 1253-2022 地埋管地源熱泵系統(tǒng)工程技術(shù)規(guī)范
- 陜西2025年陜西機電職業(yè)技術(shù)學院招聘21人筆試歷年典型考點(頻考版試卷)附帶答案詳解
- 蘇教版六年級下數(shù)學全冊教學設(shè)計教案(帶板書設(shè)計教學反思全)5
- 2024年浙江省《輔警招聘考試必刷500題》考試題庫必背附答案
- DB32∕T 943-2006 道路聲屏障質(zhì)量檢驗評定
- 2025年浙江溫州市工業(yè)投資集團所屬溫州快鹿集團公司招聘筆試參考題庫附帶答案詳解
- 礦山勞務(wù)承包合同范本
- GB/T 21369-2024火力發(fā)電企業(yè)能源計量器具配備和管理要求
評論
0/150
提交評論