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