資訊處理 107 年程式設計概要考古題
題目為考試當年公告版本,實務標準請以現行規範為準。
假設已經將變數int nMonth 的值設定成介於1~12 間的整數,用來代表2018 年的某一 月份,亦即nMonth 為1 時,代表一月、nMonth 為2 時,代表二月…依此類推。請依 下列各子題要求分別撰寫出程式片段,在變數int nDays 中計算出nMonth 月的天數。 例如nMonth 是1 時,nDays 應該是31;nMonth 是2 時,nDays 應該是28。作答時可 以使用C/C++、Java 或C#其中任何一種語言作答,但必須註明所採用語言。 ㈠使用if…else if…else…。(10 分) ㈡使用陣列(array),且不使用if…else if…else…或switch。(15 分)
如果A, B 都是大小為M×N 的二維陣列,其元素資料型態均為double,且假設陣列A 已經有完整的資料。今欲依據A 求得B,使得B[i][j]成為在陣列A 中以A [i][j]為中心 的3×3 個數的平均值(當B[i][j]位於邊界時,仍是以A[i][j]為中心的3×3 個數的平均 值,惟超出陣列的部分皆以0 取代,即B[0][0], B[0][N - 1], B[M - 1][0], B[M - 1][N - 1] 是2×2 個數的平均值;B[0][j], B[M - 1][j]是2×3 個數的平均值, 0 < j < N – 1;B[i][0], B[i][N - 1]是3×2 個數的平均值, 0 < i < M – 1)。無論採用C/C++或Java 撰寫程式,都 可以用下列程式片段達成任務。請為每一空白處填入一運算式(Expression)完成該 程式片段。作答時須完整寫出此程式片段,並於填空處加底線標示,且不能更改此 程式片段。(25 分) B[0][0] = ; B[0][N - 1] = ; B[M - 1][0] = ; B[M - 1][N - 1] = ; for (int j = 1; ; j++) { B[0][j] = ; B[M - 1][j] = ; } for (int i = 1; ; i++) { B[i][0] = ; B[i][N - 1] = ; } for (int i = 1; ; i++) for (int j = 1; ; j++) B[i][j] = ; 107年公務人員特種考試關務人員、 身心障礙人員考試及107年國軍上校 以上軍官轉任公務人員考試試題 考試別: 身心障礙人員考試 等 別: 四等考試 類 科: 資訊處理 科 目: 程式設計概要
假設已經將某位考生的單一科目分數輸入到變數int nScore 中,並確定其值介於 0~100 之間。請依下列各子題要求分別撰寫出程式片段,將該分數轉換為等級char Grade,使得Grade 與nScore 之對應為:’A’:90~100、’B’:80~89、’C’:70~79、’D’: 60~69、’E’:0~59。作答時可以使用C/C++、Java 或C#其中任何一種語言作答,但 必須註明所採用語言。 ㈠使用if…else if…else if…。(10 分) ㈡使用switch,且case 標籤(label)須盡量精簡。(15 分)
假設已經將一個班級50 位同學的程式設計概要成績記錄在有50 個元素的int 陣列 nScores 中,且確定每個元素的值均介於0~100 之間。當要找出全班最高分(儲存於 nMax)及其在陣列的註標(index)(儲存於iMax),全班最低分(儲存於nMin)及 其在陣列的註標(儲存於iMin)(有多個最高分或最低分時,找出第一個即可);並 計算全班的總平均於Avg 時,無論使用C/C++、Java 或C#撰寫程式,都可以用下列 程式片段達成任務。請為每一空白處填入一運算式(Expression)完成該程式片段。 作答時須完整寫出此程式片段,並於填空處加底線標示,且不能更改此程式片段。(25 分) int nMax = ; int iMax = ; int nMin = ; int iMin = ; int nSum = ; double Avg; for (int i = 0; ; i++) { if ( ) { nMax = ; iMax = ; } if ( ) { nMin = ; iMin = ; } nSum += ; } Avg = ;
撰寫一個完整的C/C++、Java 或Python 程式,讓使用者輸入姓名(name)、小考成 績(quiz)、期中考成績(midterm)與期末考成績(final)後,將這三個成績傳入呼 叫函數calScore(),該函數需傳回所計算後的學期成績;程式再將學期成績傳入呼叫 函數calGrade(),該函數需傳回成績等第結果;最後程式需從螢幕顯示出使用者所輸 入的姓名、學期成績與成績等第結果。程式顯示結果後,需再詢問使用者是否繼續 輸入,當使用者輸入’Y’或’y’時則繼續輸入,否則結束離開程式。(20 分) 學期成績計算公式為:小考成績*0.15+期中考成績*0.35+期末考成績*0.5 成績等第標準如下: 學期成績 成績等第 學期成績≧90 A 89≧學期成績≧80 B 79≧學期成績≧70 C 69≧學期成績≧60 D 學期成績≦59 F
撰寫一個完整的C/C++、Java 或Python 程式,以物件導向方式設計一個名為transcript 的類別,此類別包括以下屬性與方法:(20 分) ¾ 的私有(private)字串資料項目 ¾ 成績的私有數值資料項目 ¾ 期中考成績的私有數值資料項目 ¾ 考成績的私有數值資料項目 ¾ 新建立物件之姓名作初始化 ¾ 公有方法計算學期成績(score)的私有數值資料項目 ¾ 設計cal ¾ 方法從螢幕顯示出學生姓名、學期成績與成績等第結果 ¾ 學期成績 程式需設計迴圈 結束