当前位置:文档之家› 《程序设计基础》记分作业4答案

《程序设计基础》记分作业4答案

《程序设计基础》记分作业4答案
单选题。

(共16道试题,每题3分)
1、树的典型特点是各个结点之间是( C )。

A、没有直接关系
B、一对一关系
C、一对多关系
D、多对多关系
2、采用顺序空间作为栈的存储空间时,在进行栈操作的时候( D )。

A、不需要判断栈是否空,不需要判断栈是否满 B、不需要判断栈是否空,但需要判断栈是否满 C、需要判断栈是否空,不需要判断栈是否满 D、需要判断栈是否空,也需要判断栈是否满
3、在存储线性表时,( C )。

A、只能采用顺序存储结构
B、只能采取链式存储结构
C、可以任意采用顺序或链式存储结构
D、没有明确的结论
4、线性表表长的含义是( C )。

A、线性表所占用的内存字节数量
B、线性表占用的内存和外存的字节数量
C、线性表中所包含的元素数量
D、线性表在内存中元素的数量
5、采用链式存储保存线性表与采用顺序存储保存线性表进行比较,在链式存储线性表时进行插入操作的执行效率( C )。

A、比较低
B、一样
C、比较高
D、没有明确结论
6、对于一张一般的图,其中的各个结点之间的关系是( D )。

A、集合关系
B、一对一关系
C、一对多关系
D、多对多关系
7、数据的存储结构分为( D )。

A、线性存储结构和非线性存储结构
B、有序存储结构和非有序存储结构
C、树型存储结构和图型存储结构
D、链式存储结构和顺序存储结构
8、进行折半查找的条件是( A )。

A、数据有序且采用顺序存储方式
B、数据不需要有序,但需要顺序存储
C、数据有序且采用链式存储方式
D、数据不需要有序,但需要链式存储
9、采用链式存储的有序数据要进行查找,可以采用( A )。

A、顺序查找
B、折半查找
C、顺序索引查找
D、顺序或折半查找
10、下面4句结论中只有一句是错误的,它是( B )。

A、二叉树是树
B、二叉树的左右子树的位置可以颠倒
C、可以使用二叉树的思想对数值进行排序
D、可以采用链表方式存储二叉树
11、软件生存周期是指( D )。

A、软件从编程开始,经过调试直至交付使用的全过程
B、软件从编程、测试和使用,直到维护结束的全过程
C、软件从定义、需求分析和编程,直至最后完成的全过程
D、软件从开发、使用和维护,直至最后退役的全过程
12、在下列4种方法中,有一个不是软件的开发模型,它是( D )。

A、瀑布模型
B、螺旋模型
C、喷泉模型
D、逐步求精法
13、下面关于测试的结论中只有一个是正确的,它是( A )。

A、测试工作要贯穿于整个软件开发的全过程 B、测试工作是指在编程实现过程中进行的排错工作 C、测试工作是指在产品完成后用户的验收工作过程 D、测试工作量的弹性比较大,可以根据时间进度进行裁减
14、在软件需求完全确定的情况下,应该采用的软件开发模型是( A )。

A、瀑布模型
B、渐进式开发模型
C、原型模型
D、螺旋模型
15、程序设计要遵循一定的开发方法及思想,以下有一个不是程序设计过程中应该遵循的开发方法,
它是( D )。

A、结构化设计方法
B、模块化程序设计方法
C、面向对象的程序设计方法
D、数据结构优先原则
16、螺旋模型中包括需求定义、风险分析、工程实现和评审四个阶段,在开发过程中( A )。

A、每个周期都要包括这四个阶段
B、每个周期可以包括不同的阶段
C、在最后交付使用之前才进行评审
D、开项目开始时才需要进行风险分析
判断题。

(共14道试题,每题2分)
1、数据的逻辑结构是指数据元素之间的逻辑关系,与数据的存储无关,它独立于计算机,如用户在电话号码表中的先后次序关系。

( √ )
2、在图型结构中,任何两个结点之间都可能存在着联系,数据元素之间存在着多对多的关系。

( √ )
3、常见的线性结构有线性表、栈和队列等,其主要特征为各个结点之间“先后”有序。

( √ )
4、通常二叉树采用链式存储结构。

( √ )
5、数据的存储结构可以用顺序存储方式和链式存储方式。

( √ )
6、穷举法也叫枚举法或蛮干法。

( √ )
7、所谓算法,粗略地讲,是为解决一个特定的问题而采取的特定的有限的步骤。

( √ )
8、一个完整的计算机算法应满足输入性、可行性、输出性、有穷性和确定性。

( √ )
9、百钱百鸡问题需要用穷举法来解决。

( √ )
10、在一定意义上,人们认为:程序=算法+数据结构。

( √ )
11、软件开发模型大体上可分为两种类型,第一种是以软件需求完全确定为前提的瀑布模型。

第二种是在软件开发初始阶段只能提供基本需求时采用的渐进式开发模型,如原型模型、螺旋模型等。

( √ )
12、当前流行的程序设计方法是结构化程序设计和面对对象程序设计。

( √ )
13、软件产品从形成概念开始,经过开发、使用和维护,直至最后退役的全过程称为软件生存周期。

( √ )
14、软件工程就是应用计算机科学、数学及管理科学等原理,开发软件的工程。

( √ )
编程题。

(共2道试题,每题6分)
1、百钱百鸡问题。

中国古代数学家张丘建在他的《算经》中提出了著名的“百钱百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何?
2、利用穷举法编写一个算法判断给定的正整数n是否是素数,即判断n 是否只能被1和自身整除。

简答题。

(共3道试题,每题4分)
1、何谓算法?算法有什么性质?
算法就是为解决一个特定问题而采取的特定的有限的步骤。

一个完整的计算机算法必须满足下述5个准则或标准:有穷性,确定性,可行性,输入性,输出性。

具有上述5个特性才能称为算法,而其中最重要的是算法的有穷性,如果不具备有穷性的性质,仅具有另外4种性质,只能称为计算过程或计算方法,而不是算法。

2、瀑布模型的主要思想和特点是什么?
瀑布模型也称软件生存周期模型。

根据软件生存周期各个阶段的任务,瀑布模型从可行性研究(或称系统需求分析)开始,逐步进行阶段性变换,直至通过确认测试并得到用户确认的软件产品为止。

瀑布模型上一阶段的变换结果是下一阶段变换的输入,相邻的两个阶段具有因果关系,紧密相联。

一个阶段工作的失误将蔓延到以后的各个阶段。

为了保证软件开发的正确性,每一阶段任务完成后,都必须对它的阶段性产品进行评审,确认之后再转入下一阶段的工作。

评审过程发现错误和疏漏后,应该反馈到前面的有关阶段修正错误、弥补疏漏,然后再重复前面的工作,直至某一阶段通过评审后再进入下一阶段,这种形式的瀑布模型是带有反馈的瀑布模型。

瀑布模型在软件工程中占有重要的地位,它提供了软件开发的基本框架,这比依靠“个人技艺”开发软件好得多。

它有利于大型软件开发过程中人员的组织
和管理,有利于软件开发方法和工具的研究与使用,从而提高了大型软件项目开发的质量和效率。

瀑布模型的主要特点是:阶段间的顺序性和依赖性,开发过程是一个严格的下导式过程,即前一阶段的输出是后一阶段的输入,每一阶段工作的完成需要确认,而确认过程是严格的追溯式过程,后一阶段出现了问题要通过前一阶段的重新确认来解决。

因此,问题发现得越晚解决问题的代价就越高。

瀑布模型的主要缺点是:
(1)在软件开发的初始阶段指明软件系统的全部需求是困难的,有时甚至是不现实的。

(2) 软件开发是个知识密集型的开发活动,需要人们合作交流才能完成,但在瀑布模型中没有这方面的体现。

随着软件开发项目规模的日益庞大,由此引发的问题显得更为严重。

3、在软件工程过程中围绕着工程设计、工程支持和工程管理应当遵循什么基本原则?
围绕工程设计、工程支持以及工程管理,提出了以下四条基本原则:
第一条原则是选取适宜的开发模型。

该原则与系统设计有关。

在系统设计中,软件需求、硬件需求以及其它因素之间是相互制约、相互影响的,经常需要权衡。

因此,必须认识需求定义的易变性,采用适宜的开发模型予以控制,以保证软件产品满足用户的要求。

第二条原则是采用合适的设计方法。

在软件设计中,通常要考虑软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征。

合适的设计方法有助于这些特征的实现,以达到软件工程的目标。

第三条原则是提供高质量的工程支持。

在软件工程中,软件工具与环境对软件过程的支持颇为重要。

软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。

第四条原则是重视开发过程的管理。

软件工程的管理,直接影响可用资源的有效利用,生产满足目标的软件产品,提高软件组织的生产能力等问题。

因此,仅当软件过程予以有效管理时,才能实现有效的软件工程。

相关主题