Examly題庫
國中教甄|資訊科技資訊科技103 年第 30 題單選題

有兩個執行程序以多工排程的方法同時執行。兩個執行程序分享3個變數:a、flag[1]和flag[2]。其他變數則不共用。對第一個執行程序i=1,j=2。對第二個執行程序i=2,j=1。 a = 0; flag[i] = true; while flag[j] do no-op; a = a + i; flag[i] = false; 對於以上程式,那一個是不可能的結果?

Aa = 0正確答案
Ba = 1
Ca = 2
D程式無法停止
答案與詳解
A
正確答案
只要程式正常結束,最後執行的 a = a + i 必使 a 為 1 或 2,故 a = 0 為不可能之結果。

逐選項解析

Aa = 0✓ 正確
題目詢問不可能的結果。程式若正常結束,最後一個執行 a = a + i 的執行程序必會將 a 加上 1 或 2,因此 a 的最終值不可能為 0,符合題意。
Ba = 1✕ 錯誤
此選項描述的是可能發生的結果。若執行程序 2 先執行完畢,接著執行程序 1 執行 a = 0 後再執行 a = a + 1,最終 a 的值即為 1,與題目要求的不可能結果不符。
Ca = 2✕ 錯誤
D程式無法停止✕ 錯誤

立即註冊,看完整詳解

這題的完整詳解,註冊就能看 · 每天 2 題免費

精選詳解
  • 完整逐選項解析
  • 秒殺解題技巧與破題關鍵
  • 關鍵知識表整理
  • 陷阱與易錯提醒
  • 同考點歷屆題庫連續刷題與錯題本
接著練習整份考卷查看 103 年 國中教甄|資訊科技《資訊科技》完整試題與解答

資訊科技 相關題目

想練更多資訊科技考古題?

Examly 收錄 50 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

Examly