Mr.Mou @ ShiShi AP Center

AP CSA 4.2:数据集

上一课我们讨论了数据收集及其影响。这一课开始关注:收集到的数据如何组织起来,又如何利用这些数据解决问题?

例如,学校可以把学生的姓名、邮箱和 GPA 放在一张表格中。这样的数据集合就是一个数据集。

数据集不只是把数据放在一起;我们还可以逐个访问、处理和分析其中的数据,从而回答问题。

核心知识点

1. 什么是数据集(Data Set)?

数据集(data set)就是一组具体的信息或数据。

例如,学校可以用一张表格记录学生信息:

First Name Last Name Email GPA
学生名字 学生姓氏 邮箱 平均绩点

每一行记录一名学生的信息,每一列记录一种信息。

数据可以通过表格(table)或图表(chart)表示。像 Excel 和 Google Sheets 这样的电子表格软件,就可以用表格保存、整理和计算数据。

2. 如何分析数据集?

数据集可以被处理和分析,用来解决问题或回答问题。

分析数据时,通常需要:

  1. 找出要使用的数据。
  2. 逐个访问数据值。
  3. 按照目标处理这些数据。
  4. 得出需要的结果。

例如,如果我们想计算所有学生的平均 GPA,就需要访问每一行中的 GPA,将它们相加,再除以学生人数。

循环(loop)可以帮助我们逐个访问和处理数据集中的数据。

3. 从表格到算法

表格不只是用来展示数据,也可以帮助我们规划算法(algorithm)。

例子一:计算平均 GPA

问题:如何计算表格中所有学生的平均 GPA?

思考过程:

伪代码(pseudocode):

Initialize sum to 0.

Loop through each row in the table:
    Add the GPA value of this row to sum.

Divide sum by the number of rows
to get the average GPA.

注意缩进:累加 GPA 的步骤必须放在循环内部,因为每一行都需要处理;计算平均值则应在循环结束后进行。

例子二:找出荣誉榜学生

问题:学校想打印出 GPA 达到 3.5 或以上的学生姓名,应该怎样设计算法?

这次需要同时使用两种结构:

伪代码:

Loop through each row in the table:
    If the student's GPA is 3.5 or higher:
        Print the student's name.

这里不需要把所有学生分别写出来。循环负责逐个检查,if 负责筛选符合条件的学生。

4. AP Exam Focus:三个核心考点

AP 知识点 必须理解的内容
AP 4.2.A.1 数据集是一组具体的信息或数据。
AP 4.2.A.2 数据集可以被处理和分析来解决问题;分析时逐个访问数据值,并根据目标进行处理。
AP 4.2.A.3 数据可以用表格或图表表示,这些可视化形式能够帮助我们规划处理数据的算法。

5. Mini Practice:小练习

Practice 1:理解数据集

学校用一张表格记录学生的姓名、邮箱和 GPA。下列哪项最准确地描述了这张表格?

A. 它是一个数据集,可以用来分析学生信息。

B. 它只是文字的集合,不能用于解决问题。

C. 只有把数据转换成 Java 代码后,才算数据集。

答案:A

解释:数据集是一组具体的信息或数据,可以用表格表示,并用于分析和回答问题。

Practice 2:设计算法

学校需要计算所有学生的平均 GPA。下面哪种算法顺序正确?

A. 先把 sum 除以学生人数,再逐个加上 GPA。

B. 将 sum 初始化为 0,循环累加每位学生的 GPA,最后除以学生人数。

C. 只读取第一位学生的 GPA,再除以学生人数。

答案:B

解释:必须先访问并累加所有学生的 GPA,循环结束后再计算平均值。

Practice 3:循环与条件判断

学校要打印 GPA 达到 3.5 或以上的学生姓名。算法需要使用什么?

A. 只需要一个 if。

B. 只需要一个循环。

C. 使用循环逐个检查学生,并用 if 判断 GPA 是否达到 3.5。

答案:C

解释:循环负责检查每一行,条件判断负责筛选符合要求的学生。

Unit 4.2 核心词汇(Vocabulary)

Vocabulary 中文理解
data set 数据集;一组具体的信息或数据
table 表格;按行和列组织数据
chart 图表;数据的可视化表示
analyze 分析;检查并处理数据以回答问题
algorithm 算法;解决问题的一系列步骤
pseudocode 伪代码;用接近自然语言的方式描述算法
repetition 重复;反复执行步骤,例如使用循环
selection 选择;根据条件决定执行哪些步骤

下一课预告: 接下来我们将学习 Java 数组(array),了解如何在程序中存储一组数据,并使用循环访问和处理这些数据。