习 题
一、填空题
(1)结构化程序设计方法的要点是使用__________结构,自顶向下、逐步求精地构造算法或程序。
(2)为了产生结构化的流程图,应由三种基本控制结构顺序组合或__________而成。
(3)PAD是一种由左向右展开的二维树型结构,图中的竖线为程序的__________。
(4)在详细设计阶段,一种历史最悠久、使用最广泛的描述程序逻辑结构的工具是__________。
(5)详细描述处理过程常用的三种工具是图形、语言和__________。
(6)PDL具有严格的关键字外层语法,用于定义控制结构、数据结构和__________。
(7)在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__________进行设计。
(8)过程设计中最典型的方法是__________。
(9)结构化程序设计方法简称__________。
(10)N-S图的优点是所有的程序结构均用方框来表示,无论并列或嵌套,程序的结构清晰可见,而且它只能表达__________的程序逻辑。
(11)系统的详细设计阶段产生的文档是__________。
二、单选题
(1)20世纪60年代后期,由Dijkstra提出的,用来增加程序设计的效率和质量的方法是( )。
A.模块化程序设计
B.并行化程序设计
C.标准化程序设计
D.结构化程序设计
(2)PAD的控制执行流程为( )。
A.自下而上、从左到右
B.自下而上、循环执行
C.自上而下、从左到右
D.都不对
(3)软件详细设计主要采用的方法是( )。
A.结构程序设计
B.模型设计
C.结构化设计
D.流程图设计
(4)PDL是下列语言中的( )。
A.高级程序设计语言
B.伪码式
C.中级程序设计语言
D.低级程序设计语
(5)面向数据流的设计方法把( )映射成软件结构。
A.数据流
B.模块化
C.控制结构
D.信息流
(6)详细设计常用的三种工具是( )。
A.文档、表格、流程
B.图形、表格、语言
C.数据库、语言、图形
D.文档、图形、表格
(7)详细设计与概要设计衔接的图形工具是( )。
A.DFD
B.SC
C.PAD
D.程序流程图
(8)详细设计的任务是确定每个模块的( )。
A.算法
B.功能(https://www.daowen.com)
C.调用关系
D.输入/输出数据
(9)在软件详细设计过程中不采用的描述工具是( )。
A.判定表
B.IPO图
C.PAD
D.DFD
(10)PDL是软件开发过程中用于( )。
A.需求分析
B.概要设计
C.详细设计
D.编程
(11)程序的三种基本控制结构是( )。
A.过程、子程序和分程序
B.顺序、选择和重复
C.递归、堆栈和队列
D.调用、返回和转移
(12)软件复杂性度量的参数包括( )。
A.效率
B.规模
C.完整性
D.容错性
(13)在详细设计阶段经常采用的工具有( )。
A.PAD
B.SA
C.SC
D.DFD
(14)Jackson图上下层之间的关系是( )。
A.调用关系
B.组成关系
C.继承关系
D.嵌套关系
(15)Jackson方法是根据( )来导出程序结构。
A.数据流图
B.IPO图
C.数据间的控制结构
D.数据结构
三、简答题
(1)详细设计的基本任务是什么?有哪几种描述方法?
(2)结构化程序设计的基本要点是什么?
(3)详细设计阶段描述处理过程的工具有几种?具体是什么?
(4)程序流程图的特点有哪些?
(5)PAD的特点是什么?
(6)PDL的特点是什么?有哪些优点?
(7)N-S图的优点和缺点是什么?
四、应用题
(1)用Halstead度量还可以用来预测程序中可能存在的错误E。一个程序对75个数据库项共访问1300次,对150个运算符共使用了1200次,预测该程序的错误数是多少?
(2)假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树表示计算行李费的算法。
(3)画出下列伪码程序的程序流程图和盒图。
