南信大编译原理期中试卷(软件工程)
软件工程考试试题及参考答案

软件工程考试试题第一部分选择题一、单项选择题每小题1分,共20分。
(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中()属于较早期的CASE。
A.基于信息工程CASEB.人工智能CASEC.结构的基于图形CASED.集成的CASE环境2.Putnam成本估算模型是一个()模型。
A.静态单变量B.动态单变量C.静态多变量D.动态多变量3.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性B.可重用性C.适应性D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()A.SQIC B.SQMC C.SQRC D.SQDC5.软件复杂性度量的参数包括()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.FORTRAN语言B.Pascal语言C.C语言D.PL/1语言12.程序的三种基本控制结构是()A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移13.在详细设计阶段,经常采用的工具有()A.PAD B.SA C.SC D.DFD14.详细设计的结果基本决定了最终程序的()A.代码的规模B.运行速度C.质量D.可维护性15.需求分析中开发人员要从用户那里了解()A.软件做什么B.用户使用界面C.输入的信息D.软件的规模16.结构化程序设计主要强调的是()A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF。
软件工程试卷及答案

软件工程试卷及答案考试时间100分钟考试方式开卷共页第页一、填空题(每空1分,共10分)1.文档是一种数据媒体及其上所记录的数据。
2.软件工程方法学三要素包括方法、工具和过程。
3.系统流程图是概括地描绘物理系统的传统工具,它用图形符号描绘组成系统的每个部件。
4.需求分析过程应该建立3种模型,分别是数据模型、功能模型和行为模型。
5.属性定义了数据对象的性质。
6.事件就是引起系统做动作或转换状态的控制信息。
二、选择题(每题2分,共30分)1.E-R图中不包含()。
A.实体B.流程C.属性D.联系2.数据字典中,一般不包括()。
A.数据流B.数据存储C.处理D.源点与终点3.如果两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据,那么这种耦合称为()。
A.数据耦合B.控制耦合C.特征耦合D.公共环境耦合下面不属于软件工程的基本原则的是()。
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.软件危机C.软件工程D软件产生12.软件工程学的目的是以较低的成本,研制()质量的软件。
A.较高B.较低C.可靠D.优秀13.软件开发中常采用的结构化生命周期方法,由于其特征称其为()。
完整word版,编译原理试卷及答案,推荐文档

东 北 大 学秦 皇 岛 分 校课程名称: 编译原理 试卷: (B )答案 考试形式: 闭卷授课专业: 计算机科学与技术 考试日期: 年 月 日 试卷:共 2 页 题号 一 二 三 四 总分得分 阅卷人一、填空题(每空2分,共30分)1、编译程序的整个过程可以从逻辑上划分为词法分析、 语法分析 、语义分析、中间代码生成、 代码优化 和目标代码生成等几个阶段,另外还有两个重要的工 作是 理 和出错处理。
表格管2、规范规约中的可归约串是 句柄 ,算符优先分析中的可归约串是 最左素短语 。
3、语法分析方法主要可分为 自顶向下 和 自底向上 两大类。
4、LR (0)文法的项目集中不会出现 移进-归约 冲突和 归约-归约 冲突。
5、数据空间的动态存储分配方式可分为 栈式 和 堆式 两种。
6、编译程序是指能将 源语言 程序翻译成 目标语言 程序的程序。
7、确定有穷自动机DFA 是 NFA 的一个特例。
8、表达式 (a+b)*c 的逆波兰表示为 ab+c* 。
二、选择题(每题2分,共20分)1、LR 语法分析栈中存放的状态是识别 B 的DFA 状态。
A 、前缀B 、可归前缀C 、项目D 、句柄 2、 D 不可能是目标代码。
A 、汇编指令代码B 、可重定位指令代码C 、绝对机器指令代码D 、中间代码 3、一个控制流程图就是具有 C 的有向图A 、唯一入口结点B 、唯一出口结点C 、唯一首结点D 、唯一尾结点 4、设有文法G[S]:S →b|bBB →bS ,则该文法所描述的语言是C 。
A 、L (G )={b i |i ≥0}B 、L (G )={b 2i |i ≥0}C 、L (G )={b 2i+1|i ≥0}D 、L (G )={b 2i+1|i ≥1}5、把汇编语言程序翻译成机器可执行的目标程序的工作是由 B 完成的。
A 、编译器B 、汇编器C 、解释器D 、预处理器 6、在目标代码生成阶段,符号表用于 D 。
软件工程期中考试以及答案

1、瀑布模型下,采用结构化的方法,在它的生命周期各个阶段中,那个阶段出错对软件的影响最大()A、概要设计阶段B、维护阶段C、测试排错阶段D、需求分析阶段2、UML是软件开发过程中的重要工具之一,它主要用于那种开发方法()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、DFD图D、SC图10、顺序图反映对象之间发送信息的时间顺序,它与()是同构的。
A、类图B、状态图C、协助图D、活动图11、下面说法错误的是()A、该图是对象图B、borrowbook()是方法C、name是属D、该图是类图12、下图中描述“聚合关系”的是() A 、 B 、 C 、 D 、 13、下面的顺序图问号所代表的是() 年级专业: 题 ) ……封………………………………………线……………………………………A、激活区B、角色C、消息D、生命线14、()可对需求进行建模A、SC图B、用例图C、活动图D、部署图15、需求分析的任务不包括()A、系统设计B、问题分析C、需求描述D、需求评审16、当模块中包含复杂的条件组合时,应采用()来描述A、SC图B、判断表C、流程图D、E-R图17、软件可行性分析研究不包括()A、法律可行性B、技术可行性C、政治可行性D、技术可行性18、下面最松散的耦合是()A、非直接耦合B、功能耦合C、数据耦合D、控制耦合19、静态数据结构的概念模式是()A、E-R图B、DFD图C、判断树D、SC图20、结构化程序设计理论认为,实现良好的程序结构应采用的分析方法()A、基于组件B、面向对象C、自顶向下D、基于服务21、DFD图中每个加工最少包括()A、一个输入流B、一个输出流C、一个输入流或者一个输出流D、一个输入流和一个输出流22、()技术是将一个活动图中的活动状态进行分组,每组表示特定的类负责相应的活动。
南京信息工程大学期中试卷-2013(含答案)

2012- 2013学年 第 2 学期
期中试卷
课程试卷( A卷)
;出卷时间 2013年 4月
C语言程序设计
本试卷共 10 页;考试时间 120分钟;任课教师 李含光
学院 学号 姓名
注:请将解答写在答题册上,以免误判! 一、单项选择题(每题1分,共15分)
1.一个C程序的执行是从 A)本程序的main函数开始,到main函数始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 2.若对两个数组a和b进行初始化 char a[]="ABCDEF"; char b[]={'A', 'B', 'C', 'D', 'E', 'F'}; 则下列叙述正确的是 。 A) a与b数组完全相同 B) a与b数组长度相同 C) a与b数组都存放字符串 D) 数组a比数组b长度长 3.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是 A)7 B)8 C)6 D)2
(float)(a+b)/2+(int)x%(int)y的值
3.500000
10.对于有返回值的函数,其函数值的类型是由 定义时的类型
三、 阅读程序:根据下面要求写出结果 (每小题3分,共24分)
1.以下程序输出结果是 a=1,b=2 。 #include<stdio.h> int main ( ) { int x=1,y=1,a=0,b=0; switch(x) { case 1:switch (y) { case 0 : a++ ; break ; case 1 : b++ ; break ; } case 2:a++; b++; break; case 3:a++; b++; } printf("a=%d,b=%d",a,b); return 0; } 2.输入1234567,下面程序的运行结果 246 #include<stdio.h> int main() { unsigned int n,k=0,t=1; scanf("%u",&n); while(n) { if((n%10)%2==0) { k=k+(n%10)*t;
南信大 软件工程期中考试卷

南京信息工程大学软件工程导论期中得分院专业年级班次姓名学号一.选择题(10*2’)1.瀑布模型的存在问题是( B )A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求2.软件生命周期中所花费用最多的阶段是( D )A.详细设计 B.软件编码 C.软件测试 D.软件维护3.程序的三种基本控制结构是( B )A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移4.需求分析中开发人员要从用户那里了解( A )A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模5.需求分析阶段的任务是确定( D )A.软件开发方法B.软件开发工具C.软件开发费 D.软件系统的功能6开发软件需高成本和产品的低质量之间有着尖锐的矛盾这种现象称作(B)。
A.软件投机 B软件危机 C软件工程 D软件产生7. 下列叙述中(A)不属于数据字典的作用。
A、作为编码阶段的描述工具B、为用户与开发人员之间统一认识C、作为概要设计的依据D、为需求分析阶段定义各类条目8需求分析说明书不能作为(A)。
A、可行性研究的依据B、用户和开发人员之间的合同C、系统概要设计的依据D、软件验收测试的依据9瀑布模型把软件生存周期划分为软件定义、软件开发和(C)三个阶段而每一阶段又可细分为若干个更小的阶段。
A详细设计 B可行性分析 C运行及维护 D测试与排错10产生软件危机的原因有如下几点除了(D)。
A、软件开发过程未经审查B、软件开发不分阶段开发人员没有明确的分工C、所开发的软件除了程序清单外没有其他文档D、采用工程设计的方法开发软件不符合软件本身的特点二填空题(10*1’)1. 为了便于对照检查,测试用例应由输入数据和预期的结果两部分组成。
2. 在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表和判定树3. 面向对象方法中,继承是指子类继承其类父类的全部数据和操作4. UML的定义包括和 UML语义和 UML表示法两个部分。
软件工程期中试卷

软件工程期中试卷软件工程作为一门综合性的学科,旨在指导软件开发的全过程,确保软件产品的质量、可靠性和可维护性。
本次期中试卷旨在对学生在前半学期所学的软件工程知识进行全面考查。
一、选择题(每题 3 分,共 30 分)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 预防性维护二、填空题(每题 3 分,共 30 分)1、软件生存周期一般可分为问题定义、可行性研究、_____、设计、编码、测试、运行与维护阶段。
2、可行性研究的目的是在尽可能短的时间内用_____的方法确定问题是否有解。
3、需求分析的基本任务是准确地回答“系统必须做什么?”这个问题,主要是确定目标系统的_____。
4、结构化分析方法就是面向_____自顶向下逐步求精进行需求分析的方法。
编译原理期中考试答案

三、完成下列各题(共30分)1、(5分)2、(1)E⇒E+T⇒ E+T+T ⇒ E+T+F⇒ E+T+i⇒⇒ E+T*F+i⇒ T+T*F+i(3分)语法树(2分)(2)短语:T*F,T,i,T+T*F,T+T*F+i (1分)简单短语:T*F,T,i (1分)句柄:T (1分)活前缀:T (1分)可归前缀:T (1分)3、如果对于某文法的同一个句子存在两个不同的语法树则称该句子是二义性的,包含二义性句子的文法称为二义性文法。
(4分)对于句子i+i*i有两棵不同的语法树。
画出两棵不同的语法树(6分)四、(共40分)1、R=1(1|0)*|0正则式转化为NFA(5分)NFA转化为DFA,并换名(5分)DFA最小化(5分)K1={B,C,D} K2={A}K11={ C,D} K12={B}C,D为等价状态,合并等价状态为0,11 0,10,12、S→aBc|bABA→aAb|bB→b|ε(1)FOLLOW(S)={#}FOLLOW(A)={b,#}FOLLOW(B)= {c,#} (3分)(2)SELECT(S→aBc)={a}SELECT(S→Bab)={b}SELECT(S→aBc)∩SELECT(S→Bab)=ФSELECT(A→aAb)={a}SELECT(A→b)={b}SELECT(A→aAb)∩SELECT(A→b)={b}=ФSELECT(B→b)={b}SELECT(ε)={c,#}SELECT(B→b)∩SELECT(ε)=Ф所以该文法是LL(1)文法。
(7分)(3)(5分)3、对规则进行编号(0) S→A(1)A→Ab(2) A→bBa(3)B→aAc(4) B→a(5) B→aAb(1)为这个文法构造LR(0)项目集规范族。
(2)该文法是LR(0)文法吗?请说明理由。
(3)构造它的LR(0)分析表。
(15分)(2)状态C5存在“移进-归约”冲突,状态C9存在“归约-归约”冲突,所以该文法不是LR(0)文法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编译原理期中试卷(软件工程)
1.简答题(每题5分,共计15分)
(1) 简述编译程序与解释程序的区别。
解释程序不生成目标代码,而编译程序生成目标代码
(2) 什么是句柄?
令G[S]是一个文法,如果有S=>*αAδ且A=>*β则称β是一个关于非终结符号A 的,句型αβδ的短语。
其次如果有S=>αAδ且A=>β则称β是直接短语。
一个句型的最左直接短语称为该句型的句柄。
(3) 自顶向下的语法分析和自底向上的语法分析解决的核心问题分别是什么?
自顶向下的语法分析解决的核心问题是:(1)消除左递归 (2) 避免回溯
自底向上的语法分析解决的核心问题是:寻找句柄
2.文法G[S]: S∷=a|b|(T) T∷=T,S|S
给出句型(a,(b,S))的短语与直接短语(简单短语)、句柄和最左素短语。
(10分)短语:(a,(b,S)),a,(b,S),a,(b,S),b,S,b
直接短语(简单短语):a,b
句柄:a
最左素短语:a
3.按指定类型给出下列语言的文法,并指出语言的类型。
(每个5分,共10分)
(1) L1={ a n b m| n≥0,m>0 } S::= aS|bS|b
(2) L2={ 0n1n b m c m| n>0,m ≥0}S::=AB A::=0A1|01 B::=bBc|ε4.构造正则式ba*|(ab)*b对应的DFA并最小化。
(要求步骤清楚,15分)
5. 请在划线处填空。
(5分)
BEGIN /* Start Algorithms */
(1) PUSH(‘#’),PUSH(‘S ’);
把第一个输入符号读进b; FLAG = TRUE ; WHILE FLAG DO BEGIN
把栈顶符号上托出去并放在X 中;
IF X ∈ Vt THEN
IF X==b THEN
把下一个输入符号读进a ELSE ERROR
ELSE IF X==‘#’ THEN FLAG = FALSE ELSE ERROR
ELSE IF M [X,b]={X → X1X2…XK} THEN
(2) 将XkXk-1…X1入栈 ELSE ERROR
END /* End Of While */ END /* End of Algorithms */
6.为文法G[P]:P ∷=begin S end S ∷=A |C A ∷=V:=E C ∷=if E then S
E::=VE' E'::=+VE' | ε V ∷=i
构造递归下降识别程序(15分) 构造程序(略,注意判断预测的符号)
7.请给出文法的First和Follow集合,给出分析表(15分)
E∷=TE' E'∷=+E|ε T∷=FT' T'∷= /T|ε F∷=PF' F'∷= *F|εP∷=(E)|a|b
根据下列分析表,分析句子i+i*i。
(10分)
将分析过程填入如下的表格中。
8.文法G[E]: (1) E→KFc (2) K→aK (3) K→d (4) F→b,对应的LR(0)分析表如图,
依据右边的表格格式,写出分析adbc的过程。
(10分)
答题格式如下:
9. 有穷状态自动机分为哪几种,主要区别是什么?(5分)
有穷状态自动机分为:NFA和DFA
主要区别:NFA的映射函数是K×∑→2K,而DFA的映射函数是K×∑→K。