跳至内容
Topos Uranos

摘要

本课研究有理数的小数写法。它说明商的各位数字来自竖式除法的余数,借助区间套和阿基米德性质定义无限小数的值,并证明刻画小数表示的三个定理:一个既约分数的小数表示是有限的,当且仅当它的分母除 22 和 55 外没有别的素因数;每个有理数的小数表示是有限的或循环的,循环节的长度小于分母;反过来,每个循环小数都代表一个有理数,其生成分数可由等比数列求和得到。由此推出 0.999… 与 11 相等、用非循环的小数表示刻画无理数,最后还有科学记数法、有效数字以及四舍五入所产生误差的界。

学习目标

  1. 用竖式除法求出分数的小数表示,并借助余数说明为什么每个数字都在 00 与 99 之间,以及为什么小数表示逼近该分数。
  2. 根据分母的素因数分解,判定一个分数的小数表示是有限的还是循环的,并给出其循环节长度的上界。
  3. 求出循环小数的生成分数,并严格论证 0.999… 与 11 相等这类等式。
  4. 用科学记数法书写数,把它们四舍五入到给定的有效数字位数,并给出所产生的绝对误差和相对误差的界。

竖式除法与小数位

在关于有理数的课中,我们研究了分数及其运算;在关于进位记数制的课中,研究了用数字书写自然数。小数表示把这两者结合起来:它借助 1010 的负整数次幂,把位值记法延伸到小数点的右边。于是,写作 0.375 的数按定义是十分之几、百分之几与千分之几的和:

310+7102+5103=375103=38\frac{3}{10} + \frac{7}{10^2} + \frac{5}{10^3} = \frac{375}{10^3} = \frac{3}{8}

一般地,有限小数由整数部分 NN 和有限个数字 c1,c2,…,cnc_1, c_2, \ldots, c_n 组成,每个数字都在 00 与 99 之间,它表示下面的数:

N+c110+c2102+⋯+cn10n=N+∑k=1nck10kN + \frac{c_1}{10} + \frac{c_2}{10^2} + \cdots + \frac{c_n}{10^n} = N + \sum_{k = 1}^{n} \frac{c_k}{10^k}

由于有理数的符号单独书写,只需研究正有理数。为求分子分母都是自然数的分数 pq\frac{p}{q} 的小数表示,要用竖式除法,它不过是反复进行的带余除法:先用 pp 除以 qq,得到整数部分 NN 和余数 r0r_0;然后每一步把上一个余数乘以 1010,再除以 qq。这次除法的商就是下一位数字,它的余数供下一步使用:

p=qN+r0,10rk−1=qck+rk,0≤rk<qp = qN + r_0, \qquad 10 r_{k - 1} = q c_k + r_k, \qquad 0 \le r_k < q
例题3 除以 7 的竖式除法

我们来计算 37\frac{3}{7} 的各位数字。每一步写出被除数(它是前一个余数的十倍)、所得的数字和新的余数。图中显示逐级进行的除法,上方是逐渐积累起来的数字。

证明

  1. 10⋅3=30=7⋅4+210 \cdot \dato{r0}{3} = 30 = 7 \cdot \resaltar{4} + \resaltar{2}

    由于 3<73 < 7,整数部分是 00,第一个余数就是分子本身,r0=3r_0 = 3。把余数乘以 1010,再除以 77:十分位上的数字是 44。

  2. 10⋅2=20=7⋅2+610 \cdot 2 = 20 = 7 \cdot \resaltar{2} + \resaltar{6}

    用余数 22 得到百分位上的数字。

  3. 10⋅6=60=7⋅8+410 \cdot 6 = 60 = 7 \cdot \resaltar{8} + \resaltar{4}

    用余数 66,得到千分位上的数字。

  4. 10⋅4=40=7⋅5+510 \cdot 4 = 40 = 7 \cdot \resaltar{5} + \resaltar{5}

    用余数 44,得到第四位数字。

  5. 10⋅5=50=7⋅7+110 \cdot 5 = 50 = 7 \cdot \resaltar{7} + \resaltar{1}

    用余数 55,得到第五位。

  6. 10⋅1=10=7⋅1+310 \cdot 1 = 10 = 7 \cdot \resaltar{1} + \resaltar{3}

    用余数 11,得到第六位;新的余数是 33,正是开始时的那个余数。

  7. 37=428571106+1106⋅37\frac{3}{7} = \frac{428571}{10^6} + \frac{1}{10^6} \cdot \resaltar{\frac{3}{7}}

    从这里起,除法一步一步地重复:剩下待除的部分,即 37\frac{3}{7} 乘以 1106\frac{1}{10^6},就是同一个商向右移了六位。这些数字构成一个无限重复的数字块。

因此,37\frac{3}{7} 的小数表示是 0.428571428571…,循环节为 428571。这个例子已经孕育了整节课的内容:数字来自余数,余数小于除数,一旦某个余数重复,其后的一切都随之重复。首先要确认的事实是:这样得到的数字确实是数字,而且它们能以任意精度逼近分数。

引理竖式除法的各位数字

设 pp 和 qq 为自然数,并设 NN、r0r_0 以及(对每个自然数 kk)ckc_k 和 rkr_k 是 pp 除以 qq 的竖式除法所给出的数。那么每个 ckc_k 都是一个数字,介于 00 与 99 之间,并且对任意自然数 nn,下面的等式成立,其中最后一个加项非负且小于 110n\frac{1}{10^n}。

pq=N+∑k=1nck10k+rnq⋅10n\frac{p}{q} = N + \sum_{k = 1}^{n} \frac{c_k}{10^k} + \frac{r_n}{q \cdot 10^n}

证明对 nn 用归纳法。图以 37\frac{3}{7} 为例配合论证:每一个新数字都从前一个区间的十个部分中选出一个,并把该区间放大以便看清。

证明

  1. qck≤10rk−1<10q→0≤ck≤9q c_k \le 10 r_{k - 1} < 10q \rightarrow 0 \le c_k \le 9

    每个 ckc_k 都是数字:由于前一个余数小于 qq,被除数 10rk−110 r_{k - 1} 小于 10q10q,因而商小于 1010。

  2. pq=N+r0q\dato{base}{\frac{p}{q} = N + \frac{r_0}{q}}

    当 n=0n = 0 时,没有数字,等式就是第一次带余除法两边同除以 qq。

  3. rnq⋅10n=10rnq⋅10n+1=qcn+1+rn+1q⋅10n+1=cn+110n+1+rn+1q⋅10n+1\dato{paso}{\frac{r_n}{q \cdot 10^n} = \frac{\resaltar{10 r_n}}{q \cdot 10^{n + 1}} = \frac{\resaltar{q c_{n + 1} + r_{n + 1}}}{q \cdot 10^{n + 1}} = \frac{c_{n + 1}}{10^{n + 1}} + \frac{r_{n + 1}}{q \cdot 10^{n + 1}}}

    归纳步:用下一次除法 10rn=qcn+1+rn+110 r_n = q c_{n + 1} + r_{n + 1} 改写最后一个加项,并把它拆成两个分数。

  4. pq=N+∑k=1n+1ck10k+rn+1q⋅10n+1\frac{p}{q} = N + \sum_{k = 1}^{n + 1} \frac{c_k}{10^k} + \frac{r_{n + 1}}{q \cdot 10^{n + 1}}

    代入 nn 阶的等式,就得到 n+1n + 1 阶的等式;由归纳法,等式对任意 nn 成立。

  5. 0≤pq−Tn=rnq⋅10n<110n0 \le \frac{p}{q} - T_n = \frac{\resaltar{r_n}}{q \cdot 10^n} < \frac{1}{10^n}

    由于 0≤rn<q0 \le r_n < q,最后一个加项非负且小于 110n\frac{1}{10^n}:分数与它的截断相距不到 110n\frac{1}{10^n},这里指 nn 阶截断,即数 TnT_n,它由整数部分和前 nn 位数字组成。

引理表明,pq\frac{p}{q} 位于以 TnT_n 为起点、长为 110n\frac{1}{10^n} 的区间中,包含左端点而不包含右端点;这些区间将在关于实数轴的课中详细研究,它们写成:

Tn=N+∑k=1nck10k,pq∈[Tn,Tn+110n)T_n = N + \sum_{k = 1}^{n} \frac{c_k}{10^k}, \qquad \frac{p}{q} \in \ico{T_n}{T_n + \frac{1}{10^n}}