資訊處理 106 年程式語言概要考古題(共 6 題) 資料來源:考選部歷屆試題|法律人 LawPlayer 整理 https://lawplayer.com/exam/information-processing/106-%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80%E6%A6%82%E8%A6%81 第 1 題 下列是一個指定語句(assignment statement)之語法 Æ = Æ X|Y|Z Æ + | * | () | 給予一個語句(statement)X = ( (X*Y) + Z ) * X,試繪出其 ㈠剖析樹(parse tree)。(10 分) ㈡最右邊推導(rightmost derivation)。(10 分) 第 2 題 程式語言中,C++ 之指標(pointer)與 Java 之參考變數(reference variable)有何 差異?試說明之。(15 分) 第 3 題 給予下列 C 程式 int calculate (int *j) { *j += 5 return *j; } void main( ) { int y = 3; y = y + calculate (&y) } 請求出 main ( ) 中語句 y = y + calculate (&y) 執行完後之 y 值。 ㈠運算元(operand)從左到右評估。(5 分) ㈡運算元(operand)從右到左評估。(5 分) 第 4 題 請試述下列名詞之意涵:(每小題5 分,共20 分) ㈠摘要類別(abstract class) ㈡屬性語法(attribute grammar) ㈢自由聯盟(free union) ㈣鋸齒狀陣列(jagged array) 第 5 題 程式語言中常用到移位減少演算法(shift-reduce algorithm),或稱移位減少解析器 (shift-reduce parser),試說明它如何運作。(15 分) 第 6 題 ㈠摘要資料類型(Abstract Data Type, ADT)是物件導向語言之重要元件,試說明 Abstract Data Type。(10 分) ㈡Java 與 C++ 在Abstract Data Type 的支援上類似,但還是有幾個重要之不同點, 試說明這些不同點。(10 分) 題目為考試當年公告版本,實務標準請以現行規範為準。