欢迎来到编程概念的世界!

你好,未来的计算机科学家们!本章是你未来所有编程实践的基石。你可以把编程概念想象成与计算机沟通所需的语法和词汇。一旦你掌握了这些基本原理——如何存储信息以及如何控制指令的执行流程——你就能构建出任何你能想象到的程序!

如果起初觉得有些复杂,也不必担心。我们将通过生活中的真实案例,把每一个概念拆解成简单易懂的小部分。


1. 构建基础:数据与存储

1.1 数据类型 (Data Types)

计算机需要准确知道它存储的是什么类型的信息。你是要存储一个整数、一段文本,还是一个真/假判断?这就是我们需要数据类型的原因。使用正确的数据类型可以帮助计算机高效地管理内存。

比喻: 把数据类型想象成厨房里的不同容器。你总不会把面粉装进小小的调料瓶里吧!

  • 整数 (Integer / INT): 存储整数(正数或负数)。
    示例:5, -100, 42
  • 实数 / 浮点数 (Real / Float): 存储带有小数点的数字。
    示例:3.14, 99.9, -0.5
  • 字符 / 字符串 (Character / String / STR): 存储文本、字母、符号,甚至是作为文本处理的数字(比如电话号码)。字符串通常是一串字符序列。
    示例:"Hello World", "A", "123 Main Street"
  • 布尔值 (Boolean / BOOL): 只存储两个值:TRUE(真)FALSE(假)。这对于做决定至关重要。
    示例:灯亮着吗?(TRUE/FALSE)

小贴士: 如果数字需要保留小数,请使用 Real;如果是文本(哪怕文本里包含了数字),请使用 String;如果只是 1 或 0(或者真/假),请使用 Boolean

1.2 变量与常量

要在程序中使用数据,我们需要将其存储在计算机内存中。我们使用特定的名称来指向这些存储位置。

变量 (Variables)

变量是一个带名称的内存位置,用于存储在程序运行期间可以改变的数据。

  • 比喻: 变量就是一个贴了标签的盒子,你可以不断地往里面放入不同的东西。
  • 示例: 一个名为 Score(分数) 的变量可以从 0 开始,每当用户答对一题时就增加数值。
常量 (Constants)

常量是一个带名称的内存位置,用于存储在程序运行期间不能改变的数据。

  • 比喻: 常量是一个贴了标签的盒子,一旦装入物品后就会被封死。
  • 示例: 圆周率 \(\pi\) (\(3.14159\)) 的值,或者固定的税率。

为什么要用常量? 如果你使用像 TAX_RATE(税率) 这样的常量,以后如果需要调整税率,你只需要在程序开头修改一次数值即可,这大大降低了维护难度。

1.3 赋值 (Assignment)

赋值是为变量(或常量)赋予数值的过程。在编程伪代码中,我们通常使用箭头符号 (\(\leftarrow\)) 或等号 (\(=\))。

核心概念: 当我们进行赋值时,实际表达的是:“左边的项获取了右边的值。”

赋值示例:

Username \(\leftarrow\) "AQAStudent"
Age \(=\) 16
NewScore \(\leftarrow\) OldScore \(+\) 10

常见误区提示!
在编程中,Count \(\leftarrow\) Count \(+\) 1 并不意味着 Count 等于 Count 加 1(这在数学上是不可能的)。它的含义是:取出 Count 当前的值,加上 1,然后再把这个新结果存回 Count 变量中。

第一部分重点总结: 变量存储可变数据,常量存储固定数据,而数据类型告诉计算机存储的数据到底“是什么”。


2. 控制流程:顺序、选择与循环

程序其实就是一系列指令。构建这些指令的三种主要方式被称为三大基本程序结构

2.1 顺序结构 (Sequence)

顺序结构意味着指令按照书写的先后顺序,从上到下依次执行。

  • 比喻: 按照菜谱做菜:1. 混合配料。2. 倒入锅中。3. 烘烤30分钟。

这是最简单的程序流程。

2.2 选择结构 (Selection / Making Decisions)

选择结构(或分支)允许程序根据某个条件(通常是布尔表达式)在两条或多条路径中做出选择。

IF...THEN...ELSE...

这是最常见的决策方式。

IF Condition IS TRUE THEN
    执行这些指令(路径 A)
ELSE
    否则执行这些指令(路径 B)
ENDIF

示例: IF Temperature \(<\) 0 THEN Output "穿件外套" ELSE Output "天气挺暖和的".

你知道吗? 你也可以省略 ELSE,只使用 IF...THEN。如果条件为 FALSE,程序会直接跳过这些指令继续往下执行。

CASE / Switch 语句

当需要根据一个变量的值,从多个固定选项中做出选择时,可以使用 CASE(或 Switch)结构。

CASE OF Grade
    A: Output "优秀"
    B: Output "良好"
    OTHERWISE: Output "继续加油"
ENDCASE

相比于编写多个嵌套的 IF 语句,这种方式在处理多个固定选项时显得整洁得多。

2.3 循环结构 (Iteration / Loops)

循环结构允许程序多次重复执行同一段代码,这避免了我们重复编写相同的代码。

FOR 循环(计数控制)

当你确切知道循环需要运行多少次时使用。

FOR Counter \(\leftarrow\) Start Value TO End Value DO
    重复执行的指令
NEXT Counter

示例: FOR i \(\leftarrow\) 1 TO 10 DO - 这个循环会准确运行 10 次。

WHILE 循环(条件控制 - 先检查)

当你不知道循环会运行多少次,但需要在执行代码之前检查条件时使用。

WHILE Condition IS TRUE DO
    重复执行的指令
ENDWHILE

重要提示: 如果一开始条件就为 FALSE,WHILE 循环内部的代码将永远不会运行

REPEAT UNTIL 循环(条件控制 - 后检查)

当你不知道循环会运行多少次,但必须确保循环内的代码至少运行一次时使用。

REPEAT
    重复执行的指令
UNTIL Condition IS TRUE

记忆窍门:
WHILE:Watch out(注意),先检查条件。
REPEAT UNTIL:Running(先运行),再检查条件。

第二部分重点总结: 顺序是按部就班;选择 (IF/CASE) 是选路径;循环 (Loops) 是重复动作。


3. 逻辑与运算

程序通过使用运算符来计算和比较数据。

3.1 算术运算符

用于执行数学计算。

  • \(+\): 加法
  • \(-\): 减法
  • \(*\): 乘法
  • \(/\): 除法(结果为实数/浮点数)
整数专用运算符:
  • DIV(整除):给出除法的整数结果,舍去余数。
    示例:10 DIV 3 \(= 3\)
  • MOD(取模/取余):给出整数除法后的余数
    示例:10 MOD 3 \(= 1\)(因为 10 除以 3 商 3 余 1)

MOD 有什么用? 它非常适合判断奇偶数(如果 Number MOD 2 \(= 0\),那就是偶数),或者用于在列表中进行循环操作。

3.2 比较(关系)运算符

这些运算符比较两个值,结果始终为布尔值(TRUE 或 FALSE)。它们对于选择结构和循环结构至关重要。

  • \(==\) 或 \(=\): 等于
  • \(<\): 小于
  • \(>\): 大于
  • \(<=\): 小于等于
  • \(>=\): 大于等于
  • \(<>\) 或 \(!=\): 不等于

示例: IF UserAge \(>=\) 18 THEN... (该条件评估结果为 TRUE 或 FALSE)。

3.3 布尔(逻辑)运算符

这些运算符组合布尔结果(TRUE/FALSE)以构建更复杂的条件。

AND (与)

只有当被 AND 连接的所有部分都为 TRUE 时,整个条件才为 TRUE。

示例: 只有同时满足(你有票 AND 你年满18岁)时才能进入派对。

OR (或)

只要被 OR 连接的部分中至少有一个为 TRUE,整个条件就为 TRUE。

示例: 如果(你的考试成绩是 A OR 你的平时作业是 A),你就能通过这门课。

NOT (非)

反转布尔值(TRUE 变为 FALSE,FALSE 变为 TRUE)。

示例: IF NOT (IsRaining) THEN Output "去户外吧"

第三部分重点总结: 算术运算符负责计算;比较运算符负责提问(得出 TRUE/FALSE);布尔运算符负责组合这些提问。


4. 输入与输出 (I/O)

为了让程序有用,它必须与用户或外界交互。这通过输入 (Input)输出 (Output) 来实现。

输入 (Input)

输入是程序从外界接收的数据(通常来自用户的键盘、鼠标或传感器)。

在伪代码中,我们通常使用关键词 INPUTREAD

示例: INPUT UserName(程序会暂停并等待用户输入,输入的内容随后被存入变量 UserName 中)。

输出 (Output)

输出是程序发送给外界的数据(通常显示在屏幕上、打印出来或发送到文件中)。

在伪代码中,我们通常使用关键词 OUTPUTPRINT

示例: OUTPUT "欢迎, " + UserName(程序会在屏幕上显示欢迎辞和存储的用户名)。

I/O 小复习:

INPUT (输入): 数据进计算机。
OUTPUT (输出): 数据输计算机。


总结核对:编程基础

如果你掌握了以下这些概念,你就打下了坚实的编程基础:

  1. 我清楚整数、实数、字符串和布尔数据类型之间的区别。
  2. 我可以解释为什么有时使用变量,有时使用常量。
  3. 我理解“赋值”就是给变量设定数值。
  4. 我可以描述顺序、选择和循环结构之间的区别。
  5. 我知道 IF...THEN...ELSE 和 CASE 是选择结构的不同形式。
  6. 我能判断何时使用 FOR 循环(计数控制)以及何时使用 WHILE/REPEAT 循环(条件控制)。
  7. 我知道 MOD 给出余数,而 DIV 给出整数商。
  8. 我可以使用 AND、OR 和 NOT 构建复杂的布尔条件。