文档库 最新最全的文档下载
当前位置:文档库 › 2009年华为软件设计大赛试卷

2009年华为软件设计大赛试卷

2009年华为软件设计大赛试卷
2009年华为软件设计大赛试卷

类别:软件C++

注意:如对考试题目有任何疑问,请举手与现场监考人员联系,监考人员会协助跟出题人员澄清疑问)

所有答案写答题纸上,写试卷纸上无效。[详见考试说明]

第一部分:客观题

客观题部分,共30分,建议这部分答题用40分钟。

一、单选题(每题1分,共10题)

1、下列那种不是任务间通讯的方式____

A)信号量

B)消息队列

C)共享内存

D)中断

2、以下叙述中不正确的是____

A)在不同的函数中可以使用相同名字的变量

B)函数中的形式参数是局部变量

C)在一个函数内定义的变量只在本函数范围内有效

D)在一个函数内的复合语句中定义的变量在本函数范围内有效(复合语句指函数中的成对括号构成的代码)

3、若整型变量a的值为50,则c语言表达式a>>2的值为____

A)50

B) 25

C) 12.5

D) 12

4、下面方法中,哪一个不能很好解决死锁问题?____

A) 给每一个进程不同的优先级,并按照优先级的大小决定在资源队列中的顺序。

B) 让进程开始运行时获得全部的资源,在不能获得全部资源时重新启动。

C) 给资源编号,并要求进程按照编号的顺序申请资源。

D) 提供超时机制,在进程进入资源等待后一段随机时间内重起进程。

5、下面的程序是对二叉树的前序遍历,请写出下面空格中的语句____

其中,Visit函数表示访问节点数据。

void PreOrder(BinaryTreeNode *t)

{

// 对* t进行前序遍历

if (t)

{

(_1_);

(_2_);

(_3_);

}

}

A) PreOrder(t->LeftChild) Visit(t) PreOrder(t->RightChild)

B) PreOrder(t->LeftChild) PreOrder(t->RightChild) Visit(t)

C) Visit(t) PreOrder(t->RightChild) PreOrder(t->LeftChild)

D) Visit(t) PreOrder(t->LeftChild) PreOrder(t->RightChild)

6、已知int a[]={10,9,8,7,6}; int *p = a;则(*(p+1))*(p+2)[2]的值是____

A)72

B)80

C)54

D)有语法错误

7、下面关于new 和delete操作符的说法,哪个是不正确的____

A)使用new操作符,可以动态分配全局堆中的内存资源

B)若p的类型已由A*强制转换为void *,那么执行语句delete p;时,类A的析构函数不会被调用

C)new和delete通常成对地使用

D)执行语句A * p=new A[100];时,类A的构造函数只会被调用1次

8、如下代码,正确的是____

class CExample

{

public:

static void Func( void* pobj );

private:

char m_cTest;

};

A) void CExamle::Func( void* pobj )

{

m_cTest = ( char )0;

}

B) 在Func内部不能访问类的私有成员m_cTest;

C) void CExample::Func( void* pobj )

{

CExample *pThis;

pThis = dynamic_cast< CExample* >( pobj );

ASSERT( NULL != pThis );

pThis->m_cTest = ( char )0;

}

D) void CExample::Func( void* pobj )

{

CExample::m_cTest = ( char )0;

}

9、对于下面的类CA,在32位计算机、4字节对齐的情况下,sizeof(CA) = ____ class CA

{

public:

CA();

virtual ~CA();

private:

int m_iTime;

public:

int GetTime();

int SetTime(int iTime);

};

A)16

B)12

C)8

D)4

10、对于下面的代码,描述正确的是____

class A

{

public:

virtual void test();

};

class B: public A

{

public:

void test();

...

};

class C: public B

{

public:

void test();

...

};

A) B类的test函数是虚函数,而C类的也是

B) B类的test函数不是虚函数,C类的是

C) B类的test函数是虚函数,而C类的不是

D) C类的test函数不是虚函数

二、多选题(每题2分,共10题,少选可得1分)

11、关于变量定义,下列说法正确的有____

A)公共变量是增大模块间耦合的原因之一,故应减少没必要的公共变量以降低模块间的耦合度

B)命名中若使用特殊约定或缩写,则要有注释说明

C)变量名的命名要清晰、明了,有明确含义

D)除非必要,不要用数字或较奇怪的字符来定义标识符

12、请找出以下程序中的错误,不考虑命名规范和排版的问题____

long strlen(char *p )

{

ASSERT(p);

long i = 0;

while (*p)

{

i++;

p++;

}

return i;

}

ShowErrMsg(char *msg)

{

int nCount = 1; -------A

if (msg == NULL) return;

char *pBuf = (char *)malloc(256); -------B

if (pBuf == NULL) return;

if ( strlen(msg) > 256 )

{

strncpy(pBuf, msg, 256);

pBuf[256] = ‘\0’;

}

else

{

strcpy( pBuf, msg); -------C

}

printf( "No. %d: This message is: %s\n", nCount, pBuf );

nCount++;

pBuf = NULL; -------D

}

13、下列代码中对const关键字的使用是正确并有意义的____

class SomeClass

{

int m_nValue;

char* m_pszName;

public:

SomeClass(int id);

int GetValue() const; //---------------- A

void SetValue(const int value); //------ B

const char* GetName(); //---------------- C

void SetName(const char* pszName); //--- D

void DoSomething(char* const p); //------ E

}

14、多任务系统中,任务所具有的基本状态有____

A)就绪

B)执行

C)阻塞

D)挂起

15、下列说明哪些是正确的____

A)一个类必须至少提供一个构造函数

B)缺省构造函数是指不用指定任何实参就能被调用的构造函数,这并不意味着它不能接受

实参

C)父类的构造函数肯定在子类的构造函数之前被调用

D)如果一个类不显式地提供缺省构造函数则编译器会自动生成一个以初始化其数据成员

E)子类的析构函数中要调用父类的析构函数以确保父类的成员被释放

F)构造和析构函数中不应该调用虚函数

16、在一个老版本代码中已经声明了myfunc函数:int myfunc(int a,double b),小李在

开发新版本时增加了如下几个函数声明,请问哪些不是对老版本函数的重载声明____

A)int myfunc(int c, double d)

B)int myfunc(int a,double b=0.5)

C)double myfunc(int , double )

D)int myfunc(double b,int a)

17、类B的析构函数不为virtual,类D是类B的子类,并且是public继承的,B和D都定义了缺省的构造函数,下面正确代码段有____

A)B* pb = new B;delete pb;

B)D* pd = new D;delete pd;

C)B* pb = new D;delete pb;

D)D d;B* pb = &d;

18、假定类CA的声明如下, 下面哪些语句声明了a是CA的对象____

class CA

{

CA ();

CA (int iValue);

... ...

};

A)CA a;

B)CA a();

C)CA a(100);

D)CA a = 100;

19、下面关于指针和引用的说法正确的是____

A)指针变量存放的是内存地址,并且可以置为0

B)定义引用变量时,必须同时指明具体被引用的对象或变量

C)使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址

D)类中的数据成员可以是指针变量,但不能是引用变量

20、下列代码中正确的有____

A)char* p = malloc(100); free(p);

B)char* p = malloc(100); delete p;

C)char* p = new char[100]; delete p;

D)char* p = new char[100]; delete[] p;

E)char p[100]; delete[] p;

F)char p[100]; delete p[100];

三、编程题(共2题,第1题40分,第2题30分。请上机编写程序,按题目要求提交文件。本

试题采用自动测试用例进行评分,测试用例不对考生公开?,凡不满足提交要求导致不能编

译或用例不通过,不予评分)。

1. 报数游戏

问题描述:

设有N个人围坐一圈并按顺时针方向从1到N编号,从第S个人开始进行1到M报数,报数到第M 个人时,此人出圈,再从他的下一个人重新开始1到M的报数,如此进行下去直到所有的人都

出圈为止。现要打印出出圈次序。

要求实现函数:

void circle_sort (int n, int s, int m, int *p)

输入:n 游戏总人数 s 报数的起始编号 m 报数的数值

输出:p 指向长度为n的数组,出圈次序保存在p指向的数组中

示例

n=7 s=2 m=3 出圈次序为:4 7 3 1 6 2 5

n=3 s=1 m=2 出圈次序为:2 1 3

2. 实现子串查找程序

问题描述:

判断一个字符串(dst)是否是另一个字符串(src)的子串;输出子串在母串中的第一次出现的起始位置;

匹配的时候不区分大小写;

不能使用库函数(使用库函数按0分计算);

要求实现函数:

unsigned int str_str(char * src, char *dst);

返回:如果dst是src的子串则返回起始位置

如果不是则返回0

输入:src 指向母串的指针;dst 指向子串的指针

示例

src->akrsd5859 dst->rsd

则返回3

src->Rstsawerst36ds dst->rst

则返回8

src->dfsge dst-> dfsgesa

则返回0

蓝桥杯软件设计大赛习题

1.语法知识vs 任务型 int i = 0; while(i>3) ++i; // 循环几次? 10! 共有几位数字? 100! 呢? 2.描述性vs 确定性 c语言宏定义与内联函数有什么区别? Java static 可否修饰内部类? 一幅随机排列的扑克牌(52张),随机抽取5张,含有“对子”的概率是多少?“同花顺”的概率呢? 3.二阶魔方旋转 魔方可以对它的6个面自由旋转。 我们来操作一个2阶魔方(如图1所示): 为了描述方便,我们为它建立了坐标系。 各个面的初始状态如下: x轴正向:绿 x轴反向:蓝 y轴正向:红 y轴反向:橙 z轴正向:白 z轴反向:黄 假设我们规定,只能对该魔方进行3种操作。分别标记为:

x 表示在x轴正向做顺时针旋转y 表示在y轴正向做顺时针旋转z 表示在z轴正向做顺时针旋转 xyz 则表示顺序执行x,y,z 3个操作

题目的要求是: 从标准输入获得一个串,表示操作序列。 程序输出:距离我们最近的那个小方块的3个面的颜色。 顺序是:x面,y面,z面。 例如:在初始状态,应该输出: 绿红白 初始状态下,如果用户输入: x 则应该输出: 绿白橙 初始状态下,如果用户输入: zyx 则应该输出: 红白绿 4.连通单体面积统计 BMP是常见的图像存储格式。 如果用来存黑白图像(颜色深度=1),则其信息比较容易读取。 与之相关的数据: (以下偏移均是从文件头开始) 偏移:10字节, 长度4字节:图像数据真正开始的位置。

偏移:18字节, 长度4字节:位图的宽度,单位是像素。 偏移:22字节, 长度4字节:位图的高度,单位是像素。 从图像数据开始处,每个像素用1个二进制位表示。 从图片的底行开始,一行一行向上存储。 Windows规定图像文件中一个扫描行所占的字节数必须是4字节的倍数,不足的位均以0 填充。例如,图片宽度为45像素,实际上每行会占用 8个字节。 可以通过Windows自带的画图工具生成和编辑二进制图像。 需要在“属性”中选择“黑白”,指定为二值图像。 可能需要通过查看| 缩放| 自定义... 把图像变大比例一些, 更易于操作。 图像的左下角为图像数据的开始位置。白色对应1,黑色对应0 我们可以定义:两个点距离如果小于2个像素,则认为这两个点连通。 也就是说:以一个点为中心的九宫格中,围绕它的8个点与它都是连通的。如:t1.bmp 所示,左下角的点组成一个连通的群体; 而右上角的点都是孤立的。 程序的目标是:根据给定的黑白位图,分析出所有独立连通的群体, 输出每个连通群体的面积。所谓面积,就是它含有的像素的个数。 输入数据固定存在in.bmp中。 如示例的in.bmp, 程序应该输出: 12 81 52 133 该输出表示:共有4个连通群体。 输出的连通体面积间的顺序可以随意。

2019年上半年软件设计师上午试题及答案

2019年上半年软件设计师上午试题及答案 1.计算机执行指令的过程中,需要由()产生每条指令的操作信号并将信号送往相应的部件进行处理,以完成指定的操作。 A.CPU的控制器 B.CPU的运算器 C.DMA控制器 D.Cache控制器 2.DMA控制方式是在()之间直接建立数据通路进行数据的交换处理。 A.CPU与主存 B.CPU与外设 C.主存与外设 D.外设与外设 3.CPU访问存储器时,被访问数据一般聚集在一个较小的连续存储区域中。若一个存储单元已被访问,则其邻近的存储单元有可能还要被访问,该特性被称为() A.数据局部性 B.指令局部性 C.空间局部性 D.时间局部性 4.某系统由3个部件构成,每个部件的千小时可靠度都为R,该系统的千小时可靠度为(1-(1-R)2)R,则该系统的构成方式是()。 A.3个部件串联

B.3个部件并联 C.前两个部件并联后与第三个部件串联 D.第一个部件与后两个部件并联构成的子系统串联 5.在()校验方法中,采用模2运算来构造校验位。 A.水平奇偶 B.垂直奇偶 C.海明码 D.循环冗余 6.以下关于RISC (精简指令系统计算机)技术的叙述中,错误的是()。 A.指令长度固定、指令种类尽量少 B.指令功能强大、寻址方式复杂多样 C.增加寄存器数目以减少访存次数 D.用硬布线电路实现指令解码,快速完成指令译码 7.()防火墙是内部网和外部网的隔离点,它可对应用层的通信数据流进行监控和过滤。 A.包过滤 B.应用级网关 C.数据库 D.WEB 8.下述协议中与安全电子邮箱服务无关的是()。 A.SSL

B.HTTPS C.MIME D.PGP 9-10.用户A和B要进行安全通信,通信过程需确认双方身份和消息不可否认。A 和B通信时可使用()来对用户的身份进行认证;使用()确保消息不可否认。 A.数字证书 B.消息加密 C.用户私钥 D.数字签名 A.数字证书 B.消息加密 C.用户私钥 D.数字签名 11.震网(Stuxnet)病毒是一种破坏工业基础设施的恶意代码,利用系统漏洞攻击工业控制系统,是一种危害性极大的()。 A.引导区病毒 B.宏病毒 C.木马病毒 D.蠕虫病毒 12.刘某完全利用任职单位的实验材料、实验室和不对外公开的技术资料完成了一项发明。以下关于该发明的权利归属的叙述中,正确的是()。

设计模式试卷

设计模式期中考试试题 一:单项选择(共20道,每道2分) 1、设计模式一般用来解决什么样的问题( ) A.同一问题的不同表相B不同问题的同一表相 C.不同问题的不同表相 D.以上都不是 2、下列属于面向对象基本原则的是( ) A.继承 B.封装 C.里氏代换D都不是 3、Open-Close原则的含义是一个软件实体( ) A.应当对扩展开放,对修改关闭. B.应当对修改开放,对扩展关闭 C.应当对继承开放,对修改关闭 D.以上都不对 4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式。 A.创建型 B.结构型C行为型D.以上都可以 5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是( )的表述 A.开-闭原则 B.接口隔离原则 C.里氏代换原则 D.依赖倒转原则 6、设计模式的两大主题是( ) A.系统的维护与开发 B 对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展 7、“不要和陌生人说话” 是( )原则的通俗表述 A.接口隔离 B.里氏代换 C.依赖倒转 D.迪米特:一个对象应对其他对象尽可能少的了解 8、构造者的的退化模式是通过合并()角色完成退化的。 A.抽象产品B产品C创建者D使用者 9、以下关于简单工厂模式叙述错误的是() A 它属于GoF23种设计模式 B 它是最简单的设计模式之一 C 它是学习其他创建型模式的基础 D 它只需要记住一个简单的参数即可获得所需对象的实例 E 它类中的方法通常为静态方法 F 它返回的类都有一个公共的父类和公共的方法 10、对象适配器模式是()原则的典型应用。 A.合成聚合复用原则 B.里式代换原则 C.依赖倒转原则 D.迪米特法则 D.以上表述全部错误。 11.对于依赖倒转的表述错误的是() A.依赖于抽象而不依赖于具体,也就是针对接口编程。 B.依赖倒转的接口并非语法意义上的接口,而是,一个类对其他对象进行调用时,所知道的方法集合。 C.从选项B的角度论述,一个对象可以有多个接口。 D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。而且不必知道所示用的对象是那个实现类的实例。 E.此题没有正确答案。 12. 现有5个产品族,分布于3各不同的产品等级结构,只要指明一个产品所处的产品族以及它所在的等级结构,就可以唯一地确认这个产品。那么使用抽象工厂方法模式只需要提供

班主任技能大赛试题及答案_1

首届班主任技能大赛之理论知识考试 1、“师者,人之模范”,“其身正,不令而行;其身不正,虽令不从”,这说明教师必须() A.热爱学生 B. 尊重学生 C. 以身作则,言传身教 D. 积极引导学生 2、班主任必须具备许多优秀的素质,其中()是班主任职业道德规范的最根本的要求。 A.责任意识 B. 创新意识 C. 专业意识 D. 集体意识 3、第斯多惠有一句名言:“一个坏的教师奉送真理,一个好的教师则教人发现真理。”这体现了教师教学过程中必须遵循() A.直观性原则 B. 启发性原则 C. 巩固性原则 D. 因材施教原则 4、班主任在班级管理体制中的领导影响力主要表现在两个方面:一是职权影响力;二是() A.年龄影响力 B. 性别影响力 C. 个性影响力 D. 学术影响力 5、班主任要在学生中树立自己的威信就要对学生() A.严格要求,严格管理 B. 不苟言笑,一幅严肃面孔 C. 大事小事一人说了算 D. 严中有爱严中有度,爱在细微 6、班主任人格的作用形式主要通过班主任()

A. 言传身教 B. 说服教育 C. 和学生打成一片D .树立威严 7、学校、幼儿园教职员工对未成年人有下列情形之一的,由其所在单位或者上级机关责令改正;情节严重的,依法给予处分。() A.实施体罚或变相体罚的 B ?批评学生 C?实施其他侮辱人格行为的D ?实施严格教育教学行为的 8、学校不但要传输知识,更重要的是() A. 塑造人品人格 B. 教给生存能力 C. 教给操作技能D .锻炼强健体魄 9、叶圣陶曾说,教育归根到底是() A. 教给知识 B. 培养习惯 C. 传授技能D .树立意识 10、对于()未成年人犯罪的案件,一律不公开审理。 A.已满十二周岁不满十四周岁 B.已满十六周岁不满十八周岁 C.已满十四周岁不满十六周岁 D.已满十周岁不满十二周岁 11、班集体形成的主要标志之一是() A. 成立了班委会 B. 开展了班级工作

“APP设计创意大赛”策划

第十一届天津市大学生电脑文化节 “APP设计创意大赛” 随着移动互联网APP的发展,APP越来越离不开我们的生活。为丰富同学们课余文化生活,激发大学生创新创业热情,提高大学生专业应用能力,锻炼大学生组织协调能力与团队合作精神,我们特举办本次APP设计创意大赛。 一、活动主题 IT激扬梦想,创意添彩青春 二、作品要求 本次手机软件设计大赛为手机软件设计创意赛。 (一)手机软件设计创意赛参赛要求 1、参赛选手设计面向3G/4G手机的新应用构思及实现方案。 2、参赛选手根据创意撰写手机软件分析报告,包含手机软件开发背景、目的、主要功能、程序流程及界面设计、推广策划。 3、参赛主题不限,系统类应用(如系统清理,系统优化,系统美化等),游戏类应用(如体育游戏,休闲游戏,益智游戏等),娱乐类应用(如音乐,视频,杂志,动画等),生活类应用(交通,天气,购物等),社交类应用,工具类应用等各类移动应用设计。(二)其他要求 参赛者可以团队(团队人数不能超过五人)或个人为单位参赛,作品必须是参赛者的原创作品,一旦发现抄袭或从网上直接下载的现象立即取消参赛资格。每个参赛学校至少上交2份作品。 三、报名及作品提交方式 请参赛学校负责人于4月30日前将参赛选手报名表及汇总表交至活动指定邮箱,并于5月11日前将参赛作品、文字说明(仿宋体、四号字、单倍行距)及填写完整的电子

版报名表等材料发送至赛事指定邮箱。 四、评审办法 1、创意与内容设计(30) (1)主题鲜明、新颖、个性化。(10) (2)创意时尚、独特、具有明显的群体性。(10) (3)内容设计贴近生活、人性化。(10) 2、技术(30) (1)流程设计人性化。(10) (2)操作方面。(5) (3)能突破现有模式。(5) (4)界面设计美观大方。(10) 3、实用性(15) (1)软件具有较好的实用性。(10) 4、推广策略(25) (1)推广渠道资源丰富。(15) (2)具备独特的推广策略。(10) 作品范例: 1、创意简介:简要介绍手机软件的创意之处,如指出手机软件的应用环境、创意功能等。 2、市场背景分析:以创意为出发点,简要分析现有的相关产品以及市场背景。 3、目标用户人群:简要指出软件产品创意的用户群体。 4、创意特色之处:简要指出软件产品创意最具特色的地方,如软件的特色功能、游戏的风格特点等。 5、产品功能构思:详尽罗列手机软件产品创意的各种功能的构思,如软件的各种功能与使用场景、游戏的玩法等。

团干部技能大赛-笔试-考题库.

1、《团章》把共青团组织的性质表述为“中国共产主义青年团是中国共产党领导的先进青年的群众组织,是广大青年在实践中学习()的学校,是中国共产党的助手和后备军。B A、共产主义 B、中国特色社会主义和共产主义 C、中国特色社会主义核心价值体系 D、中国特色社会主义理论体系 2、《团章》总则规定:“中国共产主义青年团坚决拥护中国共产党的纲领,以马克思列宁主义、毛泽东思想、邓小平理论和“三个代表”重要思想为行动指南,深入贯彻落实(),解放思想,实事求是,与时俱进,团结全国各族青年,为把我国建设成为富强民主文明和谐的社会主义现代化国家,为最终实现共产主义而奋斗。”A A、科学发展观 B、八荣八耻 C、中国特色社会主义核心价值体系 D、中国特色社会主义理论体系 3、新的历史条件下共青团的根本职责是()。A A、不断巩固和扩大党执政的青年群众基础,团结带领青年为实现中华民族伟大复兴而奋斗 B、高举中国特色社会主义伟大旗帜,坚定不移地贯彻党在社会主义初级阶段的基本路线 C、积极推动社会主义经济建设、政治建设、文化建设、社会建设 D、为全面建设小康社会、加快推进社会主义现代化贡献智慧和力量 4、中国共产主义青年团团旗旗面的颜色为()。B A、黄色 B、红色 C、绿色 D、橘黄色 5、中国共产主义青年团团徽的内容部不包括()。B A、团旗、齿轮、麦穗 B、国旗 C、初升的太阳及其光芒 D、写有“中国共青团”5字的绶带 6、关于团徽的使用,下列表述错误的是()。A A、团委机关门口,可以悬挂团徽 B、团的全国代表大会和代表会议的会场、团的地方各级代表大会和代表会议的会场,可以悬挂团徽 C、共青团中央和省、自治区、直辖市委机关的会议室,可以悬挂团徽 D、共青团各级组织在自己颁发的奖状、奖旗、奖章、证书、光荣簿和其他荣誉性文书、证件上,在团的报刊上,可以加印团徽 7、团歌的名字为()。A A、光荣啊!中国共青团

福建省第五届计算机软件设计大赛流程图

大赛比赛办法 一、活动时间与地点 (一)报名日期:2011年6月18日至9月28日下午六点截止 (二)作品提交日期:2011年10月12日下午六点截止 (三)初赛日期:2011年10月24日至10月30日 (四)交流赛日期:2011年11月5日(周六) (五)总决赛日期:2011年11月26日(周六) (六)总决赛地点:软件园 二、组织单位 (一)主办单位:省信息化局、省教育厅、省对外贸易经济合作厅、省科学技术厅、省 公务员局(省人力资源开发办公室)、省总工会、共青团省委 (二)协办单位:市信息化局、台北市电脑商业同业公会、软件国际合作联盟、英特尔 (中国) (三)承办单位:省软件行业协会、市软件行业协会、市软件行业协会、软件园、软件 园 (四)执行单位:软件园产业服务 (五)支持单位:省海峡经济研究院、四创软件、印度蒙纳克创新科技、宏天信息产业 三、比赛类别 比赛类别分为大赛专题类和指定专题两类。分类分组如下: (一)大赛专题类

(二)指定专题类

四、报名资格 凡和软件业从业人员及爱好者、在和各类高等院校正式注册的学生、省实训机构的在读学员、有意愿到工作的省外高校学生及社会人士均可报名参赛。参赛者可以个人或小组组队名义报名,每个参赛小组人员不超过5名,每组指定项目经理1名,可聘请指导老师1名。报名的队伍需交“原创作品声名书”。 五、报名流程 通过大赛官方https://www.wendangku.net/doc/8613326832.html,按照流程正式报名。 六、比赛流程 七、评审委员邀请与评分项目 (一)评审委员邀请 大赛成立评审委员会,由行业、高校和企业专家组成,负责大赛命题审核、审定大赛评审规则、组织大赛评审工作。评审委员会由常任评审委员和评审委员成员组成,其中常任评审委员由大赛主办单位共同邀请,评审委员会设总负责人一名,负责主持评审会议及与评审相关工作事务的协调。 (二)初赛评选办法 由评审委员会组织评审专家对参赛团队所提交的作品与资料进行评选,推荐出进入决赛的参赛团队。

软件设计模式试题集 含答案

设计模式试题 一.选择 1. 设计模式具有的优点()。 A.适应需求变化 B.程序易于理解 C.减少开发过程中的代码开发工作量 D.简化软件系统的设计 2. 设计模式一般用来解决什么样的问题( )。 A.同一问题的不同表相 B 不同问题的同一表相 C.不同问题的不同表相 D.以上都不是 3. 设计模式的两大主题是( )。 A.系统的维护与开发 B.对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展 4. 以下哪些问题通过应用设计模式不能够解决。() A)指定对象的接口B)针对接口编程 C)确定软件的功能都正确实现D)设计应支持变化 二.填空 1. 模式的基本要素包括名称、意图、问题、解决方案、参与者和协作者、(效果)、实现、GoF 参考。 2. 设计模式基本原则包括:开闭原则,(从场景进行设计的原则),包容变化原则。 3. 设计模式是一个(抽象)的方案,它可以解决一类问题。 4. 1. 在设计模式群体中,效果是指(原因和结果)。三. 判断 1. 适配器模式属于创建型模式。错 2. 在设计模式中,“效果”只是指“原因和结果”。对 3. 设计模式使代码编制不能真正工程化。错 4. 设计模式的两大主题是系统复用与系统扩展。对四. 名词解释 1. 设计模式 是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 2. 模板 模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 3. 模式 就是解决某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,那就是模式。 4. 内聚度 模块内部各成分彼此结合的紧密程度。五.简答 题 1. 什么是设计模式?设计模式的目标是什么?设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码 设计经验的总结。使用设计模式是为了可 重用代码、让代码更容易被他人理解、保证代码可靠性。 2. 设计模式的基本要素有哪些? 名称,意图,问题,解决方案,参与者和协作者,效果,实现,GOF 参考。 3. 设计模式中一般都遵循的原则有什么? 开-闭原则,根据场景进行设计原则,优先组合原则,包容变化原则。 4. 四人团针对“创建优秀面向对象设计”建议了哪些策略? 针对接口编程,优先使用对象组合而不是类继承,找到并封装变化点。 第6 章 facade(外观)模式 一.选择 1. 外观模式的作用是()。A.当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些 额外的功能。B.为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更 加容易使用。

软件设计大赛参赛作品说明书

软件设计大赛 参赛作品说明书参赛作品名称:

(参考目录,但不限于此) 1.创意说明 1.1 背景介绍 介绍作者设计软件的创意背景、定义、名词解释、参考文献。 1.2 市场定位 主要介绍作者参赛作品的适用对象、应用前景和市场展望,可以从技术发展、行业应用、个人经历的方面来阐述。 1.3 需求规格 1.3.1 一般性描述 作品与环境之间的关系、作品要提供的功能、用户特征、限制与约束等。 1.3.2 特殊需求 包括参赛作品功能、行为需求、性能需求、设计约束和其他。 2.设计规格说明 2.1 背景介绍 2.1.1 作用范围 包括系统目标、系统环境定义(硬件、软件和人机界面等)、主要设计约束和限制等。 2.1.2 文档 包括应用的技术参考书、参考标准、采用的技术或技术路线说明,以及在本软件设计工程中采用的项目管理方法、措施和规范制定。 2.2 软件功能设计 包括软件结构的功能、系统子系统划分以及公共构件的设计。 2.3 软件逻辑设计 可采用面向对象或面向过程的设计法中,设计软件数据流和控制流的任何方法或工具完成(如Rational Rose中的状态图、活动图、User case等),要求包括如下内容:数据流设计 数据库设计(如软件中不涉及数据库管理,可省略) 控制流设计 用户界面设计 2.4 软件运行平台设计 对软件的开发平台、运行平台和使用场景进行设计。 2.5 部署与安装设计 对系统的安装、部署的要求和实现方法进行说明。 3.软件使用说明(如有) 3.1 系统安装说明 3.2 系统使用说明 3.3 疑难问题解答 4.商业计划书 4.1 背景 进行创业或成果转化的背景介绍,可结合软件来介绍毕业后的职业选择或人生定位。 4.2 创业思路 如果你想创建你自己的软件公司,结合你设计的软件产品介绍你可能组建一个什么样的公司(可包括合伙人及股份结构,公司初创规模、雇员……)。 4.3 产品推广策略 如何把设计出来的软件或软件提供的服务推向市场,并对你的目标客户提供服务。

班主任技能大赛试题及答案

班主任技能大赛试题及 答案 This model paper was revised by LINDA on December 15, 2012.

首届班主任技能大赛之理论知识考试 1、“师者,人之模范”,“其身正,不令而行;其身不正,虽令不从”,这说明教师必须(C ) A. 热爱学生 B. 尊重学生 C. 以身作则,言传身教 D. 积极引导学生 2、班主任必须具备许多优秀的素质,其中(A )是班主任职业道德规范的最根本的要求。 A. 责任意识 B. 创新意识 C. 专业意识 D. 集体意识 3、第斯多惠有一句名言:“一个坏的教师奉送真理,一个好的教师则教人发现真理。”这体现了教师教学过程中必须遵循( B ) A. 直观性原则 B. 启发性原则 C. 巩固性原则 D. 因材施教原则 4、班主任在班级管理体制中的领导影响力主要表现在两个方面:一是职权影响力;二是( C ) A. 年龄影响力 B. 性别影响力 C. 个性影响力 D. 学术影响力 5、班主任要在学生中树立自己的威信就要对学生( D ) A.严格要求,严格管理 B. 不苟言笑,一幅严肃面孔 C. 大事小事一人说了算 D. 严中有爱严中有度,爱在细微 6、班主任人格的作用形式主要通过班主任( AA )

A. 言传身教 B. 说服教育 C. 和学生打成一片 D.树立威严 7、学校、幼儿园教职员工对未成年人有下列情形之一的,由其所在单位或者上级机关责令改正;情节严重的,依法给予处分。( A ) A.实施体罚或变相体罚的 B.批评学生 C.实施其他侮辱人格行为的 D.实施严格教育教学行为的 8、学校不但要传输知识,更重要的是( A) A. 塑造人品人格 B. 教给生存能力 C. 教给操作技能 D.锻炼强健体魄 9、叶圣陶曾说,教育归根到底是(A ) A. 教给知识 B. 培养习惯 C. 传授技能 D.树立意识 10、对于( C )未成年人犯罪的案件,一律不公开审理。 A. 已满十二周岁不满十四周岁 B. 已满十六周岁不满十八周岁 C. 已满十四周岁不满十六周岁 D. 已满十周岁不满十二周岁 11、班集体形成的主要标志之一是(C )

软件设计大赛策划书(完整版)

策划编号:YT-FS-1460-27 软件设计大赛策划书(完 整版) Develop Detailed Rules Based On Expected Needs And Issues. And Make A Written Plan For The Links To Be Carried Out T o Ensure The Smooth Implementation Of The Scheme. 深思远虑目营心匠 Think Far And See, Work Hard At Heart

软件设计大赛策划书(完整版) 备注:该策划书文本主要根据预期的需求和问题为中心,制定具体实施细则,步骤。并对将要进行的环节进行书面的计划,以对每个步骤详细分析,确保方案的顺利执行。文档可根据实际情况进行修改和使用。 一、活动目的 围绕怀化学院“三位一体”“一个中心,两个突破” 的指导方针,给予怀化学院学生一个发挥自己才华的 平台,也为了发掘大学生潜力,促进大学生对计算机 专业知识的应用能力,激发广大学生对软件开发的兴 趣,引导并鼓励广大学生积极投身科技创新与实践活 动中,发扬刻苦钻研、勇于创新、团结合作的精神, 营造良好的学习、科研氛围,切实实施教学质量与教 学改革工程,提高教育质量,促进合作交流。 二、比赛程序 1、报名时间:XX年 4月11日—XX年 4月20日 2、报名地点:各系部学习部、东区食堂门口,各 系学习部在4月20日之前统一将报名表上交到数学

系团总支学生分会办公室(e1b-409)或将电子表将报名电子表格发至www. (邮箱) 3、初评(XX年5月8日—XX年5月12日): 专业组选手(以个人或以寝室为单位组成五人以下的小组) 于5月8日前将参赛作品(参赛作品范围不限,自主命题,自主设计,特别鼓励原创并具有一定实用功能和市场潜力的作品。如在科学计算、嵌入式产品、软件工具、游戏、互联网增值应用等方面,新颖、实用、小巧的软件设计作品)及其参赛作品信息表电子档发送至邮箱www.或将纸质档交于数学系学生办公室(e1b-409),以便评委会提前熟悉各参赛作品的内容。在决赛之前允许选手对入围作品进行修改和完善,但必须于5月16日前将修改后的作品及其设计文档发送电子稿至邮箱www.,并注明修改的地方以及修改后所达到的效果。 决赛:于5月16日在e1b—511采用现场作品讲解与提问的形式进行终评。最后经过统计分数,排出

软件设计模式(JAVA)习题答案

软件设计模式(Java版)习题 第1章软件设计模式基础 1.1 软件设计模式概述 1.2 UML中的类图 1.3 面向对象的设计原则 一、名词解释 1.一个软件实体应当对扩展开放,对修改关闭,即在不修改源代码的基础上扩展 一个系统的行为。 2.一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。 3.在软件中如果能够使用基类对象,那么一定能够使用其子类对象。 4.是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结, 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 二、单选择题 1.( A ) 2.( A ) 3. ( A ) 4. ( D ) 5. ( D ) 6.( A ) 7. ( D ) 8.( D ) 9.( D ) 10.( E ) 11.( C ) 12.( C ) 13. ( A ) 三、多选择题 1.( A、B、C、D ) 2. ( A、B ) 3.( A、D ) 4.( A、B、C、D ) 四、填空题 1.依赖倒转、迪米特法则、单一职责 2.模式名字、目的、问题、解决方案、效果、实例代码 3.超类、子类 4.开闭 5.用户 6.依赖倒转 7.组合/聚合 8.结构型、行为型 9.依赖倒转 10.开闭 11.需求收集是否正确、体系结构的构建是否合理、测试是否完全 12.人与人之间的交流 13.接口 14.名称、目的、解决方案 15.对象组合、类继承

16.对象组合 17.对象组合、类继承 18.抽象类的指针 五、简答题 1.答:设计模式按类型分为以下三类: 1)创建型设计模式:以灵活的方式创建对象集合,用于管理对象的创建。 2)结构型设计模式:将己有的代码集成到新的面向对象设计中,用于处理类或对象的组合。 3)行为型设计模式:用于描述对类或对象怎样交互和怎样分配职责。 2.答:设计模式的主要优点如下: 1)设计模式融合了众多专家的经验,并以一种标准的形式供广大开发人员所用,它提供了一套通用的设计词汇和一种通用的语言以方便开发人员之间沟通和交 流,使得设计方案更加通俗易懂。 2)设计模式使人们可以更加简单方便地复用成功的设计和体系结构,将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。设计模式使得重用成功的设计更加容易,并避免那些导致不可重用的设计方案。 3)设计模式使得设计方案更加灵活,且易于修改。 4)设计模式的使用将提高软件系统的开发效率和软件质量,且在一定程度上节约设计成本。 5)设计模式有助于初学者更深入地理解面向对象思想,一方面可以帮助初学者更加方便地阅读和学习现有类库与其他系统中的源代码,另一方面还可以提高软件的设计水平和代码质量。 3.答:设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效 果、实例代码和相关设计模式,其中的关键元素包括模式名称、问题、解决方案和效果。 4.答:正确使用设计模式具有以下优点: ⑴可以提高程序员的思维能力、编程能力和设计能力。 ⑵使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从 而缩短软件的开发周期。 ⑶使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强。 5.答:根据类与类之间的耦合度从弱到强排列,UML中的类图有以下几种关系:依赖关 系、关联关系、聚合关系、组合关系、泛化关系和实现关系。其中泛化和实现的耦合度相等,它们是最强的。

软件设计大赛策划

信息工程学院科技创新与创业协会“大学生软件设计大赛”主题活动策划书 一、活动背景 正确引导我校学子积极参加科技竞技活动,不断培养创新精神和团队意识,切实增强理论联系实际的能力,通过富有自由、开放、创新精神的大赛,为广大学子提供一个提高自我、展示才华的舞台,为我国民族软件行业发掘和培养更多的优秀青年人才;同时提高广大青年学生的学习积极性、创新意识和勇于实践的科学精神;进一步锻炼我校学生的综合素质和创新能力,发现和激励更多有作为、有潜力的软件人才,孵化和转化更多的软件创新成果,深化高校教学改革,推动软件行业产、学、研结合,促进软件产业的可持续健康发展。 二、活动主题 创意改变生活,人才创造价值 二、活动目的 ①为同学们提供一个展示自我的平台 ②让更多的同己学发现软件设计的魅力,激发同学们学习的欲望 ③通过参与软件设计大赛,与老师面对面的交流,增加对软件的认识 及对专业技能的掌握。 ④通过举办软件设计大赛,增加全校师生对软件设计大赛的认识,同 时扩大信息学院的影响力。 ⑤确立信息技术学科在长安大学的地位,使其与道路交通、国土资源 齐头并进,为长安大学再添神采。 三、活动对象 A组:长安大学一、二、三年级的在读本科生

B组:长安大学在校本科生、研究生 四、报名方式和地点: 以学院为单位组织报名,学生将报名表纸质版和电子版先交到所在学院科协,并由各学院科协于3月14日统一将报名表交至信息学院学生办公室。 五、资源准备 已有资源:信息科协全体成员,信息科协标准实验室 需要资源:大学生活动中心3楼多功能厅,各学院宣传栏,比赛活动经费 六、人员分配 统筹人员:**** 任务 时间人员 比赛相关物品准备3月7日 **** 比赛宣传场地及开闭幕式场地的申请3月8日 **** 报名3月9日至3 月14日 **** 收作品4月1日至4 月7日****

吉林大学2012级软件设计模式试题

2014-2015学年第1学期 2012级《软件设计模式》考试试题(开卷) 考试时间:2014年 班级学号姓名 ?本试卷满分100分; ?请将答案写在答题纸上,写明题号,不必抄题,字迹工整、清晰; ?试题中使用C++语言作为描述语言,答题时可以使用C++或Java或C#程序设计语言中 的任意一种作为描述语言,但整个卷面只能使用其中一种,不得混合使用; ?请在答题纸和试题纸上都写上你的班级,学号和姓名,交卷时请将试题纸、答题纸和草纸 一并交上来。 一、单选题(共20分,每题2分) 1.类设计中,“变化是绝对的,稳定是相对的”,下列哪个不属于这句话中“变化”的范畴? (A) 改变函数参数的类型(B) 增加新的数据成员 (C) 改变编程语言(D) 改变对象交互的过程和顺序 2.Open-Close原则的含义是一个软件实体: (A) 应当对扩展开放,对修改关闭 (B) 应当对修改开放,对扩展关闭 (C) 应当对继承开放,对修改关闭 (D) 以上都不对 3.下列关于继承表述错误的是: (A) 继承是一种通过扩展一个已有类的实现,从而获得新功能的复用方法 (B) 泛化类(超类)可以显式地捕获那些公共的属性和方法。特殊类(子类)则通过附加 属性和方法来进行实现的扩展 (C) 破坏了封装性,因为这会将父类的实现细节暴露给子类 (D) 继承本质上是“白盒复用”,对父类的修改,不会影响到子类 4.下列关于对象组合/聚合,说法错误的是: (A) 容器类能通过被包含对象的接口来对其进行访问 (B) 属于黑盒复用,封装性好,因为被包含对象的内部细节对外是不可见 (C) 可以在运行时将被包含对象改变成同类型对象,从而改变容器类的行为效果,但没有 改变容器类的接口 (D) 比继承关系更加灵活,代价是相比继承关系,增强了类间的耦合度 5.用于分离接口和具体实现,使得接口和实现可独立变化的是: (A)适配器模式(B) 桥接模式(C) 命令模式(D)模板方法模式 6.体现“集中管理多个对象间的交互过程和顺序”的是: (A)生成器模式(B) 门面模式(C) 策略模式(D)中介者模式

设计模式试题(仅供参考)

1、设计模式一般用来解决什么样的问题( a) A.同一问题的不同表相 B不同问题的同一表相 C.不同问题的不同表相 D.以上都不是 2、下列属于面向对象基本原则的是( c ) A.继承 B.封装 C.里氏代换 D都不是 3、Open-Close原则的含义是一个软件实体( a ) A.应当对扩展开放,对修改关闭. B.应当对修改开放,对扩展关闭 C.应当对继承开放,对修改关闭 D.以上都不对 4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( a )模式。 A.创建型 B.结构型 C行为型 D.以上都可以 5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是( d )的表述 A.开-闭原则 B.接口隔离原则 C.里氏代换原则 D.依赖倒转原则 6、依据设计模式思想,程序开发中应优先使用的是( a )关系实现复用。 A, 委派 B.继承 C创建 D.以上都不对 复用方式:继承和组合聚合(组合委派) 7、设计模式的两大主题是( d ) A.系统的维护与开发 B 对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展 8、单例模式中,两个基本要点( a b )和单子类自己提供单例 A .构造函数私有 B.唯一实例 C.静态工厂方法 D.以上都不对 9、下列模式中,属于行为模式的是( b ) A.工厂模式 B观察者 C适配器以上都是 10、“不要和陌生人说话” 是( d )原则的通俗表述 A.接口隔离 B.里氏代换 C.依赖倒转 D.迪米特:一个对象应对其他对象尽可能少的了解 11、构造者的的退化模式是通过合并( c )角色完成退化的。 A.抽象产品 B产品 C创建者 D使用者 12、单子(单例,单态)模式类图结构如下: 下列论述中,关于”0..1”表述的不正确的是( d ) A.1表示,一个单例类中,最多可以有一个实例. B.”0..1”表示单例类中有不多于一个的实例 C.0表示单例类中可以没有任何实例 D.0表示单例类可以提供其他非自身的实例 13、对象适配器模式是( a )原则的典型应用。 A.合成聚合复用原则 B.里式代换原则 C.依赖倒转原则 D.迪米特法则 14、静态工厂的核心角色是(a) A.抽象产品 B.具体产品 C.静态工厂 D.消费者 15、下列关于静态工厂与工厂方法表述错误的是:( a ) A.两者都满足开闭原则:静态工厂以if else方式创建对象,增加需求的时候会修改源代码 B.静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点在工厂

东北大学《软件设计模式》期末考试必备真题集(含答案)93

东北大学继续教育学院 软件设计模式复习题 一:单选题 1.在c#程序中,入口函数的正确声明为:B A. static int main(){…..} B. static void Main(){……} void main(){……} Main(){……} 2.在C#中,表示一个字符串的变量应使用以下哪条语句定义?B A. CString str; B. string str; C. Dim str as string D. char * str; 3.结构化程序设计的3种结构是:D A. 顺序结构、if结构、for结构

B. if结构、if…else结构、else if结构 C. while结构、do…while结构、foreach结构 D. 顺序结构、分支结构、循环结构 4.能正确表示逻辑关系“a>=10 或a<=0”的C#语言表达式是____。D A. a>=10 or a<=0 B. a>=10|a<=0 C. a>=10&&a<=0 D. a>=10||a<=0 5.在类的外部可以被访问的成员是:A A. public成员 B. private成员 C. protected成员 D. protected internal成员 6.在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成_________。C A. sealed 方法 B. public 方法 C. visual 方法 D. override 方法 7.关于结构类型,下列说法哪些是正确的?A A. 结构是值类型 B. 结构中不允许定义带参数的实例构造函数; C. 结构中不允许定义析构函数 D. 结构中可以定义成员方法,但是方法内不能使用this 指针 8.下面是几条动态初始化二维数组的语句,指出其中正确的:D A. int arr5[][]=new int[4,5]; B. int[][] arr6 = new int[4, 5]; C. int arr7[,]=new int[4,5]; D. int[,] arr8=new int[4,5]; 9.下面有关析构函数的说法中,不正确的是:D

“华为杯”计算机软件设计大赛

附件1:“华为杯”计算机软件设计大赛 一、活动主题 展青春之翼,乘科技之风 二、活动时间 2017年11月01日至11月14日 三、活动要求 (一)参赛形式 以组队形式报名参赛,每队可有3名以下(含3名,其中队长1名)队员和1名指导教师组成。 (二)报名说明 1.赛队名称不得含有不文明字眼。 2.鼓励跨学科、跨专业、跨年级组队。 (三)比赛项目 比赛项目是软件设计(应用系统),具体要求如下: 1.软件作品应严格按照软件工程规范进行开发,编程风格良好,注释清晰,文档完整。 2.软件作品不得违反国家相关法律法规,不得侵犯他人著作权,作品如引起产权异议或纠纷,其责任由参赛者承担。 3.参赛作品必须为原创作品,若发现别人冒充作者(及作者本人非原创)参加比赛,一经查实,将取消本次比赛资格及成绩。 四、活动安排 (一)报名阶段(11月6日-11月12日) 1.各参赛队伍统一通过睡前Futurelab()平台进行报名。

2.报名要求 请参赛者自行打印《“华为杯”计算机软件设计大赛报名表》(附表一),以年级为单位报送作品(年级+姓名+项目名称+联系方式),年级总负责人将电子版及纸质版作品报送至学院负责人,电子版打包发送至相应邮箱。 软件学院张淼:手机号码: 邮箱: 计算机学院陈银双:手机号码: 邮箱: 截止时间:2017年11月12日晚19:00 (二)初赛阶段(11月13日) 评委老师完成初赛作品筛选与评审,大赛负责人公布晋级决赛的队伍名单。 (三)决赛阶段(11月14日) 1.选手现场根据自己设计的软件,阐明设计思想及主体思路1-2分钟,由评委老师进行点评。 2.各小组可对自己的作品进行演讲展示,演讲时间为6-7分钟。 3.评委根据课件内容进行随机提问,由小组内任意选手作答。 五、奖项设置 一等奖:1组二等奖:2组三等奖:3组 优秀奖:若干

软件设计模式试题集58887

第5章设计模式 一.选择 1. 设计模式具有的优点()。 A.适应需求变化 B.程序易于理解 C.减少开发过程中的代码开发工作量 D.简化软件系统的设计 2. 设计模式一般用来解决什么样的问题( )。 A.同一问题的不同表相B不同问题的同一表相 C.不同问题的不同表相 D.以上都不是 3. 设计模式的两大主题是( )。 A.系统的维护与开发 B 对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展 4. 以下哪些问题通过应用设计模式不能够解决。() A)指定对象的接口B)针对接口编程 C)确定软件的功能都正确实现D)设计应支持变化 解答: 1. A 2. A 3. D 4. C 二.填空 1. 模式的基本要素包括名称、意图、问题、解决方案、参与者和协作者、()、实现、G oF参考。 2. 设计模式基本原则包括:开闭原则,(),包容变化原则。 3. 设计模式是一个( )的方案,它可以解决一类问题。 4. 1. 在设计模式群体中,效果是指()。 解答: 1. 效果 2. 从场景进行设计的原则

3. 抽象 4. 原因和结果 三.判断 1. 适配器模式属于创建型模式。 2. 在设计模式中,“效果”只是指“原因和结果”。 3. 设计模式使代码编制不能真正工程化。 4. 设计模式的两大主题是系统复用与系统扩展。 解答: 1. 错 2. 对 3. 错 4. 对 四.名词解释 1. 设计模式 2. 模板 3. 模式 4. 内聚度 解答: 1. 是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性 2. 模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 3. 就是解决某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,那就是模式。 4. 五.简答题 1. 什么是设计模式?设计模式的目标是什么?

软件设计模式复习题

软件设计模式复习题 1、熟悉每个设计模式的定义、模式UML图解、模式使用情形以及模式优缺点。 2、设计模式的两大主题是什么? 3、设计模式分成几大类?每大类各包含哪些模式? 4、为什么要使用设计模式?使用设计模式有哪些好处? 5、比较抽象工厂模式和工厂方法模式相似性和差异性。什么情况下使用抽象工厂模式?什 么情形下使用工厂方法模式? 6、简述原型模式中浅层克隆和深度克隆的区别?分别给出代码说明。 7、模板方法和普通的实现类继承抽象类方式有何区别? 8、是比较和分析适配器模式和桥接模式之间的共性和差异性。 9、请用组合模式实现学校人事管理模式。 10、综合应用装饰模式、命令模式和状态模式实现工具条命令按钮鼠标进入时高亮显示 状态以及鼠标单击按钮后呈现凹陷状态,表明当前按钮为选中状态。 11、请阐述享元模式是如何节省系统内存的?试举例分析使用享元模式前后的内存节 约之比。 12、使用解析器模式实现对学生成绩表的查询输入语句进行解析并执行查询,成绩表结 14、试比较和分析中介者模式和观察者模式之间的相似性和差异性?两者是否能够相 互转化? 15、模板方法和普通的抽象类继承有什么区别? 16、使用访问者模式对12题中的学生信息进行报到。 1、熟悉每个设计模式的定义、模式UML图解、模式使用情形以及模式优缺点。(见书)答:单件模式: ○1单例模式:class Singleton{private static Singleton instance; private Singleton(){} public static Singleton GetInstance(){if (instance == null) { instance = new Singleton();} return instance; } 客户端代码:class Program{static void Main(string[] args) { Singleton s1 = Singleton.GetInstance(); Singleton s2 = Singleton.GetInstance(); if (s1 = = s2) {Console.WriteLine("Objects are the same instance");} Console.Read();}} ○2多线程时的单例(Lock是确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其他线程试图进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放)class Singleton{private static Singleton instance; private static readonly object syncRoot = new object(); private Singleton(){} public static Singleton GetInstance(){lock (syncRoot) {

相关文档
相关文档 最新文档