1、1软件工程练习题一 名词解释1软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。或:软件开发技术的进步未能满足发展的要求,在软件开发中遇到的问题找不到解决的方法,问题积累起来了,形成尖锐的矛盾,导致了软件危机。2软件生存周期:一个软件从提出开发要求开始起,到该软件废弃不用为止,称为软件生存周期。(一般来说,软件生存周包括计划、开发、运行三个时期,每一时期又可分为若干更小的阶段。计划时期的主要任务是分析用户要求,分析新系统的主要目标以及开发该系统的可行性。开发时期要完成设计和实现两大任务具体。具体分为需求分析、概要设计、详细设计、编码、测试。其中编码和测试是软件开发期的最后两个阶段
2、。运行时期是软件生存周期的最后一个时期,软件人员在这一时期的工作,主要是做好软件维护。 )此括号内可省。3瀑布模型:瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。它规定了由前至后、相互衔接的固定次序。瀑布模型为软件开发提供了一种有效的管理模式。根据这一模式指定开发计划,进行成本核算,组织开发力量,以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,所以它是以文档为驱动、适合于软件需求很明确的软件项目开发。(瀑布式开发模型是针对软件开发说的,也叫从上到下的形式! 就是先从整体上定义软
3、件的功能再不断的细化,至到定义了软件的所有功能为至。 整个定义的过程从上到下看就象瀑布一样,从整体定义上流下来,最下面就是个个具体的功能定义, 所以叫瀑布式开发模型。)此括号内不够准确。4系统流程图:是概括地描绘物理系统的传统工具。基本思想是用图形符号以黑盒子形式描述组成系统的每个部件。表达了系统中各个元素之间的信息流动的情况。5需求可行性:分析需求可行性在允许的成本、性能要求下,分析每项需求实施的可行性,明确与每项需求实现相联系的风险,包括与其它需求的冲突,对外界因素的依赖和技术障碍6需求分析:是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么” 。它是指开发人员要准确理
4、解用户的要求,进行细致的分析,将用户的非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约的过程。7模块化:模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块按某种方法集成起来构成一个整体,可以完成指定的功能满足用户的需求。8模块独立性:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系2最少且接口简单。9白盒测试:把程序看成装在一个透明的白箱子里,也就是完全了解程序的结构和处理过程,按照程序内部的逻辑测试程序,对程序中尽可能多的逻辑路径进行测试,检验内部
5、控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。10.等价类划分:一种黑盒试技术,是将输入数据域按有效的或无效的(也称合理的或不合理的)划分成若干等价类,测试每个等价类的代表值就等于对该类其它值的测试。二、单项选择题1. 软件是一种逻辑产品,它的开发主要是(A )A 研制 B 拷贝 C 再生产 D 复制2. 软件生命周期一般包括:软件开发期和软件运行期,下述( D )不是软件开发期所包含的内容?A 需求分析 B 结构设计 C 程序编制 D 性能优化3. 文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )A 喷泉模型 B 增量模型 C 瀑布模型 D 螺旋模型4
6、. 在软件生存周期中, ( A )阶段必须要回答的问题是“要解决的问题是什么?”A 需求分析 B 可行性分析与项目开发计划C 概要设计 D 测试5. 在软件开发中,通常要花费( C )的代价进行测试和排错A 20% B 30% C 40% D 50%6. 在软件开发方法中, ( A )方法总的指导思想是自顶向下、逐步求精。它的基本原则是功能的分解和抽象。A 结构化 B 面向对象的开发 C JSD D VDM7. 软件工程是一门( B )学科。A 原理性 B 工程性 C 理论性 D 管理性8. ( A )的目的就是用最小的代价在尽可能短的时间内确定一个软件项目是否能够开发,是否值得去开发。A 软
7、件可行性研究 B 项目开发计划 C 软件需求分析 D 软件概要设计9. 系统流程图是一种传统工具,它用来描述(A) 。A 物理模型 B 逻辑模型 C 体系结构 D 目标系统10.( A )首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡。A 成本效益分析 B 货币的时间价值 C 投资回收期 D 纯收入10 可行性分析中,系统流程图用于描述(C) 。3A 当前逻辑模型 B 新系统 C 当前运行系统 D 目标系统11 需求分析阶段,分析人员要确定对问题的综合看法,其中最主要的是(A)需求 功能 性能 可靠性 可维护性12 对于存在多个条件复杂组合的判断问题,其加工逻辑使用(
8、D )描述较好。A 数据字典 B 数据流图 C 结构化语言 D 判定表和判定树13 需求分析阶段产生的最重要的文档是( A )A 需求规格说明书 B 修改完善的软件开发计划C 确认测试计划 D 初步的用户使用手册14 数据流图反映系统“做什么” ,不反映“如何做” ,因此箭头上的数据流名称只能是( C ) ,整个图不反映加工的执行顺序。A 动词或动词短语 B 形容词 C 名词或名词短语 D 副词15 需求分析阶段不适用于描述加工逻辑的工具是(A )A 模块图 B 结构化语言 C 判定表 D 判定树16 在数据流图的基本图形符号中,加工是以数据结构或( B )作为加工对象的。A 信息内容 B 数
9、据内容 C 信息流 D 信息结构17 设计软件结构一般不确定(D)A 模块之间的接口 B 模块间的调用关系 C 模块的功能 D 模块内的局部数据18 两个模块都使用同一张表,模块间的这种耦合称为( C )A 数据耦合 B 内容耦合 C 公共耦合 D 控制耦合19 将与同一张年报表有关的所有程序段组成一个模块,该模块的内聚性为( C )A 逻辑内聚 B 时间内聚 C 通信内聚 D 顺序内聚20 下列选项中,不能反映软件结构的基本形态特征是( C )A 深度 B 扇入 C 粒度 D 扇出21 划分模块时,下列说法正确的是(A)A 作用范围应在其控制范围之内 B 控制范围应在其作用范围之内C 作用范
10、围与控制范围互不包含 D 作用范围与控制范围不受任何限制22 下列选项中,不是结构图的主要成分的是(D )A 模块 B 模块间的信息传递 C 模块的控制关系 D 模块的内部数据23 结构化设计方法是一种面向( A )的设计方法。A 数据流 B 数据结构 C 数据库 D 程序24 结构化设计方法在软件开发中用于( B )阶段。A 软件需求分析 B 软件概要设计 C 软件详细设计 D 软件编码425 结构化程序流程图中一般包括三种基本结构,下述结构中(D)不属于其基本结构A 顺序结构 B 循环结构 C 选择结构 D 嵌套结构26 Jackson 图上下层之间是( B )关系。A 调用 B 组成 C
11、 主次 D 嵌套27 结构化程序设计主要强调的是( B )A 程序的执行效率 B 程序的易读性 C 程序的规模 D 程序的可移植性28 下列选项中,不属于程序设计语言心理特性的表现形式是( C )A 简洁性 B 歧义性 C 可移植性 D 局部性和顺序性29 下列选项中与选择程序设计语言无关的因素是( A )A 程序设计风格 B 软件执行的环境 C 软件开发的方法 D 项目的应用领域30 源程序中的序言性注释应置于每个模块的其实部分,该注释内容不应有(B )A 模块的用途 B 语句的功能 C 数据描述 D 模块的功能31 提高程序效率的根本途径并非在于( D )A 选择良好的设计方法 B 选择良
12、好的数据结构C 选择良好的算法 D 对程序语句做调整32 被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测,这种测试称为( C )A 白盒测试 B 黑盒测试 C 静态测试 D 动态测试33 下列几种逻辑覆盖标准中, ( D )覆盖是指设计足够的测试用例,覆盖被测试程序中所有可能的路径。A 判定 B 条件 C 判定/条件 D 路径34 白盒测试是结构测试,被测试对象基本上是源程序,以程序的( C )为基础设计测试用例。A 应用范围 B 功能 C 内部逻辑 D 输入数据35 下列不属于白盒测试技术的是(D) 。A 基本路径测试 B 条件覆盖 C 循环覆盖 D 错误
13、推测36 确认测试计划是在(A)阶段制定的。A 需求分析 B 详细设计 C 编码 D 测试37 软件测试的目的是( B )A 发现错误 B 改正错误 C 改善软件的性能 D 挖掘软件的潜能38 单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是(C) 模块接口 B 错误处理 C 系统功能 D 重要的执行路径539 产生软件维护的副作用是指(D )A 开发软件时的错误 B 运行时的错误C 隐含的错误 D 因修改软件而造成的错误。40 软件维护时因修改文件的打开或关闭而引入的错误是( A )副作用。 编码 数据 C 文档 D 控制41 软件开发阶段的关键目标是( C )A 软件的生
14、产率 B 软件的可靠性 C 软件的可维护性 D 软件的可实用性42 在整个软件维护阶段所花费的全部工作中, ( C )所占的比例最大。A 校正性维护 B 适应性维护 C 完善性维护 D 预防性维护43 ( C )是面向对象程序设计语言不同于其他语言的最主要的特点,是其他语言所没有的。A 对象唯一性 B 分类性 C 继承性 D 多态性44 面向对象分析阶段建立的三个模型中,核心的模型是(A)A 对象模型 B 动态模型 C 功能模型 D 分析模型45 表现了对象的相互行为的模型是( B )模型A 对象模型 B 动态模型 C 功能模型 D 分析模型46 在有多重继承的类层次结构中,它的类层次结构是(
15、 D)结构。A 网状 B 树 C 星 D 格47 动态模型的描述工具是( B )A 结构图 B 状态图 C 数据流图 D 流程图48 有时间间隔的,依附于状态的操作是(A )A 活动 B 动作 C 状态 D 处理49 在确定类时,所有( A)是侯选的类。A 名词 B 动词 C 形容词 D 副词50 在类的层次结构中,聚集关系是一种( A )关系。A 整体部分 B 一般具体 C 分类结构 D 或51 在类的层次结构中,一般化关系是一种( B )A 整体部分 B 一般具体 C 与 D has a三、填空题1 瀑布模型 是将软件生存周期各个活动规定为依线性顺序连接的若干阶段模型。2软件工程研究的主要
16、内容是软件开发技术和_ 软件开发管理 _两个方面。3_ 增量模型 _是一种非整体开发的模型。软件在该模型中是“逐渐”开发出来的。64软件工程是计算机科学中的一个分支,其主要思想是在软件生产中用_ 工程化 _的方法代替传统手工方法。5软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定 问题是否能够解决及是否值得开发 。6可行性研究的三个方面是技术可行性、_ 经济可行性 _、社会可行性。7通常用 投资回收期 _衡量一个开发项目的价值。8成本效益分析的目的是从_ 经济角度 _评价开发一个新的软件项目是否可行。9结构化分析的基本思想是采用_ 自顶向下逐步分解(面向数据) _的方法,能有效地控制
17、系统开发的复杂性10对于复杂问题的数据处理过程,要分层的数据流图来表达,它的顶层图描述了系统的_ 输入和输出 _。11需求分析的基本任务是要准确地定义_ 新系统的目标(系统必须完成哪些工作) _,为了满足用户需要,回答系统必须“做什么”的问题。12在画 DFD 时,一个局部数据存储只要当它作为 某些加工的数据接口 或某个加工特定的输入或输出时,就把它画出来。13传统的 SA 方法主要用于数据处理方面的问题,主要工具 DFD 体现了系统“做什么”的功能,但它仅是一个_ 静态模型 _,没有反映处理的顺序。14建立数据字典一般的两种形式是手工建立和_ 利用计算机辅助建立并维护 _.15软件结构的设计
18、是以_ 模块 _为基础的,以需求分析的结果为依据,组成一种系统的控制层次结构。16在多层次的结构图中,起模块的层次数称为结构图的_ 深度 _.17在结构化方法中,软件功能分解应属于软件开发中的_ 总体设计 _阶段。18两个模块之间有调用关系,传递的是简单的数据值,这种模块之间的偶合称为_ 数据偶合19一个模块内的各个处理元素之间没有任何联系,该模块的内聚性为_ 偶然内聚 _.20软件概要设计阶段产生的最重要的文档是_ 概要设计说明书 _.21对于各种软件系统,不论 DFD 如何庞大与复杂,DFD 的类型一般可分为_ 变换型 _和_ 事务7型 _两类。22在软件详细设计阶段,要对数据库进行 物理
19、设计 。23在软件详细设计阶段,使用 JSP 方法来完成设计的最后一步是用_ 伪码 _写出程序。24PAD 图是一种算法描述工具,可以在有 PAD 系统的计算机上,直接输入 PAD 图,由机器自动通过_ 走树 _的办法生成相应的源代码。27程序设计语言的特性主要有心理特性、工程特性和_ 技术特性 _三个方面。28效率是一个_ 性能 _要求,目标在需求分析给出。29语句构造的原则是_ 简单直接 _,不能为了追求效率而使代码复杂化。30为了使数据定义更易于理解和维护,一个语句说明多个变量时,各变量名按_ 字典(字母) _顺序排列。31动态测试中, 黑盒 测试法主要检查程序是否满足功能要求。32所有
20、模块进行完单元测试后,还必须按照设计要求组装成一个完整的系统进行_ 集成测试 _.33用等价类划分法设计一个测试用例,使其尽可能多地覆盖尚未被覆盖过的_ 合理(有效) _价类。34使用_ 边界值分析 _方法设计测试用例时,一般与等价类划分法结合起来,但它不是从一个等价类中任选一个例子作为代表。35采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种_ 结构化 _维护。36维护阶段是软件生存周期中时间 最长 _的一个阶段,所花费的精力和费用也是_ 最多 _的一个阶段。37类具有属性,它是对象的状态的抽象,用_ 数据结构 _来描述类的属性。38_ 对象 _是封装的最基本单
21、位。39现实世界中,各对象之间相互触发,一个触发行为就是一个_ 事件 _。40动作对象是一种主动对象,它通过生成或者使用数据值来驱动_ 数据流图 _。四、简答题1、简述软件危机主要体表现在哪两个方面?P28答:(一) 、无法满足日益增长的对软件的需求 1)对软件开发成本和进度的估计常常很不准确 2)用户对“已完成的”软件系统不满意的现象经常发生 3)软件产品的质量往往靠不住。(二) 、如何维护数量不断膨胀的已有软件:1)软件常常是不可维护的 2)软件通常没有适当的文档资料 3)软件成本在计算机系统总体中所占的比例逐年上升 4)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。2
22、、可行性研究有那些具体步骤?P26-P28(1)复查系统规模和目标(2)研究目前正在使用的系统(3)导出新系统的高层逻辑模型(4)进一步定义问题(5)导出和评价供选择的解法(6)推荐行动方针(7)草拟开发计划(8)书写文档提交审查3、需求分析的基本任务是什么?(1) 确定对系统的综合要求(2) 分析系统的数据要求(3) 导出系统逻辑模型(4) 修正系统开发计划 4、结构化分析方法通过那些步骤来实现?答:了解当前系统的工作流程,获得当前系统的物理模型。抽象出当前系统的逻辑模型。建立目标系统的逻辑模型。作进一步补充和优化。5、数据字典的作用是什么?它包括那些条目?答:数据字典是为了分析人员查找数据
23、流图中有关名字的详细定义而服务的。因此也像普通字典一样,要把所有条目按一定的次序排列起来,以便查阅。数据字典有四类条目:数据流、数据项、数据存储和基本加工。它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。答:它以图形的方式描述数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能。条目:外理、输入输出、连接、换页连接、数据流96、描述加工逻辑有那些工具?答:加工逻辑也称小说明,描述加工逻辑用以下三种:结构化语言、判定表、判定树。(1)结构化语言是介于自然语言和形式语言之间的一种半形式语言。它的结构可分成外层和内层两 层:外层用来描述控制结构,采用顺序、选择、重复三种基本
24、结构;内层 对于顺序执行和循环执行的动作,用结构化语言描述。对于存在多个条件复杂组合的判断问题,用判定表和判定树。(2)判定表:用判定表能够清楚的表示复杂的条件组合与应做的动作之间的对应关系。判定表能把在什么条件下系统应做什么动作准确无误的表示出来,但不能描述循环的处理特性。循环问题还需结构化语言。(3)判定树:它是判定表的变形,一般情况它比判定表更为直观,且易于理解和使用。7、采用黑盒技术设计测试用例有那几种方法?这些方法各有什么特点?(疑问)P162答:1)等价划分:(第一种、等价划分是一种黑盒测试技术,这种技术把程序的输入域划分成若干个数据类,据此导出测试用例。 )可省第二种、它将输入数
25、据域按有效的或无效的(也称合理的或不合理)划分为若干个等价类,测试各等价类的代表值就等于对该类其他值的测试。2)边界值分析:使用边界值分析方法设计测试用例时一般与等价划分结合起来,但不是从一个等价类中在选一个例子代表,而将测试边界情况作为重点目标选取正好等于,刚刚大于或刚刚小于边界的测试数据。3)错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。8、说明在面向对象方法中三种分析模型的关系。P219答:(三种模型之间的关系如下:1)对每个类建立的动态模型,描述了类实例的生命周期或运行周期。2)状态转换驱使行为发生,这些行为在数据流图中被映射成处理,在
26、用例图中被映射成用例,它们同时与类图中的服务相对应。3)功能模型中的处理(或用例)对应于对象模型中的类所提供的服务。4)数据流图中的数据存储,以及数据的源点/终点,通常是对象模型中的对象。5)数据流图中的数据流,往往是对象模型中对象的属性值,也可能是整个对象。6)例图中的行为者,可能是对象模型中的对象。7)功能模型中的处理(或用例)可能产生动态模型中的事件。7)对象模型描述了数据流图中的数据流、数据存储以及数据源点/终点的结构。 )可省10对象模型是分析阶段三个模型的核心,也是其他两个模型的框架。在建立对象模型时,确定类、关联、结构和属性,还没有确定操作。只有建立动态模型和功能模型后,才能最后
27、确定类的操作。功能模型指出了发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。五、应用题1、 交通工具分为空中、陆上、水上交通工具。空中交通工具分为客机,货机,专用轻型机;陆上交通工具分为火车,汽车,火车又分为客车、货车;水上交通工具有轮船,轮船分为客轮、货轮、客货混合轮。建立交通工具的对象模型。交通工具 a b s t r a c t d r i v e ( ) a b s t r a c t 空中 交通工具 a b s t r a c t a i r _ d r i v e ( )陆上 交通工具 a b s t r a c t l a n d _ d r i v e ( )水
28、 上 交通工具 a b s t r a c t w a t e r _ d r i v e ( )由. . . 组成客机a i r _ d r i v e ( )货机a i r _ d r i v e ( )专用轻型机a i r _ d r i v e ( )由. . . 组成火车l a n d _ d r i v e ( )汽车l a n d _ d r i v e ( )由. . . 组成客车l a n d _ d r i v e ( )货车l a n d _ d r i v e ( )由. . . 组成客轮w a t e r _ d r i v e ( )货轮w a t e r _ d
29、r i v e ( )客货混合轮w a t e r _ d r i v e ( )由. . . 组成2、下面是某程序的流程图:(1)计算它的环路复杂性。 4(2)为了完成基本路径测试,求它的一组独立的路径。0 7T1 F2 8F2abact=a; a=b: b=tt=c; c=a; a=tbc t=b; b=c; c=t排序结果输出交通工具空中 陆上 水上客机 货机 专用机 火车 汽车 客轮 货轮旅客列车 货运列车 客车 货车 客货车11T3 8 F4 T5 9F6 10答:环路复杂性为 4答:为了完成基本路径测试,独立路径分别为:0T1710,0F2F4F6,0F2T38100F2F4T59
30、103、调整工资”处理模块接受一个“职称”变量,根据职称的不同(助教、讲师、副教授、教授)作为不同的处理,其中若是助教还必须输入工龄,只有工龄超过 2 年才能调整工资。请用等价类划分法设计测试用例。答:根据题意可设计出下述测试方案:(1) 有效输入等价类(a) 职称:助教、讲师、副教授、教授(b) 工龄:大于 0 的整数(c) 职称中的特例:助教(2) 无效输入的等价类有(a) 职称不在(助教、讲师、副教授、教授)中的。(b) 工龄小于 0 的负数。(c) 工龄大于 50 的正整数。(d) 职称:空字符串(e) 工龄:空字符串(3) 合法输出的等价类有(a) 调整工资(b) 工资不变(4) 非
31、法输出的等价类有(a) 其它变量具体方案为:(1) 输入合法的职称。输入:讲师预期结果:调整工资(2) 输入职称为助教且工龄合法输入:助教输出:工龄多少年:3预期结果:调整工资(3) 输入职称为助教且工龄少于最低年龄输入:助教输出:工龄多少年:-2预期输出:“错误-工龄输入无效!”(4) 输入职称为助教且工龄大于最大年龄输入:助教输出:工龄多少年:6612预期结果:“错误-工龄输入无效!”(5) 输入职称为助教且输入工龄为空输入:助教输出:工龄多少年: 预期结果:“错误-工龄输入无效!”(6) 输入不正确的职称输入:大学生预期的输出:“错误-职称输入无效!”(7) 输入空的职称输入: 预期结果
32、:“错误-职称输入无效!”答: 划分等价类表输入条件 合理等价类 不合理等价类职称 1)教授 2)副教授 3)讲师 4)四种职称之外的任一种职称兼工龄 5)助教兼工龄大于 2 年 6)助教工龄为 2 年 7)大于 2 年设计测试用例: 输入数据 预期结果 覆盖范围教授 输入有效,进行调整工资处理 1副教授 输入有效,进行调整工资处理 2讲师 输入有效,进行调整工资处理 3助教 3 输入有效,进行调整工资处理 5助教 2 输入有效,不调整工资 6助教 1 输入有效,不调整工资 7工程师 输入无效 44、一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。主机包括一个鼠标,一个主板
33、,一个电源,存储器等部件。存储器又分为固定存储器、活动存储器,固定存储器又分为内存和硬盘,活动存储器又分为软盘和光盘。建立微机的对象模型。危机主机 显示器 键盘 鼠标 汉王笔机箱 主板 存储器 电源固定存储器 活动存储器内存 硬盘 软盘 光盘13微机 a b s t r a c t c o n s i s t _ o f ( ) a b s t r a c t 显示 器c o n s i s t _ o f ( )键盘c o n s i s t _ o f ( )鼠标c o n s i s t _ o f ( )鼠标c o n s i s t _ o f ( )主板c o n s i s t
34、_ o f ( )电源c o n s i s t _ o f ( )存储 器c o n s i s t _ o f ( )主机c o n s i s t _ o f ( )由. . . 组成由. . . 组成固定存 储 器c o n s i s t _ o f ( )活动存 储 器c o n s i s t _ o f ( )内存c o n s i s t _ o f ( )硬盘c o n s i s t _ o f ( )软盘c o n s i s t _ o f ( )光盘c o n s i s t _ o f ( )由. . . 组成由. . . 组成由. . . 组成5、投资 5000
35、 修改某库存清单系统,两年以后可以节省 4225.12 元,三年以后将再节省 1779.45 元,五年后总共节省 9011.94 元,求该项投资的投资回收期是几年?五年后的纯收入是多少?答:此项目不考虑利率(货币的时间价值) 。两年后可节省 4225.12,比最初的投资(5000 元)还少 774.88,第三年以后将再节省 1779.45 元。774.88/1779.45=0.44,因此投资回收期是 2.44 年。五年后总共节省 9011.94 元,工程的纯收入预计是:9011.94-5000=4011.94(元)6、工厂对部分职工重新分配工作的政策是:年龄在 20 岁以下者,初中文化程度脱产
36、学习,高中文化程度当钳工;年龄在 20 岁至 40 岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在 40 岁以上者,中学文化程度当材料员,大学文化程度当技术员。试用判定树描述上述问题。1 2 3 4 5 6 7 8 9 10年龄40 F F F F F F F T T T初中文化 T F T T F F F T F F高中文化 F T F F T T F F T F大学 F F F F F F T F F T男性 T F T F女性 F T F T脱产学习 钳工 车工 技术员 材料员 147、请用 PAD 图描述下列程序的算法:把键盘输入的 10 个数依次从大到小排列。i = 0 , j = 0W H I L E i a j a i a j 输出a i i + + , j = 0