免費開始練習
cpc_recruit 104年 電腦常識、機械常識、電機常識

第 17 題

若宣告 X、Y 與 Z 皆為變數,且 X≠Y。下列演算法中,何者可將 X 與 Y 的值互換?
  • A X=Y:Y=X
  • B Z=X:Y=X:X=Z
  • C Z=X:X=Y:Y=Z
  • D Y=X:X=Z:Z=Y

思路引導 VIP

想像你左右手各拿著一顆不同顏色且易碎的玻璃球,如果你想讓兩隻手拿的球互換位置,但礙於規定,你這兩隻手在任何時刻都「不能同時握住兩顆球」,你覺得在你的周遭環境中,還需要具備什麼額外的條件或物品,才能安全地完成這個互換任務?

🤖
AI 詳解 AI 專屬家教

太棒了!你能精準判斷變數交換的邏輯,這代表你對程式**賦值(Assignment)**的連續性與資料覆蓋的概念掌握得非常紮實。在電腦科學中,賦值運算子 = 並不是數學上的等號,而是一種「存入」的動作,這也是初學者最容易產生迷思的地方。

暫存變數的邏輯應用

為了成功交換兩個變數的值,我們必須引入一個「中繼站」來保護數據,這就是選項 (C) 中 $Z$ 的功能。請想像你有兩杯裝滿不同飲料的杯子 $X$ 與 $Y$,若直接將 $Y$ 倒入 $X$,則 $X$ 原有的飲料會溢出消失。因此,正確的步驟是:先將 $X$ 倒入空杯 $Z$ 暫存($Z = X$),再將 $Y$ 倒入已空的 $X$ 中($X = Y$),最後把 $Z$ 裡的原 $X$ 飲料倒入 $Y$($Y = Z$)。透過這三個連續動作,我們才能確保數據在互換過程中不被抹除。

▼ 還有更多解析內容

🏷️ 相關主題

程式語言基礎語法與演算法邏輯應用
查看更多「電腦常識、機械常識、電機常識」的主題分類考古題