
112年公務人員特種考試關務人員、身心障礙人員考試及
112年國 軍 上 校 以 上軍 官 轉 任 公 務人 員 考 試 試 題
考 試 別
關務人員考試
等 別
四等考試
類 科
資訊處理
科 目
程式設計概要
考試時間:1小時 30 分 座號:
※注意:禁止使用電子計算器。
不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。
本科目除專門名詞或數理公式外,應使用本國文字作答。
代號
頁次
-
一、試回答下列有關程式設計領域的問題:(每小題 5分,共 20 分)
撰寫程式時皆要取變數名稱(variable name)與其資料型態(data type),
試問這兩項的用意為何?
程式敘述有時會以陣列(array)或串列(list)來表示,試問其功用為何?
物件導向程式設計中的多型(polymorphism)的功用為何?
何謂多載函式(overloading function)?
二、下列是 C程式語言所撰寫的兩數對調,它使用傳址呼叫來完成,試修正下
列程式錯誤的地方。程式在 main()函式中先輸入兩個整數,並印出對調前
的兩數,再呼叫 swap()對調函式,最後印出對調後的兩數。輸出結果如下:
(24 分)
Enter two numbers:100 200
a = 100, b = 200
a = 200, b = 100
/* 兩數對調程式 */
#include <stdio.h>
void swap(int , int);
int main()
{int a, b;
printf("enter two numbers:");
scanf("%d %d", a, b);
printf("a = %d, b = %dn", a, b);
swap(a, b);
printf("a = %d, b = %dn", a, b);
return 0;
}
 

代號:
頁次:
-
void swap(int x, int y)
{int temp;
temp = x;
x = y;
y = temp;
}
三、下列是以 Python 程式語言撰寫的片段程式,試回答每一小題的輸出結
果。每一小題是獨立運作的。注意,若迴圈無法停止,則以無窮迴圈作
答。(每小題 3分,共 30 分)
total = 0
for i in range(1, 100):
total += i
print('total =', total)
total = 0
i = 1
while i<=100:
total += i
i += 1
print('total =', total)
total = 0
i = 1
while i<=100:
i += 1
total += i
print('total =', total)
 

代號:
頁次:
-
total = 0
for i in range(2, 100, 2):
total += i
print('total =', total)
total = 0
i = 1
while i<=100:
total += 1
i += 1
print('total =', total)
total = 0
i = 1
while i<=100:
total += i
i += 2
print('total =', total)
total = 0
for i in range(100, 1, -1):
total += i
print('total =', total)
total = 0
i = 100
while i>0:
total += i
i-= 1
print('total =', total)
 

代號:
頁次:
-
下列的程式,若依序輸入的數值是 1、2、3、4、5、6
total = 0
i = 1
while i <= 5:
num = eval(input('Enter a number: '))
if num % 5 == 0:
break
else:total += num
i += 1
print('total =', total)
下列的程式,若依序輸入的數值是 1、2、3、4、5、6
total = 0
i = 1
while i <= 5:
num = eval(input('Enter a number: '))
if num % 5 == 0:
continue
else:total += num
i += 1
print('total =', total)
四、利用 Python、C、C++、Java、C#五種程式語言的任一種程式語言,撰寫
一程式用以模擬大樂透的電腦選號(6個介於 1到49 之間不同的號碼)。
輸出時要由小至大排列。(26 分)