lawpalyer logo

資訊處理 97 年程式語言概要考古題

民國 97 年(2008)資訊處理「程式語言概要」考試題目,共 8 題 | 資料來源:考選部

0 題選擇題 + 8 題申論題

指出下列Java 程式有語法錯誤的敘述列號與錯誤的原因。 刪除有語法錯誤敘述後,寫出執行程式所印出的結果。 列號 程式 1 class javaTest
{public static void main(String args[])
{int a = 2; int b = 3; int c = 5; int d = 11;
System.out.println( "r1 = " + (d - d / b * b));
System.out.println( "r2 = " + (a++ + ++b));
System.out.println( "r3 = " + (a < b < c));
System.out.println( "r4 = " + ('k' - 'a'));
System.out.println( "r5 = " + ((a == 3)? (b == 3)? a: (c == 5)? b: c : d)); 9 } 10 } (20 分) 二、填入下列Java 程式的空格(不可是常數),使該程式能夠印出陣列dset 中所有值 在0 至100 的數的平均值。(請在試卷上作答) 指出此程式在何種狀況下會產生嚴重錯誤。只能修改一個敘述,且不能新增敘述 或刪除原有敘述,使程式能克服該項錯誤。 class javaTest {public static void main(String args[]) {int dset[] = {90,30,-5,70,95,110,80}; int c = 0; int s = 0; for (int i = 0; i < (1) ; i++) {if (dset[i] <= 100 (2) dset[i] >= 0) {c++; s+= dset[i]; } } System.out.println( "Av = "+(s/c)); } } (20 分) 97 年公務人員特種考試警察人員考試及 97 年公務人員特種考試關務人員考試試題 等 別:四等考試 類 科:資訊處理 科 目:程式語言概要 全一張 (背面) 三、何謂資訊隱藏(Information hiding)? 試以建立堆疊(Stack)抽象資料結構為例,說明Java 或C++(任擇一種)資訊 隱藏之作法。 (20 分) 四、寫出執行下列C++程式所印出的結果: #include <iostream> using namespace std; int binsearch(int * dset, int ib, int ie, int data) {cout << "search: ib = " << ib << ", ie = " << ie << endl; int ii; if (ib > ie) {ii = -1; } else { ii = (ib + ie) / 2; if (dset[ii] > data) {ii = binsearch(dset, ib, ii-1, data); } else if (dset[ii] < data) { ii = binsearch(dset, ii+1, ie, data); }; }; cout <<"search ib = "<<ib<<", ie = "<<ie<<" return: "<<ii<<endl; return ii; } int main() {int dset[] = {1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33}; cout << "Final data 13 is at: " << binsearch(dset,0,15,13) << endl; cout << "Final data 20 is at: " << binsearch(dset,0,15,20) << endl; return 0; } (20 分) 五、如果希望執行下列C++程式印出的結果是: x = 3 y = 5 寫出爲何下列程式不能達到目的的理由。 只能修改一個敘述,且不能新增敘述或刪除原有敘述,使程式能印出正確的結果。 void swap(int a, int b) {int temp = a; a = b; b = temp; return; } int main() {int x = 5; int y = 3; swap(x,y); cout << "x = " << x << " y = " << y << endl; return 0; } (20 分)
(1)
(2) 20 分