第七课:认识算法
入门 高一信息技术教学 · 2026-10-07 · 阅读 3

“程序 = 算法 + 数据结构”,算法是程序的“灵魂”。可算法到底是什么?想象一份菜谱:准备食材、切菜、下锅、调味,一步步做下来就是一道菜——算法就是解决问题的“菜谱”。
一、什么是算法
算法是一系列明确、有限的步骤,用于解决特定问题或完成特定任务。在计算机科学中,算法告诉计算机“如何一步步解决问题”。
举个例子——让计算机“在一组数字中找到最大值”:
- 假设第一个数字是最大值;
- 依次检查后续每个数字;
- 如果遇到比当前最大值更大的数字,就更新最大值;
- 检查完所有数字后,输出最终的最大值。
二、算法的五大特征
| 特征 | 含义 | 例子 |
|---|---|---|
| 有穷性 | 必须在有限步骤后结束,不会无限循环 | 计算 1 到 100 的和,步骤是有限的 |
| 确定性 | 每个步骤清晰明确,没有歧义 | “如果 a 大于 b 则输出 a”明确;“如果 a 比较大”就不明确 |
| 可行性 | 每个步骤能通过计算机基本操作实现 | 可以是“比较两个数”,不能是“预测明天天气”(除非有数据和方法) |
| 输入 | 可以有零个或多个输入(要处理的数据) | 排序算法需要输入一组数据;算圆周率的算法可能不需要输入 |
| 输出 | 至少有一个输出(问题的结果) | 排序输出有序列表;搜索输出目标位置或“未找到” |
💡 为什么算法重要?效率关键(快速排序比冒泡排序快得多)、计算机的核心(程序的灵魂)、现实应用(搜索排序、导航路径规划、AI 决策都依赖高效算法)。
三、算法的描述方法
常用三种方法:自然语言、流程图、伪代码。
1. 自然语言描述:用日常语言描述步骤。优点是容易理解;缺点是易产生歧义、冗长,不利于直接转成代码。
例(求两数中的较大值):步骤1:输入 a、b;步骤2:比较大小;步骤3:若 a>b 则输出 a,否则输出 b。
2. 流程图描述:用标准化图形符号和流程线表示执行过程。

| 符号 | 形状 | 用途 |
|---|---|---|
| 起止框 | 椭圆形 | 算法的开始或结束 |
| 处理框 | 矩形 | 计算、赋值等操作 |
| 判断框 | 菱形 | 条件判断,一个入口、两个出口(是/否) |
| 输入/输出框 | 平行四边形 | 数据的输入或输出 |
| 流程线 | 带箭头直线 | 步骤的执行顺序 |
优点:直观、结构化,清晰展示顺序、分支、循环;缺点:画起来费时,复杂算法会显得杂乱。
3. 伪代码描述:介于自然语言和编程语言之间,用类似编程的结构(if、for、while)但忽略语法细节,可读性强、易转成真实代码;缺点是没有统一标准。
输入 a, b
如果 a > b 则
输出 a
否则
输出 b
结束如果
四、机器语言、汇编语言、高级语言
| 机器语言 | 汇编语言 | 高级语言 | |
|---|---|---|---|
| 长相 | 0 和 1 的二进制序列 | 英文助记符(MOV、ADD、JMP) | 接近自然语言的英文单词(if、for、print) |
| 特点 | CPU 能直接执行的唯一语言;面向特定机器;对人类极不友好;执行最快 | 一条汇编约对应一条机器指令;仍绑定特定 CPU;需汇编器翻译 | 一条语句对应多条机器指令;跨平台可移植;开发效率高 |
| 例子 | 10110000 01100001 | MOV AL, 61h | print("你好") |
| 用在哪 | 由翻译工具生成,程序员一般不直接写 | 操作系统、驱动、嵌入式、性能优化 | 绝大多数应用开发(网站、App、数据分析) |
📝 记住:无论用什么语言写,最终都要变成机器语言才能执行!
五、动手练一练
练习 1:用自然语言写出“求三个数中的最大值”的算法步骤,并检查它是否满足五大特征。
练习 2:把“求两数中的较大值”画成流程图(用上起止框、输入/输出框、判断框、处理框和流程线)。
点击查看参考答案
练习 1 参考:① 输入 a、b、c,设 max=a;② 若 b>max 则 max=b;③ 若 c>max 则 max=c;④ 输出 max。有限步骤、每步明确、可执行、有输入有输出,满足五大特征。
练习 2 参考:椭圆“开始”→ 平行四边形“输入 a,b”→ 菱形“a>b?”→ 是→矩形“输出 a”→椭圆“结束”;否→矩形“输出 b”→椭圆“结束”。
🎉 这一课你学会了:算法的定义与五大特征、三种描述方法、三类程序设计语言。下一课,我们看看数据量大到离谱时会发生什么——大数据!
学·教在线
小ta