基础知识
算法——程序设计精髓
什么是算法?
一个计算过程,具体指明应该进行的 操作描述了解决问题的方法和途径
是程序设计的基础和精髓
有效算法的特点
有穷性、确定性、有效性
输入、输出
组成
- 基本操作
表达式、变量赋值、读(输入)、写(输出) - 基本的控制结构
顺序控制结构、分支控制结构、循环控制结构
函数调用、函数返回
算法的表示
- 自然语言 \(\to\) 程序 \(\to\) 流程图(越来越清晰明了)
-
流程图 \(\to\) NS图(NS图是格式化的,但是没有流程图那么清晰,因为NS图是封闭的)
-
PAD图(层次化,很清晰,是开放的)
PAD图
优点:
相比传统的流程图和NS图等,PAD图具有可见性好、结构唯一、易于编制、易于检查和易于修改等优点,更适合讲述程序设计;
同时也避免了直接使用代码讲解算法的呆板和枯燥。
组成:
- 操作序列:一条垂直竖线(顺序的从上向下操作)
- 基本操作:小方块
- 选择:长相如下,P1对应Ture的操作,P2对应False的操作
基本的控制结构的表示:
-
顺序控制结构:操作序列+基本操作
-
if-else分支控制结构:
-
CASE多分支
-
While循环控制结构
-
函数调用、函数返回