第1页:过程设计任务
- 过程设计
- 过程设计任务
- 结构化程序设计
- 结构化程序设计工具程序流程图、N-S图、PAD图、判定表、判定树、过程设计语言
- 程序复杂度
第2页:过程设计确定模块算法
- 过程设计-任务
- 确定模块算法
- 确定模块使用数据结构
- 确定模块接口(系统外部接口、用户界面、内部模块间接口细节、输入数据和输出数据)
第3页:过程设计示意图
过程设计示意图:本页为图示内容,展示结构划分与关键组成要素。
第4页:过程设计结构化程序设计结构化程序设计
- 过程设计-结构化程序设计结构化程序设计技术是过程设计一关键技术。
- 经典定义:程序代码通过顺序、选择、循环三种控制结构连接,单入口单出口。
- 扩展定义:可限制使用GOTO语句、DO_UNTIL和DO_CASE
- 修正定义:LEAVE和BREAK,可从循环中转移出来。
第5页:过程设计程序流程图A顺序型B几个连续
- 过程设计-程序流程图A
- 顺序型B几个连续的加工依次序排列expFTAB
- 选择型由某个判定的取值决定选择两个加工中一个。历史最悠久、使用最广泛的过程设计工具。
第6页:过程设计程序流程图当型循环型当循环控制
- 过程设计-程序流程图
- 当型循环型当循环控制条件成立时,重复执行特定的加工。expFTS
第7页:过程设计程序流程图直到型循环型重复执行
- 过程设计-程序流程图
- 直到型循环型重复执行特定的加工,直到循环控制条件成立时。expFTS
第8页:过程设计程序流程图多情况选择型列出多种
- 过程设计-程序流程图
- 多情况选择型列出多种加工情况根据控制变量的取值,选择执行其一exp=1FTS1exp=2exp=nS2TSnTFF
第9页:过程设计程序流程图程序设计流程图
过程设计-程序流程图程序设计流程图标准化图符X1起止端点输入/输出一般处理准备或预处理预定义处理条件判断循环上界循环下界文件或文档外接内接流程线虚线省略线并行方式注解或注释
第10页:例计算n阶乘的程序流程图
例:计算n阶乘的程序流程图。
第11页:过程设计程序流程图优点
- 过程设计-程序流程图优点:对控制流程描绘直观,便于初学者掌握。缺点:
- 不是逐步求精好工具,过早考虑控制流程,非整体结构;
- 用箭头代表控制流,程序员随意转移控制;
- 不易表示数据结构和调用关系。
第12页:过程设计N-S图顺序型AB选择型
过程设计-N-S图顺序型AB选择型BpFTAp=1=2…=nA1A2…Ando while(p)Sdo until (p)S当型循环型直到型循环型多分支选择型
第13页:过程设计-N-S图调用子程序子程序
过程设计-N-S图调用子程序子程序:本页为图示内容,展示图形元素、符号及其绘制关系。
第14页:例:计算n阶乘的N-S图
例:计算n阶乘的N-S图:本页为图示内容,展示图形元素、符号及其绘制关系。
第15页:过程设计N-S图特点
- 过程设计-N-S图特点:
- 功能域(一特定控制结构的作用域)明确;
- 不可能任意转移控制;
- 容易确定局部和全程数据的作用域;
- 容易表现嵌套关系,也可表示模块的层次结构。
第16页:过程设计PAD图直到型循环型
过程设计-PAD图直到型循环型ABABpApWhile PSUntil PS当型循环型顺序型选择型A1pA2An=1=2=n多分支选择型
第17页:例:计算n阶乘的PAD图
例:计算n阶乘的PAD图:本页为图示内容,展示图形元素、符号及其绘制关系。
第18页:过程设计PAD图优点
- 过程设计-PAD图优点:
- 使用PAD图设计的程序必然是结构化程序;
- PAD图描绘的程序结构十分清晰;
- 用PAD图表现程序逻辑,易读、易懂、易记;
- 容易将PAD图转换成高级语言源程序;
- 支持自顶向下逐步求精。
第19页:逐步求精
逐步求精:本页为图示内容,展示例:计算n阶乘的N部分的组成结构与关键要素。
第20页:过程设计判定表能清晰表示复杂的条件
过程设计-判定表能清晰表示复杂的条件组合与应做动作间对应关系。四部分:左上部列出所有条件;左下部所有可能做的动作;右上部表示各种条件组合的一矩阵;右下部是和每种条件组合相对应的动作。
第21页:例:行李托运算法的判定表
例:行李托运算法的判定表:本页为图示内容,列出各项内容及其对应关系。
第22页:过程设计判定树判定表变种
过程设计-判定树判定表变种,表示复杂条件组合与应做动作间对应关系。
第23页:过程设计判定树优点
- 过程设计-判定树优点
- 形式简单,易看出含义,易于掌握和使用。缺点:简洁性不如判定表,相同数据元素重复写多遍,越接近叶端重复次数越多。
第24页:过程设计语言伪码
过程设计-过程设计语言伪码,用正文形式表示数据和处理过程设计工具。PDL具有严格关键字外部语法,定义控制结构和数据结构;PDL表示实际操作和条件的内部语法灵活自由,适应各种工程项目需要。
第25页:过程设计语言伪码(续)
过程设计-过程设计语言伪码,用正文形式表示数据和处理过程设计工具。PDL具有严格关键字外部语法,定义控制结构和数据结构;PDL表示实际操作和条件的内部语法灵活自由,适应各种工程项目需要。
第26页:程序复杂度介绍使根据过程设计结果画出
- 过程设计-程序复杂度介绍使用比较广泛的McCabe方法。
- 根据过程设计结果画出相应流图流图描述程序控制流,基本图形符号如下图所示。
第27页:由流程图映射成流图
由流程图映射成流图:本页为图示内容,展示处理流程的先后顺序与分支结构。
第28页:复合条件下流图映射
复合条件下流图映射:本页为图示内容,展示图形元素、符号及其绘制关系。
第29页:过程设计程序复杂度计算流图的环形复杂度
- 过程设计-程序复杂度
- 计算流图的环形复杂度三种方法
- V(G)=区域数
- V(G)=E-N+2E为流图中边数,N为流图中节点数
- V(G)=P+1 P为判定点数
第30页:环形复杂度示例V(G)=4
环形复杂度示例V(G)=4 (区域数)V(G)=11(边数)-9(结点数)+2=4V(G)=3(判定结点数)+1=4
第31页:过程设计任务(续)
- 过程设计
- 过程设计任务
- 结构化程序设计
- 结构化程序设计工具程序流程图、N-S图、PAD图、判定表、判定树、过程设计语言
- 程序复杂度