阿摩線上測驗
登入
首頁
>
程式設計
> 103年 - 103 地方政府特種考試_四等_資訊處理:程式設計概要#30783
103年 - 103 地方政府特種考試_四等_資訊處理:程式設計概要#30783
科目:
程式設計 |
年份:
103年 |
選擇題數:
0 |
申論題數:
14
試卷資訊
所屬科目:
程式設計
選擇題 (0)
申論題 (14)
一、請試述下列物件導向程式語言名詞之意義與特性:(每小題 5 分,共 25 分) 建構子(constructor)
朋友函式(friend function)(請試述下列物件導向程式語言名詞之意義與特性)
泛型類別(generic class)(請試述下列物件導向程式語言名詞之意義與特性)
抽象方法(abstract method)(請試述下列物件導向程式語言名詞之意義與特性)
純粹虛擬函式(pure virtual function)(請試述下列物件導向程式語言名詞之意義與特性)
二、請回答下列 C 語言程式問題:
請問下列函式,f1(0.5, 6.5)的輸出為何(該數字的精確度到小數點後第一位)?
(5 分)
double f1(double x, double y) {
int a=2, b=1, c=1;
x+=(a+b+c==2*b);
x-=a*b/x;
return (x+c);
}
請問下列函式,f2(0, 3)的輸出為何?(5 分)
int f2(int x, int y) {
if (x > 5) return (y+1);
else if (x > 3) return 3 + f2(x+1, y+1);
else return 1 + f2(x+1, y);
}
以下程式功能為:輸入的第一個參數為指定的進位制(base),B(2<=B<=9),
第二個參數為以 B 進位制表示的數字,N(0 < N < 10,000)。請將 N 經十進位制
轉換後輸出,例如將九進位的 1621 轉成十進位的 1234,我們有程式碼,如
printf("%d
", transformX10(9, 1621));其中會呼叫 transformX10(9, 1621)做進位制
(base)的轉換且其輸出為 1234。有關 transformX10 的程式如下,請填寫空格處。
(每一空格 5 分,共 15 分)
int transformX10(int base, int x) {
int ans=0, index=1;
while (x> (1) )
ans = (2) + index*(x%10);
index= (3) *base;
x = x/10;
}
return ans;
}
三、使用 C 或 Java 填寫空格處,以完成下列函式。
輸入 a, b, c 三個浮點數(實數),計算並回傳(b
2
- 4x a x c)的開根號之值,若(b
2
- 4 x a x c)
是負數,則回傳-1。(5 分)
double f1(double a,double b,double c){
if( (1) ) return -1;
else return sqrt((b*b)-(4*a*c));
}
輸入 a, b, c 三個浮點數(實數),利用上題的一個函式 f1,計算並回傳
F(x) = ax
2
+ bx + c 的兩個根。若有虛根,則回傳-999, -999;若為實根,則兩個
根分別為(-b+Q)/(2 x a)和(-b-Q)/(2 x a),Q 為(b
2
- 4 x a x c)的開根號之值。(10 分)
void f2(double a,double b, double c, double *ans1, double *ans2){
if( (1) -1){
(2) = -999;
(*ans2) = -999;
}
else{
(*ans1) = (-b+f1(a, b, c))/(2*a);
(*ans2) = (-b-f1(a, b, c))/(2*a);
}
}
利用上題的函式 f2,回答本題。本函式的第一個輸入為正整數 n,再輸入 n 組 (a, b, c)三個實數,每一組可以求得一個 F(x)的兩個根(如題(二)鎖定義),計算並回傳其中最大的實根。(10 分)
name 或 passwd 欄位沒有輸入值,則跳出 EMPTY 視窗訊息。(10 分)
passwd 欄位輸入值的長度小於 8,則跳出 passwd<8 視窗訊息。(5 分)
顯示兩個單選按鈕(radio button)。(10 分)