欢迎来到算术运算!
你好!今天,我们将探讨计算机是如何处理数学运算的。你可能会想:“我已经会做数学题了!”没错,你是对的——但计算机拥有一些特殊的数字处理方式,能让程序设计变得更强大。无论你是在制作一个简单的计算器,还是一个大型电子游戏,这些算术运算都是你每天都会用到的基础。如果像“模运算 (modulo)”这样的术语刚开始听起来很陌生,别担心;看完这些笔记,你就能像专业人士一样熟练运用它们了!
1. 基础运算:加法、减法与乘法
程序设计中的大多数数学运算与你在学校学到的完全一样。不过,我们会使用特定的符号(称为运算符 (operators))来告诉计算机该做什么。
加法 (+) 与减法 (-)
这些运算的运作方式完全符合你的预期。你可以进行整数 (integers) 或小数 (实数/real numbers) 的加减运算。
示例:\( 5 + 3 = 8 \) 或 \( 10.5 - 2.5 = 8.0 \)
乘法 (*)
在程序设计中,我们不使用“x”来表示乘法,因为计算机可能会把它当成字母。相反,我们使用星号符号 (\( * \))。
示例:\( 4 * 3 = 12 \)
快速回顾:
+ 代表加法
- 代表减法
* 代表乘法
2. 三种除法方式
这是计算机科学最有趣的地方!在 AQA 课程大纲中,你需要掌握三种不同的除法。根据你想要的运算结果,你需要选择不同的运算符。
实数除法 (Real Division, /)
这是“一般”的除法。它会给你完整的答案,包括小数点。我们使用正斜线符号。
示例:\( 11 / 2 = 5.5 \)
整数除法 (Integer Division, DIV)
有时候,你只需要知道一个数里面包含多少个完整的另一个数。整数除法(通常写作 DIV)会完全忽略余数和小数部分。它实际上会将结果“向下取整”至最接近的整数。
示例:\( 11 \text{ DIV } 2 = 5 \)
余数运算或模运算 (Remainder / Modulo, MOD)
如果你只关心剩下多少怎么办?模运算(通常写作 MOD,在某些语言中由 \( % \) 符号表示)只会给你除法后的余数。
示例:\( 11 \text{ MOD } 2 = 1 \) (因为 11 除以 2 商为 5,余数为 1)。
重点总结:实数除法得到“精确”答案,DIV 得到整数部分,而 MOD 得到余数部分。
3. 比萨类比(理解 DIV 与 MOD)
如果你觉得 DIV 和 MOD 很混淆,想想比萨派对吧!
想象你有 11 片比萨和 2 位非常饥饿的朋友。你想公平起见,给每个人相同数量的完整比萨片。
1. DIV:每个人能得到多少完整比萨片?他们每人得到 5 片完整比萨。\( 11 \text{ DIV } 2 = 5 \)。
2. MOD:分给每个人 5 片后,盒子里还剩几片?还剩 1 片。\( 11 \text{ MOD } 2 = 1 \)。
3. 实数除法 (/):如果你是完美主义者,把最后一片切成两半,让每个人拿到的总量完全一样?每个人会得到 5.5 片。\( 11 / 2 = 5.5 \)。
4. 逐步教学:如何计算 DIV 与 MOD
当你遇到像 \( 17 \text{ DIV } 3 \) 和 \( 17 \text{ MOD } 3 \) 这样的问题时,请按照以下步骤操作:
1. 第一步:在心里或纸上做除法。3 进到 17 里面几次而不超过它?(3, 6, 9, 12, 15... 再来 18 就超过了!)
2. 第二步:答案是 5。所以,\( 17 \text{ DIV } 3 = 5 \)。
3. 第三步:将你的答案乘回去:\( 5 * 3 = 15 \)。
4. 第四步:找出你的目标数字 (17) 和该数字 (15) 之间的差额。\( 17 - 15 = 2 \)。
5. 第五步:这个差额就是你的余数。所以,\( 17 \text{ MOD } 3 = 2 \)。
你知道吗?
程序员经常使用 MOD 来检查一个数字是奇数还是偶数。如果 \( \text{Number MOD } 2 \) 等于 0,那么该数就是偶数。如果等于 1,该数就是奇数!
5. 应避免的常见错误
1. 混淆 / 与 DIV:
记住,/ 用于小数(实数除法),而 DIV 仅用于整数。如果考题要求“真实/实数 (real)”结果,请务必使用正斜线!
2. 忘记余数:
在 DIV 中,我们不会四舍五入。即使答案是 5.999,\( \text{Integer Division} \) 的结果依然是 5,因为它只计算已完成的完整组别。
总结检查清单
在继续学习之前,请确保你能回答以下问题:
- 我能认出加法、减法和乘法的符号吗?(+, -, *)
- 我知道实数除法 (/) 包含小数吗?
- 我能解释整数除法 (DIV) 只给出整数部分吗?
- 我能解释余数/模运算 (MOD) 只给出余数部分吗?
- 我能计算简单数字的 DIV 和 MOD 吗?
如果刚开始觉得这些有点棘手,别担心!只要你多练习使用这些运算符编写小程序,你会发现它们越来越顺手。祝你编程愉快!