主题 8 · 编程
运算符、库例程与字符串
算术运算符、MOD 和 DIV、ROUND 和 RANDOM,以及用 LENGTH、SUBSTRING、UCASE 和 LCASE 处理字符串。
第 4 课,共 7 课大纲 8.1更新于 2026年10月31日
算术运算符
| 运算符 | 含义 | 例子 | 结果 |
|---|---|---|---|
+ | 加 | 7 + 2 | 9 |
- | 减 | 7 - 2 | 5 |
* | 乘 | 7 * 2 | 14 |
/ | 除 | 7 / 2 | 3.5 |
^ | 乘方 | 7 ^ 2 | 49 |
MOD(7, 2) | 除法的余数 | MOD(7, 2) | 1 |
DIV(7, 2) | 整数除法 | DIV(7, 2) | 3 |
MOD 与 DIV
DIV 给出一个数能被另一个数整除多少次,MOD 给出剩下的余数。两者结合可以把一个数拆开。
常见用法:当 MOD(Number, 2) = 0 时,这个数是偶数。另一个用法:把分钟换算成小时和分钟。
伪代码
DECLARE TotalMinutes : INTEGER
INPUT TotalMinutes
OUTPUT DIV(TotalMinutes, 60), " hours and ", MOD(TotalMinutes, 60), " minutes"ROUND 与 RANDOM
ROUND(Value, Places) 把实数四舍五入到指定的小数位数。RANDOM() 返回 0 到 1 之间的随机数,你可以把它放大。
伪代码
DECLARE Price : REAL
Price <- 19.987
OUTPUT ROUND(Price, 2)
OUTPUT "Random whole number from 0 to 100: ", ROUND(RANDOM() * 100, 0)字符串是带编号的字符
字符串是一串字符。在剑桥伪代码中,第一个字符的位置是 1。点击某个字符查看它的位置。
"COMPUTER" 中的位置可交互
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|
SUBSTRING(Word, 4, 1) = P
点击一个格子查看它的下标。
字符串处理
| 例程 | 返回 | 以 "Computer" 为例 | 结果 |
|---|---|---|---|
LENGTH(S) | 字符个数 | LENGTH(Word) | 8 |
SUBSTRING(S, Start, Length) | 字符串的一部分 | SUBSTRING(Word, 4, 3) | "put" |
UCASE(S) | 转换为大写 | UCASE(Word) | "COMPUTER" |
LCASE(S) | 转换为小写 | LCASE(Word) | "computer" |
伪代码
DECLARE FirstName : STRING
DECLARE LastName : STRING
DECLARE Username : STRING
INPUT FirstName
INPUT LastName
Username <- LCASE(SUBSTRING(FirstName, 1, 1)) & LCASE(LastName)
OUTPUT "Your username is ", Username
OUTPUT "It has ", LENGTH(Username), " characters"考试提示: & 把两个字符串连接起来:"Ada" & "Lovelace" 得到 "AdaLovelace"。
关键术语
- MOD
- 给出整数除法的余数。
- DIV
- 给出除法结果的整数部分。
- 库例程
- 语言自带的现成子程序,例如 ROUND 或 RANDOM。
- 连接
- 把字符串拼接在一起。
自我检测
MOD(23, 5) 和 DIV(23, 5) 分别是多少?查看答案
MOD = 3,DIV = 4(23 = 4 × 5 + 3)。
SUBSTRING("Keyboard", 4, 5) 是什么?查看答案
"board"。
写一个当 N 是 3 的倍数时为 TRUE 的条件。查看答案
MOD(N, 3) = 0。