lawpalyer logo

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

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

0 題選擇題 + 6 題申論題

下列是一個指定語句(assignment statement)之語法 <assign> Æ <id> = <expr> <id> Æ X|Y|Z <expr> Æ <expr> + <id> | <expr> * <id> | (<expr>) |<id> 給予一個語句(statement)X = ( (X*Y) + Z ) * X,試繪出其 剖析樹(parse tree)。(10 分) 最右邊推導(rightmost derivation)。(10 分)
程式語言中,C++ 之指標(pointer)與 Java 之參考變數(reference variable)有何 差異?試說明之。(15 分)
給予下列 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 分)
請試述下列名詞之意涵:(每小題5 分,共20 分) 摘要類別(abstract class) 屬性語法(attribute grammar) 自由聯盟(free union) 鋸齒狀陣列(jagged array)
程式語言中常用到移位減少演算法(shift-reduce algorithm),或稱移位減少解析器 (shift-reduce parser),試說明它如何運作。(15 分)
摘要資料類型(Abstract Data Type, ADT)是物件導向語言之重要元件,試說明 Abstract Data Type。(10 分) Java 與 C++ 在Abstract Data Type 的支援上類似,但還是有幾個重要之不同點, 試說明這些不同點。(10 分)