共分编译原理和数据库两部分,各占50分,总分100分,时间120分钟
BTW:今年座次没有按排名来,随便坐
编译原理部分: (50Pts)
1.判断 5Pts
1) 交叉编译器是能够在多台目标机上运行的编译器
5) S-型文法一定是L-型文法
2.求DFA,语言如下: 5Pts
w={a,b}* 其中a的数目为奇数,b的数目为3的倍数
3.求上下文无关文法,语言如下:5Pts
w={a^nb^m | n>=2m>=0}
4.求正规表达式,语言如下:5Pts
{a,b}*上的 vwv^R 其中|v|>0,且v^R代表v的逆反
5.已知文法 S->aSb | aabb
1) 问用自顶向下分析的话,需要向前看几个单词
2)判断该文法是否LL(1)文法
6.这个没记住...因为我放弃了55555 6 Pts
7. 判断是否LL(1)文法,抱歉文法没记住,比较简单,跟书上例题差不多
8.给你一个文法,然后画出了部分的项目集规范族,留几个空
1) 填空
2) 该文法是否LR(0)文法?是否SLR(1)文法
这个也不难,也是跟书上题目相似,答案是不是LR(0),是SLR(1)
引入FOLLOW集后原本出现的移进-规约冲突都可以解决
9.根据数据流图,一共有5个基本块
已知B5出口处的活跃变量为空
求B1,B2,B3,B4入口处和B4出口处的活跃变量集合
数据库部分 (50Pts)
1.解释下列英文缩写 4*4=16
1)DDBMS 2)DML 3)XML (去年原题) 4)3NF
2.问答题 4*6=24Pts
1.关系数据库系统中,查询操作的作用是什么
2.数据库系统中保证并发调度可串行性的封锁协议和时间戳协议有什么不同
3.事务提交的标志是什么
4.数据库系统中索引顺序文件组织的最大弊病是什么?如何改进?
3. 观察下面两个SQL语句 10Pts
1) SELECT COUNT(DISTINCT *) FROM person;
2) SELECT COUNT(*) FROM
(SELECT DISTINCT(*) FROM person);
这两个语句的作用分别是什么?产生的结果是否相同?