编程基础/实践:数组
外观
< 编程基础
- 数组和列表 - 由元素集合(值或变量)组成的 数据结构。
- 索引符号 - 通常由方括号 [] 或圆括号 () 表示,索引符号用于标识数组元素的位置或数值。 [1]
- 显示数组成员 - 要显示所有数组成员,请使用 for 循环获取每个元素的值,并使用索引符号和循环控制变量输出该元素。
- 数组和函数 - 数组处理函数通常与数组以及处理数组所需的任何数据一起传递,以完成给定任务。
- 数组中的数学统计 - 统计学是数学的一个分支,它处理数据的收集、组织、分析、解释和展示。数组可以存储单词、字母/字符(字符串)和数字(整数/浮点数),因此数组和统计学密不可分。
- 搜索数组 - 线性搜索或顺序搜索是一种在列表中查找目标值的方法。它依次检查列表中的每个元素,查找目标值,直到找到匹配项或搜索完所有元素。
- 排序数组 - 排序算法是一种算法,它将列表中的元素按特定顺序排列。
- 并行数组 - 一组并行数组是一种隐式数据结构的形式,它使用多个数组来表示单个记录数组。
- 多维数组 - 指定元素所需的索引数量称为数组的维度或维数。
- 动态数组 - 动态数组是随机访问的,一种可变大小的列表数据结构,允许添加或删除元素。
- 数组数据类型是 C++ 中的标准数据类型之一。
- 数组可以有多个维度。
- for 循环通常用于显示数组的成员。
- 定义数组时,最好指定数组中有多少个成员。
- 数组很少用于表示数据。
- 线性搜索需要复杂的算法。
- 通常会创建函数来搜索数组中的最大值和最小值。
- 冒泡排序是一种对数组中的数据进行排列的简单方法。
- 冒泡排序只有一种方法。
- 排序数组很常见。
- 一维数组也称为表格。
- 数组成员从 1 开始引用。
- 如果你不知道某个数组中要放多少个元素,你应该创建一个静态数组。
- 如果你想对数据元素执行算术运算,最好使用列表而不是传统数组。
- 数组不可能在中间有空值。
- 可以从数组中减去值。
答案
- 错误
- 正确
- 正确
- 错误
- 错误
- 错误
- 正确
- 正确
- 错误
- 正确
- 错误 - 一维数组被称为列表。
- 错误 - 一些编程语言可能从 1 开始,但对于其他语言,如 Python,数组成员从 0 开始。
- 错误
- 错误
- 错误 - 动态数组可以有空值,可以在其中添加或删除元素。
- 正确
- 简要解释什么是数组,并列出与数组一起使用的两个常见运算符。
- 简要解释冒泡排序。
- 解释数组 push 和数组 pop 之间的区别。
- 描述静态数组和动态数组之间的区别。另外,还应说明你为什么选择其中一个而不是另一个。
- 简要解释变量和数组之间的区别。
- 解释为什么排序数组如此常见。
使用伪代码、流程图工具或你选择的编程语言完成以下活动。对输入、每种类型的处理和输出使用单独的函数。通过传递参数和返回结果来避免全局变量。创建测试数据以验证每个程序的准确性。在程序顶部添加注释,并包含对所用资源的引用。
- 查看 MathsIsFun: 闰年。创建一个程序,其中包含一个定义的数组,每个条目都是对应月份的天数(一月 = 31,二月 = 28 或 29,具体取决于年份,三月 = 31,等等)。使用一个并行的字符串数组来存储每个月的名称。要求用户输入年份和月份编号,然后查找对应的月份名称和天数,并显示这些信息。继续接受输入,直到用户输入无效年份或无效月份编号。 [2]
- 查看 Wikipedia: Zeller 的同余式。创建一个程序,要求用户输入其生日(年、月和日),然后计算并显示他们出生的星期几。使用数组查找将星期几的数字转换为正确的字符串表示形式(星期一、星期二、星期三,等等)。
- 查看 MathsIsFun: 平均值定义。创建一个程序,要求用户输入成绩。首先询问用户他们要输入多少个分数。然后使用循环来请求每个分数,并将它添加到一个静态(固定大小)数组中。输入分数后,计算并显示输入分数的最高值、最低值和平均值。
- 查看 Wikipedia: 蒙提霍尔问题。创建一个程序,使用数组来模拟三个门。使用 0(零)表示山羊,使用 1(一)表示汽车。清除每个“门”,然后使用随机数函数将数字 1 放入数组的一个元素中。然后使用随机数函数随机选择三个元素中的一个。在一个循环中运行模拟 100 次,以确认 1/3 的获胜几率。然后再次运行模拟,这次在从剩余的选择中删除 0(山羊)后切换选择。在一个循环中运行模拟 100 次,以确认通过切换获得 2/3 的获胜几率。
- 如果你的编程语言支持,请使用内置排序函数对上述活动中的成绩进行排序,并按从最高分数到最低分数的顺序显示数组。
- 如果你的编程语言支持,请更新上述成绩程序,用动态数组替换静态数组,并在每个项目添加到数组时扩展数组。继续接受分数,直到用户输入负值。
- 请查看 可汗学院:猜数字游戏。编写一个程序,让用户在 0 到 100 之间(包含 0 和 100)选择一个数字。然后让程序尝试猜出他们的数字。从中间值 (50) 开始,询问用户他们的数字是 (h)igher(更高)、(l)ower(更低)还是 (e)qual(等于)猜测值。如果他们指示更低,则猜测新的中间值 (25)。如果他们指示更高,则猜测新的中间值 (75)。将每次猜测记录在一个数组中,并继续有效地猜测更高或更低,直到他们指示等于,然后显示猜测他们的数字所需的猜测列表,并结束程序。
- 如果你的编程语言支持,请使用内置排序函数对上述活动中的成绩进行排序,并按从最高分数到最低分数的顺序显示数组。
- ↑ https://wikibooks.cn/wiki/Programming_Fundamentals/Index_Notation
- ↑ Farrell, J. (2015)。编程逻辑与设计,入门,第 8 版。Cengage。 ISBN 9781285845777