lawpalyer logo

資訊處理 112 年程式語言考古題

民國 112 年(2023)資訊處理「程式語言」考試題目,共 3 題 | 資料來源:考選部

0 題選擇題 + 3 題申論題

請依據以下Python 程式碼回答以下問題:(25 分) ⑴請說明費氏數列函式fib 的輸入參數與回傳結果。 ⑵請說明第6 行輸出結果並加以說明。 ⑶請說明第7 行輸出結果並加以說明。 1
def fib(n): if(n==0): return 0 elif(n==1): return 1 else: return fib(n-1) + fib(n-2) print("fib(1) = ", fib(1)) print("fib(5) = ", fib(5)) 二、請說明下列氣泡排序法,並回答以下Python 程式碼之輸出結果。(25 分) 1 2 3 4 5 6 7
(1)
(1)
(5)
(5) 25 分
9 10 11 12 data = [36, 22, 57, 9, 31, 42, 7, 15] print('before sorting: ',data) def Sort(data): n = len(data) while n > 1: n-=1 for i in range(n): if data[i] > data[i+1]: data[i], data[i+1] = data[i+1], data[i] print('第',8-n,'輪排序: ',data) return data print('after sorting: ',Sort(data)) 三、請試述下列名詞之意涵:封裝(Encapsulation)、繼承(Inheritance)、 多型(Polymorphism)、SQL 隱碼攻擊(SQLInjection Attack)、預存程序 (Stored Procedure)。(25 分) 四、請依據以下C 程式碼回答問題,列出輸出結果並加以說明。(25 分) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <stdio.h> int main( ) { int i,arr[10]; int *Pointer; for(i = 0; i<= 9; i++) arr[i] = (i+1)*10-i; Pointer = arr; printf("%d\n", *Pointer); printf ("%d\n", *Pointer++); printf("%d\n", *++Pointer); printf ("%d\n", (*Pointer)++); printf ("%d\n", *--Pointer); return 0; }