第3章结构化程序设计 —程序的灵魂
第3章 结构化程序设计 ——程序的灵魂
5.3算法的表示 自然语言描述法 ◆流程图描述法 ·伪代码描述法 ◆N-S流程图描述法
5.3 算法的表示 自然语言描述法 流程图描述法 伪代码描述法 N-S流程图描述法
2传统流程图描述法 算法常用“流程图”描述,更直观,容易阅读 和理解。 ·流程图中基本的图形符号 菱形框 (条件判断框) 无角矩形框 矩形框 (开始/结束框) 平行四边形框 (操作框) (输入/输出框) 流程线
2 传统流程图描述法 算法常用“流程图”描述,更直观,容易阅读 和理解。 流程图中基本的图形符号 无角矩形框 (开始/结束框) 矩形框 (操作框) 菱形框 (条件判断框) 平行四边形框 (输入/输出框) 流程线
功能:已知苹果价格和公斤数,求苹果总 价格的流程图 开始 void main() { 输入苹果每公斤价格price scanf(“%f”,&price); 输入苹果公斤数quantity scanf(“%d”,&quantity); totalPrice-price*quantity totalPrice=price quantity; 输出totalPrice printf(“%fr”,totalPrice); 结束
totalPriceprice*quantity 开始 结束 输出totalPrice 输入苹果每公斤价格 price 功能:已知苹果价格和公斤数,求苹果总 价格的流程图 输入苹果公斤数 quantity void main() { scanf(“%f”,&price); scanf(“%d”,&quantity); totalPrice=price * quantity; printf(“%f”,totalPrice); }
void main() 变量定义 float price,totalPrice; int quantity; 数据输入 scanf(%f”,&price); scanf("%od",&quantity); 数据处理 totalPrice=price quantity;" printf("%f,totalPrice) 数据输出
void main() { float price,totalPrice; int quantity; scanf(“%f”,&price); scanf(“%d”,&quantity); totalPrice=price * quantity; printf(“%f”,totalPrice); } 变量定义 数据输入 数据处理 数据输出
41 N-S图表示法 l973年美国学者I.Nassi和B.Shneiderman提出一种新 的流程图形式。 N-S流程图符号: A 顺序结构:图1-2 B 选择结构:图1-3 图1一2 循环结构:图1-4,图1-5 P 当P成立 成立 不成立 A A B A 直到P成立 图1一3 图1-4 图1-5
1973年美国学者I . Nassi 和 B . Shneiderman提出一种新 的流程图形式。 N-S流程图符号: 顺序结构:图1-2 选择结构:图1-3 循环结构:图1-4,图1-5 4 N- S 图表示法 A B 图1-2 P 成立 不成立 A B 图1-3 当P成立 A 图1-4 直到P成立 A 图1-5
5.4 结构化程序设计 思路: 结构化程序设计是以模块化设计 为中心,将待开发的软件系统划分 为若干个相互独立的模块,这样使 完成每一个模块的工作变单纯而明 确,为设计一些较大的软件打下了 良好的基础
5.4 结构化程序设计 ◼思路: 结构化程序设计是以模块化设计 为中心,将待开发的软件系统划分 为若干个相互独立的模块,这样使 完成每一个模块的工作变单纯而明 确,为设计一些较大的软件打下了 良好的基础
◆方法:自顶向下、逐步求精 自顶向下、逐步求精的程序设计方法 从问题本身开始,采用自上而下、逐步分 解的方法,将解决问题的步骤分解为由基 本程序结构模块组成的结构化程序框图
方法:自顶向下、逐步求精 自顶向下、逐步求精的程序设计方法 从问题本身开始,采用自上而下、逐步分 解的方法,将解决问题的步骤分解为由基 本程序结构模块组成的结构化程序框图
结构化程序的特点 ◆ 每个模块内部,只能使用顺序结构、分支 结构、循环结构三种基本形式
结构化程序的特点 每个模块内部,只能使用顺序结构、分支 结构、循环结构三种基本形式
顺序结构 一j 种按书写顺序执行的结构。 B 顺序结构
顺序结构 一种按书写顺序执行的结构。 A B 顺序结构