数据交换之加减法
2023-03-22曹晓敏
窗外月朗星稀,屋内灯光温暖,画面十分温馨。台灯下,岭童小子心無旁骛地写着作业,时不时地放下手中的笔思考片刻。星空待在一旁,静静地陪着岭童小子,想等他完成作业后深度切磋。
“嘀嗒嘀嗒”,时间一分一秒地过去。不多久,岭童小子站起身,伸伸懒腰,开心地说道:“大功告成!今天的学习任务完成了!”
说罢,他径直走向星空,边走边打起了星空的歪主意——今天的切磋,嘿嘿……想到这里,他的脸上不禁浮现一丝坏笑。
岭童小子将信将疑地盯着魔法棒。只见魔法棒一点,“叮—— 叮—— 叮—— ”数据发生变化。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。
如果两个变量中的数据需要交换,又不想引用其他的变量,那么可以直接将两个变量中的数值相加得到和,再分别减去相应变量里原有的数值,从而完成交换。这种数据交换的方法就是“加减法”。
在编程的时候,你们可以根据实际情况决定用哪种方法来进行数据交换,可以用冒泡法,也可以用加减法。
同学们,你们都看懂加减法了吗?能用加减法交换两个变量中的数据吗?扫描下方的小程序码,看看优秀的程序作品吧!
曹晓敏:湖南省特级教师,湖南省优秀科技辅导员,长沙市首批卓越教师,长沙市骨干教师,长沙市芙蓉区马坡岭小学信息技术教师。
(栏目编辑:阳丹彦)