o 顺序结构 o 选择结构 o 循环结构 数据的运算与操作 o 算术运算(+,-,*,/) o 逻辑运算(&&,||,!) o 关系运算(>,>=,<,<=,==,!=) o 数据传输(赋值,输入,输出)
1
算法设计过程
通过对问题进行详细地分析,抽象出相应 的数学模型; 确定使用的数据结构,并在此基础上设计 对此数据结构实施各种操作的算法; 选用某种语言将算法转换成程序; 调试并运行这些程序;
算法描述语言(续)
循环语句 o while o for o do-while 其他语句 o 复合语句 o return o exit o read(input) o write(output)
赋值语句
o a=b
控制转移语句
o if c then o if c then else
栈操作例子
Fibonacci数列
n=0 0 fibo(n) 1 n=1 fibo(n 1) fibo(n 2) 其他情形
阶乘函数
计算某个数的阶乘就是用那个数去乘包括 1 在内的所 有比它小的数。 factorial(5)等于 5*4*3*2*1 factorial(3)等于 3*2*1 递归算法描述
算法描述语言
算法描述语言是一种面向人而非机器的算法描 述工具,其他的描述工具还有: 传统流程图 N-S结构化流程图 伪代码 算法描述语言要求 具有良好的可读性 无歧义性 容易转换为程序设计语言
算法描述语言(续)
算法描述语言语法 符号与表达式
o 符号是字母开头的字母数字组合,表示变量名、数组名和语句标 号 o 算术运算符(+、-、*、/) o 关系运算符(==、!=、<、>、<=、>=) o 逻辑运算符(and、or、not)