跳到主要内容

1.2 数据的计算

知识点​

1.什么是"计算"​

广义的计算:根据已知数据,按照一定规则,求出结果的过程。它不是"算术"的同义词——排序、查找、判断、统计、加密,都是计算。

计算的三要素:

  1. 数据(输入);
  2. 规则/方法(怎么算,即算法);
  3. 结果(输出)。

同一组数据,方法不同,结果与效率可能不同——这正是本单元后续要学"算法"的原因。

2.三种计算方式对比(本小节核心表)​

方式工具优点缺点适用场景
人工计算纸笔、心算灵活、无需设备、能处理模糊判断速度慢、易出错、难以重复、数据量大时不可行数据量小、临时的简单计算
借助工具计算计算器、电子表格、统计软件比人工快得多、有现成函数、结果直观需人工操作每一步、规则变化时要重新设置、处理超大数据吃力中小规模数据处理、报表统计
程序自动计算编程语言(Python 等)速度极快、可批量、可重复、规则可复用、能处理海量数据需要会编程、前期投入大、调试成本高大规模、重复性、规则明确的计算

结论(答题落点):随着数据量增大、规则变复杂、需要重复执行,计算方式必然从"人工"走向"工具"再走向"程序"——这就是"数据与计算"的演进逻辑。

一句话记忆:人算不如表算,表算不如程序算;但程序要先"人想清楚"。

3.借助工具计算:电子表格的公式与函数​

电子表格(Excel/WPS 表格)是最常用的"工具计算"载体,其核心是公式与函数。

(1)公式的三条铁律​

  1. 必须以等号 = 开头,否则会被当成文本;
  2. 公式中引用单元格地址(如 A1、B2:C10),而不是直接写数字——源数据一变,结果自动更新;
  3. 运算符号用 + - * / ^,括号用英文半角圆括号 ( ),可多层嵌套。

(2)常用函数(必背)​

函数作用示例说明
SUM求和=SUM(B2:B41)统计总分、总销量
AVERAGE求平均值=AVERAGE(B2:B41)注意与"总分÷人数"一致
MAX / MIN求最大/最小值=MAX(B2:B41)找最高分、最低分
COUNT统计数值单元格个数=COUNT(B2:B41)只数数字,不数文本
COUNTA统计非空单元格个数=COUNTA(A2:A41)数"有多少人"更合适
COUNTIF按条件计数=COUNTIF(C2:C41,">=90")统计 90 分以上人数
SUMIF按条件求和=SUMIF(A2:A41,"一班",B2:B41)统计一班总分
IF条件判断=IF(B2>=60,"及格","不及格")三个参数:条件、真值、假值
RANK排名=RANK(B2,$B$2:$B$41)注意区域要用绝对引用

记忆要点:COUNT 数"数字",COUNTA 数"非空"——这是最容易错的一对。

(3)相对引用与绝对引用(高频考点)​

引用形式写法填充公式时的行为用途
相对引用A1行列随位置自动偏移逐行逐列复制公式
绝对引用$A$1行列都固定不变引用固定区域(如排名区域、税率单元格)
混合引用$A1(列固定)或 A$1(行固定)只固定一部分九九乘法表、二维表填充

判断技巧:看 $ 号——$ 在谁前面就锁住谁;两个 $ 全锁,没有 $ 全动。

典型错误:用 RANK 排序后下拉,区域跟着下移,导致排名全错——必须写成 $B$2:$B$41。

(4)其他常用操作​

  • 填充柄(单元格右下角小黑方块):拖拽复制公式或序列(如 1、2、3 或 星期一至星期日);
  • 排序与筛选:按某列升/降序排列,或按条件显示部分记录;
  • 分类汇总:先按分类字段排序,再汇总(求和、计数、平均);
  • 数据透视表:多维交叉统计,快速完成"按班级×科目"的汇总;
  • 图表:选中数据区域后插入柱形图、折线图、饼图(图表选用见 1.1 第 8 点)。

4.程序自动计算:计算机为什么"算得快"​

计算机的计算特点(四条):

特点说明注意
运算速度极快每秒可完成上亿次乃至更高的运算人无法比拟
计算精度高可处理很长位数的数值但浮点数存在误差(见下)
可存储与记忆数据与中间结果放在内存/外存中断电后内存数据丢失
可自动连续执行按程序不知疲倦地重复,不会"走神"前提是程序正确

必须知道的一个"反常识":计算机并不是绝对精确的。

print(0.1 + 0.2) # 输出 0.30000000000000004
print(0.1 + 0.2 == 0.3) # 输出 False

原因:计算机用二进制浮点数存储小数,很多十进制小数(如 0.1)无法用有限位二进制精确表示,只能近似。这叫浮点误差。

应对办法:

  1. 判断两个浮点数是否相等时,用差值小于一个很小的数来判断,如 abs(a - b) < 1e-9;
  2. 涉及金额等需要精确的场合,先换算成整数(分)再算,或用 decimal 模块;
  3. 输出时用 round(x, 2) 控制显示位数(注意:只是显示,不改变存储值)。

5.用计算机解决问题的一般过程(四步,必背)​

① 分析问题 → ② 设计算法 → ③ 编写程序 → ④ 调试运行
步骤做什么关键动作
① 分析问题明确已知什么、要求什么、有什么约束弄清输入与输出,界定问题边界
② 设计算法设计解决问题的步骤与方法用自然语言、流程图或伪代码描述;考虑是否可行、是否高效
③ 编写程序用程序设计语言把算法翻译成代码选择合适的数据类型与控制结构
④ 调试运行运行、发现错误、修改、验证结果用测试数据(含边界值)验证;出错看错误提示

常见误区(务必强调):

  • 跳过①②直接写代码——写到一半发现思路不通,返工;
  • 只测"正常数据"——不测 0、负数、空值、极大值等边界情况;
  • 把"运行通过"当成"结果正确"——程序可能算错但不报错。

四步与后续单元的对应:②设计算法 → 第 4 单元;③编写程序 → 第 2 单元(Python)。

6.计算思维(本单元的思想落点)​

定义:计算思维是运用计算机科学的基本概念与方法,去求解问题、设计系统和理解人类行为的思维活动。

四个要素(常考):

要素含义举例
抽象(Abstraction)忽略细节,抓住本质特征把"学生"抽象成"学号、姓名、成绩"三个字段
分解(Decomposition)把大问题拆成若干小问题成绩管理拆成录入、统计、排序、输出
模式识别(Pattern Recognition)找出问题的共同规律发现"求总分""求平均"都是"遍历累加"
算法设计(Algorithm Design)设计可执行的步骤用循环+判断实现分级统计

一句话:计算思维不是"会编程",而是"会把问题想成计算机能执行的样子"。

7.数据、计算与生活​

  • 导航:实时路况 + 最短路径算法 → 推荐路线;
  • 推荐系统:用户行为数据 + 相似度计算 → "猜你喜欢";
  • 成绩分析:考试数据 + 统计计算 → 班级薄弱知识点;
  • 科学计算:气象数值模拟、基因测序、航天轨道计算。

共同点:数据是原料,计算是加工,算法是工艺,结果是产品。

8.速查表​

序号考点结论
1计算的含义按规则处理数据得到结果
2三种计算方式人工计算、工具计算、程序计算
3程序计算的优势快、准、可批量、可重复、规则可复用
4公式开头必须用 =
5SUM/AVERAGE求和/求平均
6COUNT 与 COUNTACOUNT 数数字;COUNTA 数非空
7COUNTIF按条件计数
8IF 的三个参数条件、条件成立时的值、条件不成立时的值
9相对引用A1,随填充自动偏移
10绝对引用$A$1,行列都不变
11$ 的口诀$ 在谁前面就锁住谁
12RANK 的坑排名区域必须绝对引用
13计算机四特点速度快、精度高、可存储、可自动执行
14浮点误差0.1+0.2 != 0.3;比较用差值小于 1e-9
15解决问题四步分析问题 → 设计算法 → 编写程序 → 调试运行
16调试要用正常数据 + 边界数据
17计算思维四要素抽象、分解、模式识别、算法设计
18电子表格分类汇总前必须先排序

9.课堂提示(讲课参考)​

  • 三种计算方式用同一个任务串起来:统计全班 40 人的总分与平均分——先让学生手算两人,再用 Excel 一行公式,再用 Python 三行代码,时间差就是最好的说服力。
  • 浮点误差现场演示:在 IDLE 里敲 0.1+0.2,学生看到 0.30000000000000004 会很惊讶,顺势讲"计算机不等于精确"。
  • 绝对引用用"排名"演示:故意先让学生写 B2:B41 下拉出错,再改成 $B$2:$B$41,错误记忆比正确讲解更牢。
  • 四步流程配一个"反面案例":直接开写代码导致返工,让学生体会"分析问题"不是走过场。