type
status
date
slug
summary
tags
category
icon
password
文章前言:本文主要讲述构件级设计。
图形设计表示法
1 流程图
程序流程图是人们对解决问题的方法、思路或算法的一种描述。
流程图的优点:
- 采用简单规范的符号,画法简单;
- 结构清晰,逻辑性强;
- 便于描述,容易理解。



2 盒图(N-S图)
在NS图中,每个处理步骤用一个盒子表示。盒子可以嵌套。盒子只能从上头进入,从下头走出,除此之外别无其他出入口,所以盒图限制了随意的控制转移,保证了程序的良好结构
与流程图相比,NS图的优点在于:
- 它强制设计人员按结构化程序设计方法进行思考并描述其方案;
- 图像直观,容易理解设计意图,为编程、复查、测试、维护带来方便;
- 简单易学。


3 PAD图
PAD图是二维结构。
PAD所描述的程序层次关系表现在纵线上,每条纵线表示了一个层次。PAD图是从左向右展开的。
PAD图的描述结果保证了算法必然是结构化的。


PAD图的优点
- 清晰的反映了程序的层次结构
- 支持逐步求精的设计方法
- 易读易写,使用方便
- 支持结构化程序设计
- 可自动生成程序
4 PDL语言
PDL是一种用于描述功能模块的算法设计和加工细节的语言。
- 它是一种伪码。一般地,伪码的语法规则分为“外语法”和“内语法”。外语法应当符合一般程序设计语言常用语句的语法规则;而内语法可以用英语中一些简单的句子、短语和通用的数学符号,来描述程序应执行的功能。
- 使用PDL语言,可以做到逐步求精:从比较概括和抽象的PDL程序起,逐步写出更详细的更精确的描述。
PDL程序的主要特征:
- 用PDL写出的程序具有正文格式。在计算机上可做正文处理.
- PDL程序中会有一些能够标明程序结构的关键字.
- PDL语言仅有少量的简单语法规则,大量使用人们习惯的自然语言。
- 使用PDL语言常常按逐步细化的方式写出程序.
- PDL程序的注释行对语句进行解释,起到提高可读性的作用。
PDL语言表示
(1)数据说明:PDL程序中指明数据名的类型及作用域.其形式为:
declare<数据名>as<限定词>
<限定词>具体的数据结构:
- scalar<纯量>
- array<数组>
- list<列表>
- char<字符>
- structure<结构>
(2)子程序结构
(3)分程序结构
(4)顺序结构
程序设计语言的特性
心理特性
言的心理特性指影响程序员心理的语言性能,许多这类特性是作为程序设计的结果而出现的,虽不能用定量的方法来度量,但可以认识到这类特性在语言中的表现形式:
- 二义性
- 简洁性
- 局部性和顺序性
- 传统性
工程特性
为满足软件工程的需要,程序设计语言还应考虑:
- 源代码的可移植性。要增强可移植性,就必须在设计时考虑模块与操作系统的特性不应有紧密的联系,同时要使用标准语言和标准的数据库操作,并且对程序中各种可变信息均应参数化,以便于修改。
- 配套的开发工具。
- 可维护性。
- 可重用性。
- 将设计变换为源程序的便利程度以及编译器的有效性等。
程序设计语言的选择
- 基础语言
FORTRAN、COBOL和BASIC是这类语言的代表。之所以称这些为基础语言,是因为它们都有较长的使用历史,在国内外流传甚广,有大量已开发的应用软件,今天仍拥有广大的用户。
- 结构化语言
Pascal它是第一个系统地体现结构化程序概念的现代高级语言。
C语言它除了具有结构化语言的公共特征,如表达简洁,控制结构与数据结构完备,有丰富的运算符和数据类型外,尤以移植力强、编译质量高等特点 。
Ada语言它是迄今为止最完善的面向过程的现代语言,也是集FORTRAN以来各种语言之大成的语言。
- 面向对象语言
C++语言:C++是从C语言进化而来,是C语言的超集。
Java语言:Java语言是当今流行的新兴网络编程语言,它的面向对象、跨平台、分布式应用等特点给编程人员带来了一种崭新的计算概念。
一个富有吸引力的程序设计支持环境(PSE)应具备下列特性:
- 通用性——适用于不同的语言、不同的应用领域和开发方法;
- 适应性——通过开关设置,能配置出满足不同需要的PSE实例;
- 开放性——能方便地增加新工具;
- 支持重用——能支持可重用模块的存储、索引和查找;
- 自控性——保证自身操作的正确和协调;
- 自带数据库——提供数据库机制,存储、管理已开发的软件产品;
- 保证质量——有助于提高所开发软件的质量;
- 吸引用户——用户愿意使用;
- 具有市场竞争力——PSE能真正提高软件生产力。
练习
用程序流程图、盒图和PAD图描述下述面问题的控制结构。
在数据A(1)~A(10)中求最大数。

有关问题,欢迎您在底部评论区留言,一起交流~
- Author:Koreyoshi
- URL:https://Koreyoshi1216.com/article/1aec7b13-c6a7-806b-9a91-fb17ddd992bb
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!