算法伪代码,算法伪代码(Pseudo

语言学 6
Code) 高晓沨(XiaofengGao) DepartmentofComputerScienceShanghaiJiaoTongUniv. 程序的性质 程序指令顺序执行。
程序执行结束时应有一个结果。
程序要对某些对象进行操作。
有的程序要加入对操作对象的说明。
有时指令要求执行者做出判断。
一条或一组指令可能需要执行多次。
程序流程: 问题定义算法设计程序编制调试测试及资料编制 2016/10/1 IntroductiontoCS-XiaofengGao
3 程序的概念 程序(Program):可以被计算机处理的指令序列。
程序是为完成一项任务、由汇编语言或高级语言编写的代码的集合。
程序设计:根据所提出的任务,用某种程序设计语言编制一个能正确完成该任务的计算机程序。
程序=数据结构+算法 ——NikiklausWirth (沃思,著名计算机科学家) 2016/10/1 IntroductiontoCS-XiaofengGao
2 算法特性 程序设计离不开算法,算法指导程序设计,是程序的灵魂。
算法是精确定义的一系列规则。
算法特性:
(1)有效性。

(2)确定性。

(3)有穷性。

(4)有零个或多个输入。

(5)有一个或多个输出。
有效性指算法所规定的操作都应当能够有效执行。
确定性一是:所描述的操作应当具有明确的意义,不应当有歧义性。
二是:操作作序列只有一个初始动作,序列中每一动作仅有一个后继动作; 有穷性指算法所规定的操作序列必须在允许的时间内结束。
2016/10/1 IntroductiontoCS-XiaofengGao
4 算法伪代码(Pseudocode) 伪代码(Pseudocode):一种算法描述语言,使之可用任何编程语言(Pascal,
C,Java,etc)实现。
伪代码特点: 结构清晰、代码简单、可读性好。
类似自然语言,介于自然语言与编程语言之间。
以编程语言的书写形式指明算法职能。
不用拘泥于具体实现。
可描述整个算法运行过程的结构,表述算法功能(而不是其语言实现)。
用于技术文档和科学出版物中来表示算法,也用于在软件开发的实际编码过程之前表达程序的逻辑。
2016/10/1 IntroductiontoCS-XiaofengGao
5 基本控制语句 赋值语句:中间变量定义等,用←表示。
有时也用:=或者=表示赋值 线性表述(顺序结构,SEQUENCE),下一个命令会在当前命令结束时开始。
x=?
2016/10/1 IntroductiontoCS-XiaofengGao
7 算法名称与初始化 无参数表示 带参数表示 2016/10/1 IntroductiontoCS-XiaofengGao
6 流程图表示法 流程图表示法常用图例 2016/10/1 IntroductiontoCS-XiaofengGao
8 顺序结构的流程图表示 顺序结构是一种简单的线性结构,根据流程线所示的方向,各矩形框按顺序执行。
如:右图语句的执行顺序为:A→B→
C 2016/10/1 IntroductiontoCS-XiaofengGao
9 选择控制语句示例 整除标记 作业批改 2016/10/1 IntroductiontoCS-XiaofengGao 11 选择控制语句 IF-THEN-ELSE:基本选择语句,选择结构,其中else可选,还可插入多项ELSEIF 2016/10/1 IntroductiontoCS-XiaofengGao 10 顺序结构的流程图表示 (a) (b) (a)的执行顺序为:先判断条件,当条件为真时,执行
A,否则执行
B。
(b)的执行顺序为:先判断条件,当条件为真时,执行
A,否则什么也不执行。
2016/10/1 IntroductiontoCS-XiaofengGao 12 复合条件控制语句 格式:<简单条件><逻辑连接符><简单条件> 例: 合取:(aA,一但条件为假,则跳出循环。
先执行
A,再判断条件,若条件为真则重复执行
A,若条件为假,则跳出循环。
While型循环控制语句 WHILE:循环语句,在初始阶段判断条件。
当条件为真时执行循环,条件为假时跳出循环。
REPEAT-UNTIL:循环语句,在循环尾部进行控制。
条件为真时跳出。
有时也做DO-WHILE 2016/10/1 IntroductiontoCS-XiaofengGao 14 While型循环控制语句示例 Remainder GCD A被称为循环体,条件被称为循环控制条件。
2016/10/1 IntroductiontoCS-XiaofengGao 15 2016/10/1 IntroductiontoCS-XiaofengGao 16 For型循环控制语句 FOR:循环次数受限的循环语句。
(countingloop)Example 多分支选择控制语句 SWITCH-CASE:多分支选择语句(defaultoptional) 2016/10/1 IntroductiontoCS-XiaofengGao 17 嵌套叠加 基本控制语句可以嵌套叠加,由缩进严格控制。
判断Judge的功能。
这个算法能够判断一个自然数是否是质数。
2016/10/1 IntroductiontoCS-XiaofengGao 19 2016/10/1 IntroductiontoCS-XiaofengGao 18 子函数引入(subfunction) 用调用函数名形式引入子函数 2016/10/1 IntroductiontoCS-XiaofengGao 20 常用表达 i++;++i;x/=2;x:=0;y==z;For(i=1to10);A&&B;A||B;BREAK;CONTINUE; 将变量i的值加1x=x/2x赋值为0判断y与z是否相等For循环控制语句A和BA或B停止循环跳出停止当前循环进入下一轮 2016/10/1 IntroductiontoCS-XiaofengGao 21 范例 例:找出三个数中最大的那个数。
分析:三个数值必须用三个变量来保存,假定这三个变量分别为a、b、c,另外,还需要一个变量max来装最小的那个数。
先比较a和b的值,把数值大的放入max中,再将max与c比较,又把数值大的放入max中。
经过两次比较,max中已存放的是a,b,c三个数中最大的数,把max的值输出就是所需结果。
2016/10/1 IntroductiontoCS-XiaofengGao 23 Break和Continue 执行顺序 i=
1,Printi=
2,跳过i=
3,Printi=
4,跳过i=
5,Break 2016/10/1 IntroductiontoCS-XiaofengGao 22 伪码
(1) 2016/10/1 IntroductiontoCS-XiaofengGao 24 伪码
(2) 流程图表示 2016/10/1 IntroductiontoCS-XiaofengGao 25 2016/10/1 IntroductiontoCS-XiaofengGao 26 XiaofengGao

标签: #成都 #cfa #是指 #机场 #核磁共振 #变速箱 #更准确 #amt