不插电的计算机科学
  • Introduction
  • 前言
  • 特别鸣谢
  • 第一部分 - 数据:最原始的材料
    • 活动1 - 计算“点”-二进制数
      • 素材:二进制数
      • 二进制数
      • 活动学习单1: 二进制数
      • 活动学习单2: 使用二进制表示数字
      • 活动学习单3: 传送秘密信息
      • 活动学习单4: 电子邮件与数据机
      • 活动学习单5: 数到31以上
      • 活动学习单6: 更多关于二进制数的知识
      • 这个活动在说什么?
      • 答案和提示
    • 活动2 - 用数字表示颜色 — 图像展示
      • 用数字表示颜色1
      • 用数字表示颜色2
      • 活动学习单1: 儿童传真
      • 活动学习单2.1: 做出自己的图片
      • 活动学习单2.2: 做出自己的图片
      • 这个活动在说什么?
      • 答案和提示
    • 活动3 - “你说什么?” - 文字压缩
      • “你说什么?”
      • 活动学习单1:“你说什么?”
      • 这个活动在说什么?
    • 活动4 - 翻转卡片魔术 - 错误的检测和修正
      • 魔术般的技巧
      • 一个现实的范例:书码与条码
      • 这个活动在说什么?
    • 活动5 - 二十个问题 - 信息理论
      • 二十个问题
      • 活动:二十个问题
      • 活动学习单1: 决策树
      • 这个活动在说什么?
      • 答案和提示
  • 第二部分 - 让计算机运行:算法
    • 活动6 - 海战棋:搜索算法
      • 海战棋活动 — 暖身
      • 线性搜索游戏
      • 二元搜索游戏
      • 哈希法搜索
      • 延伸活动
      • 这个活动在说什么?
    • 活动7 — 从最重到最轻:排序算法
      • 最重与最轻
      • 学习活动单:重量的排序
      • 学习活动单:分治法(Divide and Conquer)
      • 这个活动在说什么?
      • 答案和提示
    • 活动8 — 与时间赛跑:排序网络
      • 排序网络
      • 这个活动在说什么?
Powered by GitBook
On this page
  1. 第一部分 - 数据:最原始的材料
  2. 活动4 - 翻转卡片魔术 - 错误的检测和修正

一个现实的范例:书码与条码

Previous魔术般的技巧Next这个活动在说什么?

Last updated 7 years ago

这种检查技巧也同样被用于书码和条码。发行的书本会有一组10或13位的数字,通常会印在书背上。最后一位的数字就是检查码,就像活动练习中的同位卡片一样。

这表示如果你订购一本有使用ISBN(International Standard Book Number,国际标准书号)的书,网站能帮你检查书号有没有错误。只要看看同位检查码就好了,这样可以防止你拿错书。

这里是一组 10 个号码的书号的检查方式:第一位数字乘上十,第二位数字乘上九,第三位数字乘上八,以此类推,知道第九位数字乘上二。最后把所有的值相加。

例如:ISBN 为 0-13-911991-4 的书,它的计算值为:

(0 x 10)+(1 x 9)+(3 x 8)+(9 x 7)+(1 x 6)+(1 x 5)+(9 x 4)+(9 x 3)+(1 x 2)=172

然后把算出来的值除以11。余数是多少?

172 ÷ 11 = 15 余 7

如果余数为0,检查码就是0;如果不是的话,就用11剪掉余数,得到的值就是检查码。

11 - 7 = 4

看看,ISBN 的最后一位就是4,是吧?!

如果ISBN的最后一位不是4,那我们就知道发生了错误。

如果检查码是10的话呢?就变成两位数了,这种情况下,就会改为X来表示。

另外一个例子是食物包装的条码,它用的是不同的公式。如果条码读错了,它最后一位数和计算的值不同,那么扫描器会发生哔哔的声音,这样柜台服务员就会重新扫描条码。此外,检查码也使用在银行账号、身份证号码、税号、火车票号等。