高普考題庫
107 年 107年公務人員高等考試三級考試暨普通考試

程式設計概要

本卷皆為申論題,點「看答案與解析」查看擬答。

申論 1請回答以下對C/C++程式語言的敘述正確與否?如果敘述是錯誤的,需說明正確敘述為何。(每小題3 分,共30 分)㈠程式執行的結果與預期的不同,這種錯誤稱為執行期錯誤(Runtime Error)。㈡屬自由格式(Free-Form)、隱含型別宣告(Implicit Type Declaration)程式語言。㈢switch 選擇結構中,default 敘述為選擇性,故可省略。㈣陣列(Array)無法存放一連串資料型別不同的相關資料。㈤當&&運算子中的只要有一個運算元為真時,則該運算式的結果為真。㈥可使用結構(Structure)陣列變數的名稱指向該陣列中的任一個資料。㈦程式在編譯階段即配置完成其所需記憶體的方式稱為動態記憶體配置(DynamicMemory Allocation)。㈧當不同的物件收到相同的訊息時,會以各自的方法作處理的特點稱為多載(Overloading)。㈨子類別將繼承自父類別的方法重新定義,而且不會影響到父類別的方法,這個特點稱為多載(Overloading)。㈩子類別可多重繼承自父類別內所有的資料成員與成員函數。
申論 2請問以下程式輸出的結果為何?(10 分)#include <iostream>#include <cstdlib>using namespace std;int main(void){int i=0, sum=0;while(i < 21) {if(i % 3 != 0) {i++;continue;}sum += i++;}cout<< "i=" <<i<< ", SUM=" << sum <<endl;return 0;}(請接第二頁)第二頁類科: 資訊處理科目: 程式設計概要
申論 3請問以下程式輸出的結果為何?(10 分)#include <iostream>#include <cstdlib>using namespace std;void fun1(int, int);void fun2(int *, int *);void fun3(int *, int, int);int main(void){int a[]={1, 2, 3, 4, 5}, i;fun1(a[1], a[3]);fun2(a, a+2);fun3(a, 5, 0);cout<< "執行所有函數後,陣列的內容為:" << endl;for(i=0; i<5; i++)cout<< “a[” << i << “]=” << a[i] <<endl;return 0;}void fun1(int x, int y){int tmp;tmp=y;y=x;x=tmp;}void fun2(int *x, int *y){int tmp;tmp=*y;*y=*x;*x=tmp;}void fun3(int *ptr, int n, int num){*(ptr+n-1) = num;}
申論 4以下是一個完整的Python 程式,請問執行後的結果為何?(10 分)for i in range(1, 7): #產生一個1,2,3,4,5,6 的整數序列for j in range(i, 1, -1): #-1 表示階值(step value)print(" ", end="")for j in range(1, 7-i+1):print(j, end="")print()(請接第三頁)第三頁類科: 資訊處理科目: 程式設計概要
申論 5撰寫一個完整的 C/C++、Java 或Python 程式,讓使用者輸入姓名(name)、小考成績(quiz)、期中考成績(midterm)與期末考成績(final)後,將這三個成績傳入呼叫函數calScore(),該函數需傳回所計算後的學期成績;程式再將學期成績傳入呼叫函數calGrade(),該函數需傳回成績等第結果;最後程式需從螢幕顯示出使用者所輸入的姓名、學期成績與成績等第結果。程式顯示結果後,需再詢問使用者是否繼續輸入,當使用者輸入’Y’或’y’時則繼續輸入,否則結束離開程式。(20 分)學期成績計算公式為:小考成績*0.15+期中考成績*0.35+期末考成績*0.5成績等第標準如下:學期成績 成績等第學期成績≧90 A89≧學期成績≧80 B79≧學期成績≧70 C69≧學期成績≧60 D學期成績≦59 F
申論 6撰寫一個完整的C/C++、Java 或Python 程式,以物件導向方式設計一個名為transcript的類別,此類別包括以下屬性與方法:(20 分)¾ name 代表姓名的私有(private)字串資料項目¾ quiz 代表小考成績的私有數值資料項目¾ midterm 代表期中考成績的私有數值資料項目¾ final 代表期末考成績的私有數值資料項目¾ 建構函數可將新建立物件之姓名作初始化¾ 設計calScore()公有方法計算學期成績(score)的私有數值資料項目¾ 設計calGrade()公有方法計算成績等第(grade)的私有字元資料項目¾ 設計printReport()方法從螢幕顯示出學生姓名、學期成績與成績等第結果¾ 學期成績計算公式與成績等第標準同第五題程式需設計迴圈讓使用者輸入資料以驗證程式的正確性,直到使用者輸入’n’或’N’時結束程式。