地特四等申論題
111年
[資訊處理] 程式設計概要
第 一 題
針對以下 Java 程式,執行後輸出為何?(25 分)
public class Count {
public static int A(int x) {
if (x < 20) x = A(x+5) + B(x);
return x;
}
public static int B(int x) {
System.out.print("*");
return 3 * x;
}
public static int C(int x) {
System.out.print("*");
return 3 * A(x-3);
}
public static boolean D(boolean x, boolean y) {
return ((x || !y) || (x && y));
}
public static boolean E(boolean x, boolean y) {
return (!x && (x && y));
}
public static void main(String[] args) {
System.out.println(A(3)); // (I)
System.out.println(B(3)); // (II)
System.out.println(C(3)); // (III)
System.out.println(D(true, true)); // (IV)
System.out.println(E(true, false)); // (V)
}
}
📝 此題為申論題
思路引導 VIP
拿到程式追蹤題,應優先確認遞迴函式的終止條件(如 x < 20)及四則運算的執行順序(Java 規範由左至右評估)。同時,務必區分 System.out.print(不換行)與 println(輸出後換行),以正確重現最終的版面輸出格式。
🤖
AI 詳解
AI 專屬家教
【解題思路】運用逐步遞迴展開法與布林邏輯運算法則,依據 Java 由左至右的執行順序,依序追蹤主程式中每一個輸出指令。
【詳解】
一、追蹤 (I):System.out.println(A(3));
▼ 還有更多解析內容