


窗外月朗星稀,屋內燈光溫暖,畫面十分溫馨。臺燈下,嶺童小子心無旁騖地寫著作業,時不時地放下手中的筆思考片刻。星空待在一旁,靜靜地陪著嶺童小子,想等他完成作業后深度切磋。
“嘀嗒嘀嗒”,時間一分一秒地過去。不多久,嶺童小子站起身,伸伸懶腰,開心地說道:“大功告成!今天的學習任務完成了!”
說罷,他徑直走向星空,邊走邊打起了星空的歪主意——今天的切磋,嘿嘿……想到這里,他的臉上不禁浮現一絲壞笑。
嶺童小子將信將疑地盯著魔法棒。只見魔法棒一點,“叮—— 叮—— 叮—— ”數據發生變化。A變量中的數據由100變成109,接著B變量中的數據由9變成100,最后A變量中的數據變成了9,三步就完成了數據交換。
“啊,這是怎么回事啊?沒有借助第三個變量,怎么也可以進行數據交換?”嶺童小子眉頭緊鎖,非得弄明白不可,“曉敏老師,快來告訴我答案!”
曉敏老師:
哈哈,我來了!交換兩個變量中的數據,除了利用上一期說到的冒泡法,還有一種方法,那就是加減法。
第一步,把A變量與B變量里的數值相加,放到A變量里,此時A變量中存放的是兩者之和,數值變成了109,即:100+9=109。代碼見圖1。
第二步,把A變量中的兩者之和減去B變量里原有的數值,得到A變量里原有的數值,再放到B變量里,這時B變量中的數值變成了100,即109-9=100,交換完成。代碼見圖2。
第三步,把A變量中的兩者之和減去現在B變量中的數值,再次放到A變量中,A變量中的數值變成9,即109-100=9,交換完成。代碼見圖3。
如果兩個變量中的數據需要交換,又不想引用其他的變量,那么可以直接將兩個變量中的數值相加得到和,再分別減去相應變量里原有的數值,從而完成交換。這種數據交換的方法就是“加減法”。
在編程的時候,你們可以根據實際情況決定用哪種方法來進行數據交換,可以用冒泡法,也可以用加減法。
同學們,你們都看懂加減法了嗎?能用加減法交換兩個變量中的數據嗎?掃描下方的小程序碼,看看優秀的程序作品吧!
曹曉敏:湖南省特級教師,湖南省優秀科技輔導員,長沙市首批卓越教師,長沙市骨干教師,長沙市芙蓉區馬坡嶺小學信息技術教師。
(欄目編輯:陽丹彥)