免費開始練習
高考申論題 112年 [電力工程] 計算機概論

第 一 題

📖 題組:
四、請回答以下問題:

C 程式
01 #include <stdio.h>
02 int main()
03 {
04   int i, j, n, order;
05   scanf("%d", &n);
06   order = 0 ;
07   for ( i = 0; i < n-1 ; i ++)
08     for ( j = i ; j < n-1 ; j++)
09       order = order + 1 ;
10   printf("%d ", order);
11 }
Python 程式
01 def aloha(k):
02   if(k >0):
03     rs=k+aloha(k-1)
04   else:
05     rs=0
06   return rs
07 
08 n=int(input())
09 
10 
11 a=[0 for i in range(n+1)]
12 
13 i = 0
14 while i < len(a):
15   a[i]=aloha(i)
16   i = i + 1
17 
18 print("theResults:")
19 print(a, end='\n')
📝 此題為申論題,共 2 小題

小題 (一)

若執行下列的C程式,且輸入整數10,則程式輸出的結果是什麼?說明其計算過程。(10分)

思路引導 VIP

這是一題雙層巢狀迴圈(Nested Loop)的執行次數追蹤題。首先,看懂變數與條件:n被輸入為10,所以迴圈條件 n-1 為 9。外層迴圈 i 從 0 跑到 8(i < 9);內層迴圈 j 從 i 跑到 8(j < 9)。因此,對於每個固定的 i,內層迴圈執行的次數為 9 - i。將所有的執行次數加總,就是變數 order 的最終值。計算:9 + 8 + 7 + ... + 1 = 45。

🤖
AI 詳解
AI 專屬家教

【考點分析】 本題測驗程式基礎邏輯、雙層巢狀迴圈(Nested Loops)的執行流程追蹤,以及等差級數總和的計算。 【分析與論述】

小題 (二)

如下列Python程式,其目的為何?如果執行該程式,並輸入整數6,則輸出的結果是什麼?寫出其詳細步驟。(15分)

思路引導 VIP

這題分為三個部份:回答程式目的、給出輸入6的結果、寫出詳細步驟。先分析程式:函式 aloha(k) 是一個遞迴函式,當 k>0 時返回 k + aloha(k-1),否則返回 0。這顯然是在計算從 1 加到 k 的總和(即前綴和/等差級數和)。主程式中宣告了一個長度為 n+1 的陣列/串列 a(初始全為0)。然後透過 while 迴圈,將 aloha(i) 的結果依序填入 a[i] 中。若輸入 n=6,陣列長度為 7,對應索引 0 到 6,分別存入 0, 1, 3, 6, 10, 15, 21。最後將字串和陣列印出。

🤖
AI 詳解
AI 專屬家教

【考點分析】 本題測驗遞迴函數(Recursive Function)的追蹤分析、Python 串列(List)初始化操作,以及迴圈對資料結構的賦值過程。 【分析與論述】

🏷️ 相關主題

程式碼追蹤與執行分析
查看更多「[電力工程] 計算機概論」的主題分類考古題