Mai 的课堂

主题 8 · 编程

一维数组与二维数组

用数组存储列表和表格数据,使用下标,并用循环和嵌套循环处理数组。

第 6 课,共 7 课大纲 8.2更新于 2026年10月31日

一维数组

数组用一个名字存储许多相同数据类型的值。每个值是一个元素,通过方括号中的下标找到。创建数组时要声明最小和最大下标。

Scores : ARRAY[1:6] OF INTEGER可交互
123456
Scores[3] = 88
点击一个格子查看它的下标。
伪代码
DECLARE Scores : ARRAY[1:6] OF INTEGER
Scores[1] <- 72
Scores[3] <- 88
OUTPUT Scores[3]

数组与循环

数组和 FOR 循环是天生一对:循环计数器就是下标,同一段代码就能处理每个元素。

伪代码
DECLARE Scores : ARRAY[1:6] OF INTEGER
DECLARE Index : INTEGER
DECLARE Total : INTEGER
Total <- 0
FOR Index <- 1 TO 6
    INPUT Scores[Index]
    Total <- Total + Scores[Index]
NEXT Index
OUTPUT "Average: ", Total / 6

二维数组

二维数组是一个有行和列的表格。它需要两个下标:先写行,再写列。点击下面任意一格。

Marks : ARRAY[1:3, 1:4] OF INTEGER可交互
1234
1
2
3
Marks[2, 3] = 14
点击一个格子:第一个下标是行,第二个下标是列。
每一行可以是一名学生,每一列是一次测验。Marks[2, 3] 是第 2 名学生第 3 次测验的分数。

用嵌套循环处理二维数组

要访问每个元素,用一个循环遍历行,在它里面再用一个循环遍历列。

伪代码
DECLARE Marks : ARRAY[1:3, 1:4] OF INTEGER
DECLARE Student : INTEGER
DECLARE Test : INTEGER
DECLARE Total : INTEGER
FOR Student <- 1 TO 3
    FOR Test <- 1 TO 4
        INPUT Marks[Student, Test]
    NEXT Test
NEXT Student
FOR Student <- 1 TO 3
    Total <- 0
    FOR Test <- 1 TO 4
        Total <- Total + Marks[Student, Test]
    NEXT Test
    OUTPUT "Student ", Student, " total: ", Total
NEXT Student

关键术语

数组
用一个标识符存放许多同类型值的数据结构。
元素
数组中存放的一个值。
下标
用来访问元素的位置编号。
二维数组
有行和列、用两个下标访问的数组。

自我检测

声明一个存放 30 名学生姓名的数组。查看答案

DECLARE Names : ARRAY[1:30] OF STRING。

在上面的 Marks 表中,Marks[3, 2] 是多少?查看答案

19(第 3 行,第 2 列)。

为什么用数组而不用 30 个单独的变量?查看答案

一个名字就能存放所有值,用循环和几行相同的代码就能处理每个元素。

练习这项技能

用一道题练习刚学到的知识,再到工作室编辑器中运行你的答案。