东大《软件设计模式》.doc

返回 相似 举报
东大《软件设计模式》.doc_第1页
第1页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述:
东 北 大 学 继 续 教 育 学 院 软件设计模式 试 卷(作业考核 线上1) A 卷学习中心 院校学号 姓名 (共 5 页) 总分题号一二三四五六七八九十得分一、单选题(共40分,20小题,每小题2分。)1. 以下标识符中,正确的是 AA._nName B.sizeof C.16A D.xl02. 在c程序中,入口函数的正确声明为 BA. static int main..B. static void MainC.static void mainD.void Main3. 在C中,引用命名空间system 的正确语句是 AA. using System;B. importSystem;C. uses System;D. includeSystem;4. 在C中,表示一个字符串的变量应使用以下哪条语句定义 BA. CString str; B. string str; C. Dim str as string D. char * str; 5. 结构化程序设计的3种结构是 DA. 顺序结构、if结构、for结构B. if结构、ifelse结构、else if结构C. while结构、dowhile结构、foreach结构D. 顺序结构、分支结构、循环结构6. 能正确表示逻辑关系“a10 或a0”的C语言表达式是 DA. a10 or a0B. a10|a0C. a10public string sDataset_sData value; 在Main 函数中,在成功创建该类的对象obj 后,下列哪些语句是合法的 AA. obj.sData It is funny; B. Console.WriteLineobj.sData; C. obj._sData 100; D. obj.setobj.sData; 8. 在类的外部可以被访问的成员是 AA、public成员 B、private成员C、protected成员D、protected internal成员9. 在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成____C_____。A. sealed 方法B. public 方法C. visual 方法D. override 方法10. 关于结构类型,下列说法哪些是正确的 AA. 结构是值类型B. 结构中不允许定义带参数的实例构造函数;C. 结构中不允许定义析构函数D. 结构中可以定义成员方法,但是方法内不能使用this 指针11. 判断下列类MyClass 的定义中哪些是合法的抽象类 DA. abstract class MyClass public abstract int getCount; B. abstract class MyClass abstract int getCount; C. private abstract class MyClass abstract int getCount; D. sealed abstract class MyClass abstract int getCount; 12. C中执行下列语句后整型变量X和Y的值是多少 D Int x 100; Int y x;A. x 100 y 100B. x 101 y 100C. x 100 y 101 D. x 101 y 10113. 在编写c程序时,若需要对一个数组中的所有元素进行处理,则使用__B_循环体最好 A. while循环B. for each 循环C. do循环D. for 循环14. 下面是几条动态初始化二维数组的语句,指出其中正确的 DA. int arr5new int4,5;B. int arr6 new int4, 5;C. int arr7,new int4,5;D. int, arr8new int4,5;15. 下面有关析构函数的说法中,不正确的是 DA. 析构函数中不可以包含return语句B. 一个类中只能有一个析构函数C. 析构函数在对象被撤销时,被自动调用D. 用户可以定义有参析构函数16. 下列说法哪个正确 BA. 不需要定义类,就能创建对象B. 属性可以定义为抽象的C. 对象中必须有属性和方法D. 常量不能作为类成员17. 下面有关静态方法的描述中,正确的是 CA. 静态方法属于类,不属于实例B. 静态方法可以直接用类名调用C. 静态方法中,可以访问非静态的局部变量D. 静态方法中,可以访问静态的变量18. 以下描述错误的是AA. 在C中支持抽象类,但在C中不支持抽象类。B. C中可在头文件中声明类的成员,而在CPP文件中定义类的成员;在C中没有头文件并且在同一处声明和定义类的成员。C. 在C中可使用 new 修饰符显式隐藏从基类继承的成员。D. 在C中要在派生类中重新定义基类的虚函数必须在前面加Override。19. 下列关于构造函数的描述正确的是CA. 构造函数可以声明返回类型。B. 构造函数不可以用private修饰C. 构造函数必须与类名相同D. 构造函数不能带参数20. 变量x的值为25,要输出x的值,下列正确的语句是CA. System.Console.writeline“x”B. System.Console.WriteLine“x”C. System.Console.writeline“x0”,xD. System.Console.writeline“xx”二判断题(共20分,20小题,每小题1分。正确表示,错误表示)1. 软件危机与软件本身的特点有关。( )2. 结构化程序设计的3种基本结构是顺序、循环和选择。( )3. 面向数据流的设计以面向对象分析阶段的数据流图为基础。( )4. 软件测试方法主要白盒测试和黑盒测试两种。( )5. 螺旋模型包括制定计划、概要设计,详细设计和工程实施四个主要部分。( )6. 变换型数据流图的一般步骤是分析数据、变换数据、打印结果。( )7. 对象通过封装实现信息隐藏,封装的目的就是阻止非法访问。( )8. 在面向对象方法中,对象是对类的抽象,特殊类是对一般类的抽象。( )9. 面向过程方法的缺点是过程和数据结合的过于紧密。( )10. 高耦合是优秀设计的重要标准,有助于使得系统中各部分之间联系紧密。( )11. 消息可以用顺序图和协作图这两种图来表示。( )12. 状态图、顺序图、协作图和部署图属于动态建模机制。( )13. 顺序图描述系统中对象间通过消息进行的交互,强调消息在时间轴上的先后顺序。( )14. 提倡设计模式的根本原因是增强代码复用,增加可维护性。( )15. 里氏代换原则的本质是在同一个继承体系中的对象应该有共同的行为特征。( )16. 工厂方法是抽象工厂模式的扩展。( )17. 提倡设计模式的根本原因是增强代码复用,增加可维护性。( )18. 抽象类不可以被实例化。( )19. 当创建派生类对象时,先执行基类的构造函数,后执行派生类的构造函数。( )20. 虚函数是可由子类继承并重写的函数。( )三简答题(共25分,5小题,每小题5分。)1. 软件危机的主要表现有哪些答1.对软件开发成本和进度的估计常常很不准确。2.用户对“已完成的”软件系统不满意的现象经常发生。3.软件产品的质量常常靠不住。4.软件常常是不可维护的。5.软件通常没有适当的文档资料。6.软件成本在计算机系统总成本中所占比例逐年上升2. 试简述瀑布模型。答瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序。如同瀑布流水,逐级下落。 每个阶段都会产生循环反馈下一阶段信息未被覆盖或发现问题,可返回上一阶段进行修改。3. 简述建立动态模型时,构造事件跟踪图的方法。答事件跟踪图能够清楚地表达事件之间及事件与对象之间的关系。在事件跟踪图中,用一条竖直线代表一个类或对象,用一条水平的箭头表示一个事件。箭头方向是从发送事件的对象指向接受事件的对象。事件按产生的时间从上向下逐一列出。箭头之间的距离并不代表两个事件之间的时间差,箭头在垂直方向上的相对位置表示事件发生的先后顺序。4. 设计模式的基本要素有哪些答设计模式的基本要素包括(1)模式名称一个助记名,它用一两个词来描述模式的问题、解决方案和效果。(2)问题描述了应该在何时使用模式。解释设计问题和问题存在的前因后果,它可能描述了特定的设计问题,也可能描述了导致设计方案不灵活的类或对象结构。(3)解决方案描述设计的组成成分,它们之间的相互关系及各自的职责和协作方式。解决方案一般并不描述特定而具体的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合(类或对象组合)来解决这个问题。 (4)效果描述了模式应用的效果及使用模式应权衡的问题。因为复用是面向对象设计的要素之一,所以模式效果包括它对系统的灵活性、扩充性或可移植性的影响。5. 什么是创建型设计模式,它的目的是什么答创建型设计模式就是用来创建对象的模式,抽象了实例化的过程。创建型模式的目的将具体的对象的实例化操作封装起来,客户端只了解自己需要某个实例,但不必了解该实例的创建过程。这体现了面向对象设计方法中“高内聚,低耦合”的设计原则。四综合题(共15分)1. 试举一个例子并设计类适配器模式的UML结构图。(7分)答类适配器一般结构如图1,对象适配器一般结构如图2,具体类名可根据实际替换.图1图22. 定义一个抽象的运动员(Player)基类,具有抽象方法Train方法。然后以该类为基类,派生出BasketballPlayer、FootballPlayer等类。(8分)答/// 抽象类运动员public abstract class Playerpublic abstract void Train;public class BasketballPlayer Playerpublic override void Train Console.WriteLineBasketball players are training...;public class FootballPlayer Playerpublic override void Train Console.WriteLineFootball players are training...; 6课程名称 软件设计模式
展开阅读全文

资源标签

最新标签

copyright@ 2019-2020 芝麻文库网站版权所有
经营许可证编号:鲁ICP备17020294号-14