【习题答案】第04章自顶向下的语法分析

【习题答案】第04章自顶向下的语法分析
【习题答案】第04章自顶向下的语法分析

程序设计典型例题解析(2)

程序设计典型例题解析(2)

典型例题解析(2) 一、填空题 1.以顺序输入模式打开“c:\source1.txt”文件的命令是(1);以输出方式打开“c:\source2.txt”文件的命令是(2)。 分析:Print # 语句用于将把数据写入文件中。Print语句格式为: Open 文件名 [For模式] As [#] 文件号 “For 模式”为指定打开文件的模式是数据的输入模式还是输出模式。 结论:答案应为:(1)Open "c:\source1.txt" For Input As #1 (2)Open "c:\source2.txt" For Output As #2 2.在Visual Basic中,文件系统控件包括(1)、(2)和文件列表框(FileListBox)。三者协同操作可以访问任意位置的目录和文件,可以进行文件系统的人机交互管理。 分析:在Visual Basic中,文件系统控件包括驱动器列表框(DriveListBox)、目录列表

框(DirListBox)和文件列表框(FileListBox)。驱动器列表框可以选择或设置一个驱动器,目录列表框可以查找或设置指定驱动器中的目录,文件列表框可以查找指定驱动器指定目录中文件信息,三者协同操作可以访问任意位置的目录和文件,可以进行文件系统的人机交互管理。 结论:答案应为:(1)驱动器列表框(DriveListBox)(2)目录列表框(DirListBox) 3.每次重新设置驱动器列表框的Drive属性时,都将引发(1)事件。可在该事件过程中编写代码修改目录列表框的路径,使目录列表框内容随之发生改变。 分析:在Visual Basic中,每次重新设置驱动器列表框的Drive属性时,都将引发Change事件。可在Change事件过程中编写代码修改目录列表框的路径,使目录列表框内容随之发生改变。驱动器列表框的默认名称为Drive1,其Change事件过程的开头为Drive1_Change()。 结论:答案应为:(1)Change 4.目录列表框用来显示当前驱动器下目录

层次分析法例题(1)

层次分析法在最优生鲜农产品流通中的应用 班级 (一)、建立递阶层次结构 目标层:最优生鲜农产品流通模式。 准则层:方案的影响因素有:c1自然属性、c2经济价值、c3基础设施、c5政府政策。 方案层:设三个方案分别为:A1农产品产地一产地批发市场一销地批发市场一消费者、A2农产品产地一产地批发市场一销地批发市场一农贸市场一消费者、A3农业合作社一第三方 物流企业一超市一消费者(本文假设农产品的生产地和销地不在同一个地区)。 。 目标层:G:最优生鲜农产品流通模式 自经基政 准则层:然济础府属价设政性值施策 方案层:A A2A3 1 图 3— 1 递阶层次结构 (二)、构造判断 (成对比较 )矩阵 所谓判断矩阵昰以矩阵的形式来表述每一层次中各要素相对其上层要素的相对重要程度。为

了使各因素之间进行两两比较得到量化的判断矩阵,引入1~9 的标度,见表 标度 a定义 ij 1i 因素与 j 因素同等重要 3i 因素比 j 因素略重要 5i 因素比 j 因素较重要 7i 因素比 j 因素非常重要 9i 因素比 j 因素绝对重要 2,4,6,8为以上判断之间的中间状态对应的标度值 倒数若 i因素与 j 因素比较,得到判断值为, a ji=1/a ij,a ii=1 为了构造判断矩阵,作者对 6 个专家进行了咨询,根据专家和作者的经验,四个准则下的两两比较矩阵分别为: G c1 c2 c3 c4 c1 A1 A2 A3c1c2c3c4 1853 1/811/21/6 1/5211/3 1/3631 A1A2A3 11/31/9 311/8 981

c2 A1 A2 A3 c3 A1 A2 A3 c4 A1 A2 A3 A1A2A3 139 1/318 1/91/81 A1A2A3 129 1/217 1/91/71 A1A2A3 11/31/9 311/7 971 (三)、层次单排序及其一致性检验 层次单排序就是把本层所有要素针对上一层某一要素,排出评比的次序,这种次序以相对的数值大小来表示。 对应于判断矩阵最大特征根λ max 的特征向量,经归一化 (使向量中各元素之和等于 1) 后记为W。 W的元素为同一层次因素对于上一层次因素某因素相对重要性的排序权值,这一过程 称为层次单排序。 能否确认层次单排序,需要进行一致性检验,所谓一致性检验是指对 A 确定不一致的允许范围。 由于λ连续的依赖于a ij,则λ比n大的越多,A的不一致性越严重。用最大特征值对 应的特征向量作为被比较因素对上层某因素影响程度的权向量,其不一致程度越大,引起的判断误差越大。因而可以用λ― n 数值的大小来衡量 A 的不一致程度。

自顶向下的语法分析(实验报告一)

武汉轻工大学 编译原理实验报告 姓名朱春桃 院(系)数学与计算机学院 班级软件工程1203 学号 1205110605 指导教师李禹生 2014 年11 月10 日

一、实验目的 完成自顶向下语法分析算法的程序设计。 二、实验内容 设计、调试并测试自顶向下语法分析算法程序。 三、设计思路 根据课堂讲授的自顶向下语法分析方法,可以根据递归下降子程序方法设计语法分析程序,也可以根据LL(1)算法设计语法分析程序,针对文法:G[E] E→E+T | T T→T*F | F F→( E ) | i (1)由于文法G[E]不满足LL(1)文法条件,需要进行必要的等价文法变换。变换后的等价文法为: H[E] E→TA A→+TA | ε T→FB B→*FB | ε F→( E ) | i (2)等价文法H[E]不含左递归,可以证明文法H[E]满足LL(1)文法条件(3)根据递归下降子程序方法设计语法分析程序 ①递归程序清单 ②调试过程说明 ③测试语句设计 ④测试结果列表 ⑤测试结论分析 (4)根据LL(1)算法设计语法分析程序 ①预测分析表 ②预测分析程序清单 ③调试过程说明 ④测试语句设计 ⑤测试结果列表

⑥测试结论分析 四、程序清单 /* E->TA, A->+TA|ε, T->FB, B->*FB|ε, F->i|(E). */ #include void E(char str[80],int &i,int &err or); void A(char str[80],int &i,int &error); void T(char str[80],int &i,int &error); void B(char str[80],int &i,int &error); void F(char str[80],int &i,int &error); void main() { int i=0,j=0,error=0; char str[80]; printf("请输入字符串('#'为结束字符):"); while ((str[j]=getchar())!='#') j++; str[j]='#'; E(str,i,error); if(error) printf("error\n"); else printf("right\n"); } void E(char str[80],int &i,int &error) { printf("E->TA\n"); T(str,i,error); A(str,i,error); } void A(char str[80],int &i,int &error) { if(str[i]=='+') { printf("A->+TA|ε\n"); i++; T(str,i,error); A(str,i,error);

编译原理词法分析习题集带答案

《编译原理》习题(一)——词法分析 一、是非题(请在括号内,正确的划√,错误的划×) 1.编译程序是对高级语言程序的解释执行。(× ) 2.一个有限状态自动机中,有且仅有一个唯一的终态。(×) 9.两个正规集相等的必要条件是他们对应的正规式等价。(× ) 二、选择题 1.词法分析器的输出结果是_____。 A.( ) 记号B.( ) 相应条目在符号表中的位置 C.( ) 记号和属性二元组D.( ) 属性值 2.正规式M 1 和M 2 等价是指_____。 ! A.( ) M1和M2的状态数相等B.( ) M1和M2的有向边条数相等C.( ) M1和M2所识别的语言集相等D.( ) M1和M2状态数和有向边条数相等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.生成目标代码 三、填空题 1.计算机执行用高级语言编写的程序主要有两种途径:___解释__和__编译___。 3.编译过程可分为(词法分析),(语法分析),(语义分析与中间代码生成),(优化)和(目标代码生成)五个阶段。 ? 6.扫描器的任务是从(源程序中)中识别出一个个(单词符号)。 17.一张转换图只包含有限个状态,其中有一个被认为是(初)态;而且实际上至少要有一个(终)态。 1.编译程序首先要识别出源程序中每个(单词),然后再分析每个(句子)并翻译其意义。3.通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序

层次分析法例题(1)

层次分析法在最优生鲜农产品流通中的应用 班级 (一)、建立递阶层次结构 目标层:最优生鲜农产品流通模式。 准则层:方案的影响因素有:1c 自然属性、2c 经济价值、3c 基础设施、5c 政府政策。 方案层:设三个方案分别为:1A 农产品产地一产地批发市场一销地批发市场一消费者、2A 农产品产地一产地批发市场一销地批发市场一农贸市场一消费者、3A 农业合作社一第三方物流企业一超市一消费者(本文假设农产品的生产地和销地不在同一个地区)。 。 目标层: 准则层: 方案层:

图3—1 递阶层次结构 (二)、构造判断(成对比较)矩阵 所谓判断矩阵昰以矩阵的形式来表述每一层次中各要素相对其上层要素的相对重要程度。为了使各因素之间进行两两比较得到量化的判断矩阵,引入1~9的标度,见表 为了构造判断矩阵,作者对6个专家进行了咨询,根据专家和作者的经验,四个准则下的两两比较矩阵分别为:

(三)、层次单排序及其一致性检验 层次单排序就是把本层所有要素针对上一层某一要素,排出评比的次序,这种次序以相对的数值大小来表示。 对应于判断矩阵最大特征根λmax 的特征向量,经归一化(使向量中各元素之和等于1)后记为W 。 W 的元素为同一层次因素对于上一层次因素某因素相对重要性的排序权值,这一过程称为层次单排序。 能否确认层次单排序,需要进行一致性检验,所谓一致性检验是指对A 确定不一致的允许范围。 由于λ 连续的依赖于ij a ,则λ 比n 大的越多,A 的不一致性越严重。用最大特征值对应的特征向量作为被比较因素对上层某因素影响程度的权向量,其不一致程度越大,引起的判断误差越大。因而可以用 λ―n 数值的大小来衡量 A 的不一致程度。 用一致性指标进行检验:max 1 n CI n λ-= -。其中max λ是比较矩阵的最大特征值,n 是比较矩 阵的阶数。CI 的值越小,判断矩阵越接近于完全一致。反之,判断矩阵偏离完全一致的程度越大。 (四)、层次总排序及其一致性检验 )0(273.0104.0056.0567.0092.1418.0224.0266.2222.0316.0353.0201 .0074.0105.0118.0121 .0037.0053.0059.0075 .0667.0526.0470.0603 .0136131121121113581 W A =??? ?? ?? ??????????→??? ? ? ?? ? ???????????→?????????????? ???????→?????????????? ?=归一化按行求和列向量归一化

c语言编程例题与答案解析

实验报告三 (四学时) 2.1 实验目的 (1)掌握函数的定义和调用; (2)了解函数间的参数传送; 2.2 基础实验 【题目3-1】编写函数实现将输入的字母转换成大写字母(若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母”)。 算法分析: 1、输入:通过键盘接收一个字符; 2、条件判断:调用判别函数 3、函数功能为:蒋所输入字符进行判别处理,若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母” 4、程序结束。 【实验3-1】代码及运行结果:

【题目3-2】从键盘输入若干个同学计算机课程期末考试成绩(学生人数可由用户输入),求该课程的期末成绩的平均分并输出。 函数功能要求:实现若干(例如5名)同学的的期末成绩输入,并统计出平均分。 算法分析: 1、输入:通过键盘接收同学个数; 2、调用求平均分函数 3、输出平均成绩 4、程序结束。

【实验3-2】代码及运行结果:

【题目3-3】请用函数编写程序实现:计算3 到100 之间所有素数的平方根之和,并输出。s=148.874270。 算法分析: 1、编写函素数判别函数,确定返回标记,如果是素数返回1,否则返回0 2、编写主函数,用一重循环遍历100以内所有数据 2.1、通过素数判别函数对循环的数据进行是否为素数的判别 2.2、返回判别为真的整数,并输出 3、程序结束。 【实验3-3】代码及运行结果: #include #include int Prime(int x) { int i ; if(x<=1) return 0; for(i=2;i<=x-1;i++) { if(x%i==0) { return 0;

关于层次分析法的例题与解.

旅游业发展水平评价问题 摘要 为了研究比较两个旅游城市Q、Y的旅游业发展水平,建立层次分析法]3[数学模型,对两个旅游城市Q、Y的旅游业发展水平进行了评价. 首先,通过对题目中的图1、表1进行了分析与讨论,根据层次分析法,建立了目标层A、准则层B和子准则层C、方案层D四个层次,通过同一层目标之 间的重要性的两两比较,得出判断矩阵,利用]1[ MATLAB编程对每个判断矩阵进行求解. 其次,用MATLAB软件算出决策组合向量,再比较决策组合向量的大小,由“决策组合向量最大”为目标,得出城市Y的决策组合向量为0.4325,城市Q组合向量为0.5675. 最后,通过城市Q旅游业发展水平与旅游城市Y旅游业发展水平的决策组合向量比较,得出城市Q的旅游业发展水平较高. 关键词层次分析法MATLAB旅游业发展水平决策组合向量

1.问题重述 本文要求分析Q Y,两个旅游城市旅游业发展水平,并且给出了两个城市各方面因素的对比,如城市规模与密度,经济条件,交通条件,生态环境条件,宣传与监督,旅游规格,空气质量,城市规模,人口密度,人均GDP,人均住房面积,第三产业增加值占GDP比重,税收GDP,外贸依存度,市内外交通,人均拥有绿地面积,污水集中处理率,环境噪音,国内外旅游人数,理赔金额,立案数量,A级景点数量,旅行社数量,星级饭店数量.建立数学模型进行求解. 2.问题分析 本文要求分析Q Y,两个城市的分析Y,两个旅游城市旅游业发展水平,在对Q 中,发现需要考虑因素较多,第一、城市规模与密度,包括城市规模与人口密度.第二、经济条件,包括外贸依存度,人均GDP,人均住房面积,第三产业增加值占GDP比重,税收GDP.第三、交通条件,包括市内外交通.第四,生态环境条件包括空气质量,人均绿地面积,污水处理能力,环境噪音.第五、宣传与监督,包括国内外旅游人数,游客投诉立案件数.第六、旅游规格,包括A级景点个数,旅行社个数,星级饭店个数,这就涉及到层次分析法来估算各个指标的权重,评出最优方案.具体内容如下: (1)本文选择了对Q Y,两个旅游城市旅游业发展水平有影响的19个指标作为评价要素,指标规定如下: 城市规模:城市的人口数量. 人口密度:单位面积土地上居住的人口数.是反映某一地区范围内人口疏密程度的指标.人口影响城市规模.人口密度越大城市规模也就越大. 人均GDP:即人均国内生产总值. 人均城建资金:即用于城市建设的资金总投入. 第三产业增加值:增加值率指在一定时期内单位产值的增加值.即第三产业增加值越高越能带动城市经济的发展. 税收GDP:税收是国家为实现其职能,凭借政治权力,按照法律规定,通过税收工具强制地、无偿地征收参与国民收入和社会产品的分配和再分配取得财政收入的一种形式. 外贸依存度:即城市对于外贸交易的依赖程度. 市内交通:即城市市区交通情况. 市外交通:即城市郊区交通情况.市内交通与市外交通对于城市交通条件具有同等的重要性. 空气质量:即城市总体空气质量情况.空气质量越好对于城市生态环境就越好. 人均绿地面积:即反应城市绿化面积以及人口密度的比值关系. 污水处理能力:城市污水处理水平. 环境噪音:城市环境噪音情况. 国内外旅客人数:国内外来旅客一年总人数.人数越多说明宣传与监督就越好.

单片机程序分析试题与答案

六、设计题 1.某单片机控制系统有8个发光二极管。试画出89C51与外设的连接图并编程使它们由右向左轮流点亮。 答:图(5分) 构思(3分) MOV A,#80H (1分) UP:MOV P1,A (1分) RR A (2分) SJMP UP (1分) 2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。试画出8051与外设的连接图并编程实现上述要求。 答:图(5分) 构思(3分) 程序(4分) ORG 0000H LJMP MAIN ORG 0003H LJMP AINT0 ORG 0013H LJMP BINT1 MAIN: MOV IE,#83H SETB IT0 SETB IT1 MOV R0,#00H MOV DPTR,#TAB UP: MOV A,R0 MOVC A,@A+DPTR MOV P1,A SJMP UP AINT0: INC R0 CJNE R0,#10,AINT01 MOV R0,#0 AINT01: RETI BINT1: DEC R0 CJNE R0,#0FFH,BINT11 MOV R0,#9 BINT11: RETI 1.已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。 1.SQR:1NC A MOVC A,@A+PC RET TAB:DB 0,1,4,9,16 DB 25,36,49,64,81 2.请使用位操作指令实现下列逻辑操作:BIT=(10H∨P1.0)∧(11H∨C Y) 2.ORL C,11H

MOV 12H,C MOV C,P1.0 ORL C,/10H ANL C,12H MOV BIT,C RET 3.已知变量X存于V AR单元,函数值Y存于FUNC单元,按下式编程求Y值。 Y= 10 0 1 x x x > - = 0,Y=1 MOV A,#0FFH ;x<0,Y=-1 SJMP RES POSI:MOV A,#01H RES:MOV FUNC,A RET 4.已知在R2中存放一个压缩的BCD码,请将它拆成二个BCD字节,结果存于SUM开始的 单元中(低位在前)。 4. MOV R0,#SUM MOV A,R2 ANL A,#OFH MOV @R0,A ;存低字节BCD MOV A,R2 ANL A,#0F0H SW AP A 1NC R0 MOV @R0,A ;存高字节BCD RET 5.将存于外部RAM 8000H开始的50H数据传送0010H的区域,请编程实现。 5. MOV DPTR,#8000H MOV R0,#10H MOV R2,#50H LOOP:MOVX A,@DPTR ;取数 MOVX @R0,A ;存数 1NC DPTR 1NC R0 DJNZ R2,LOOP RE T

层次分析法例题(1)

层次分析法在最优生鲜农产品流通中的应用 班级 (一)、建立递阶层次结构 目标层:最优生鲜农产品流通模式。 准则层:方案的影响因素有:1c 自然属性、2c 经济价值、3c 基础设施、5c 政府政策。 方案层:设三个方案分别为:1A 农产品产地一产地批发市场一销地批发市场一消费者、2A 农产品产地一产地批发市场一销地批发市场一农贸市场一消费者、3A 农业合作社一第三方物流企业一超市一消费者(本文假设农产品的生产地和销地不在同一个地区)。 。 图3—1 递阶层次结构 (二)、构造判断(成对比较)矩阵 所谓判断矩阵昰以矩阵的形式来表述每一层次中各要素相对其上层要素的相对重要程度。为 目标层: 准则层: 方案层:

了使各因素之间进行两两比较得到量化的判断矩阵,引入1~9的标度,见表 为了构造判断矩阵,作者对6个专家进行了咨询,根据专家和作者的经验,四个准则下的两两比较矩阵分别为:

(三)、层次单排序及其一致性检验 层次单排序就是把本层所有要素针对上一层某一要素,排出评比的次序,这种次序以相对的数值大小来表示。 对应于判断矩阵最大特征根λmax的特征向量,经归一化(使向量中各元素之和等于1)后记为W。 W的元素为同一层次因素对于上一层次因素某因素相对重要性的排序权值,这一过程称为层次单排序。 能否确认层次单排序,需要进行一致性检验,所谓一致性检验是指对A确定不一致的允许范围。 a,则λ比n 大的越多,A 的不一致性越严重。用最大特征值对由于λ连续的依赖于 ij 应的特征向量作为被比较因素对上层某因素影响程度的权向量,其不一致程度越大,引起的判断误差越大。因而可以用λ―n数值的大小来衡量 A 的不一致程度。

第五章 自上而下语法分析

第五章自上而下语法分析 1、教学目的及要求: 本章介绍编译程序的第二个阶段语法分析的设计方法和实现原理,包括自上而下分析的无回朔的递归下降分析、 LL(1)分析法。要求理解递归下降分析、LL(1)文法的基本概念;掌握无回朔的递归下降分析的设计和实现、LL(1)分析表的构造与分析方法。 ◇能够对一个给定的文法判断是否是LL(1)文法; ◇能构造预测分析表; ◇能用预测分析方法判断给定的输入符号串是否是该文法的句子; ◇能对某些非LL(1)文法做等价变换: ①消除左递归 ②提取左公共因子 可能会变成LL(1)文法。这样可扩大自顶向下分析方法的应用。 2、教学内容: 语法分析器的功能,自上而下语法分析(递归下降分析法,预测分析程序),LL(1)分析法,递归下降分析程序构造,预测分析程序。 3、教学重点: 递归下降子程序,预测分析表构造,LL(1)文法。 4、教学难点: 对一个文法如何判断是否是LL(1)文法,由于在判断 LL(1)文法时用到文法符号串的开始符号集合(FIRST集)和非终结符后跟符号集合(FOLLOW集)的计算,而一般学生往往因概念不清或不够细心对这两个集合的计算常常出错,导致判断和分析结果的错误。 5、课前思考 为了了解自顶向下(自上而下)分析的一般过程和问题,请学生首先回顾本章之前介绍的有关基本概念: ◇句子、句型和语言的定义是什么? ◇什么叫最左推导? ◇什么叫最右推导和规范推导? ◇什么叫确定的自顶向下语法分析?

◇自顶向下语法分析是从文法的开始符号出发,反复使用各种产生式,寻找与输入符号匹配的推导。 ◇确定的自顶向下语法分析中用的是哪种推导? ◇在确定的自顶向下语法分析过程中,当以同一个非终结符为左部的产生式有多个不同右部时,如何选择用哪个产生式的右部替换当前的非终结符? ◇确定的自顶向下语法分析对文法有何限制? 6、章节内容 第一节概述 第二节 LL(1)分析方法 第三节递归下降分析法 5.1 概述 LL分析法 确定的自上而下分析 自上而下分析递归下降分析法 语法分析不确定的自上而下分析——即带回溯的分析方法 算符优先分析 自下而上分析 LR分析 一、带回溯的自顶向下分析方法 是自顶向下分析的一般方法,即对任一输入符号串,试图用一切可能的办法,从树根结点(识别符号)出发,根据文法自上而下地为输入串建立一棵语法树,或者说,从识别符号开始,根据文法为输入串建立一个推导序列,这种分析过程本质上是一种试探过程,是反复使用不同规则谋求匹配输入串的过程。 例有文法G[S]:S→cAd,A→ab|a,输入串w=cad。其分析过程为带回溯的。 二、存在问题及解决办法 1、左递归问题: 自顶向下分析方法只有把规则排列得合适时才能正确工作,该方法不能处理具有左递归性文法,可采取某些算法消除左递归。 2、回溯问题:

软件测试试题及答案分析

单选 1. 属于黑盒测试的方法?( C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 2.在Assert类中断言对象为NULL是_____。(D) A.assertEquals B.assertTrue C.fail D.assertNull 3.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求(A) A.系统测试B.集成测试 C.单元测试D.功能测试 4.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。(B) A. 语句覆盖 B.判定覆盖 C.条件覆盖 D.路径覆盖 5.软件测试的目的是___________。(C) A.表明软件的正确性B.评价软件质量 C.尽可能发现软件中的错误D.判定软件是否合格 6.关于白盒测试与黑盒测试的最主要区别,正确的是___________。(A) A.白盒测试侧重于程序结构,黑盒测试侧重于功能 B.白盒测试可以使用测试工具,黑盒测试不能使用工具 C.白盒测试需要程序参与,黑盒测试不需要 D.黑盒测试比白盒测试应用更广泛 7.软件测试类型按开发阶段划分___________。(B) A.需要测试﹑单元测试﹑集成测试 B.单元测试﹑集成测试﹑确认测试﹑系统测试﹑验收测试 C.单元测试﹑集成测试﹑确认测试 D.调试﹑单元测试﹑功能测试 8.在Junit中,testXXX()方法就是一个测试用例,测试方法是______。(B) A.private void testXXX() B.public void testXXX() C.public float testXXX() D.public int testXXX() 9.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?(A)A.单元测试B.集成测试 C.目的测试D.确认测试 10.增量式集成测试有3种方式:自顶向下增量测试方法,和混合增量测试方式。(D ) A.自中向下增量测试方法B.多次性测试 C.维护D.自底向上增量测试方法 1)以下不属于软件测试的原则有(D )。 A.程序最好别让由编写该程序的程序员自己来测试

层次分析法例题(3)

二、AHP 求解 层次分析法(Analytic Hierarchy Process )是一种定量与定性相结合的多目标决策分析法, 将 决策者的经验给予量化,这在对目标(因素)结构复杂且缺乏必要数据的情况下较为实用。 (一)、建立递阶层次结构 目标层:最优生鲜农产品流通模式。 准则层:方案的影响因素有: c 1自然属性、c 2经济价值、C 3基础设施、c 5政府政策。 方案层:设三个方案分别为: A i 农产品产地一产地批发市场一销地批发市场一消费者、 A 2 农产品产地一产地批发市场一销地批发市场一农贸市场一消费者、 A 3农业合作社一第三方 物流企业一超市一消费者(本文假设农产品的生产地和销地不在同一个地区 )。 。 A 3 图3— 1递阶层次结构 (二)、构造判断(成对比较)矩阵 所谓判断矩阵是以矩阵的形式来表述每一层次中各要素相对其上层要素的相对重要程度。 为 目标层: G :最优生鲜农产品流通模式 准则层: 自然属性 经济价值 基础设施 政府政策 方案层:

了使各因素之间进行两两比较得到量化的判断矩阵,弓I入1?9的标度,见表3—1.

为了构造判断矩阵,作者对6个专家进行了咨询,根据专家和作者的经验,四个准则下的两两比较矩阵分别为:

(三)、层次单排序及其一致性检验 层次单排序就是把本层所有要素针对上一层某一要素,排出评比的次序,这种次序以相 对的数值大小来表示。 对应于判断矩阵最大特征根入max的特征向量,经归一化(使向量中各元素之和等于 1) 后记为W。 W的元素为同一层次因素对于上一层次因素某因素相对重要性的排序权值,这一过程称为层次单排序。 能否确认层次单排序,需要进行一致性检验,所谓一致性检验是指对A确定不一致 的允许范围。 由于入连续的依赖于a ij,则入比n大的越多,A 的不一致性越严重。用最大特征值对 应的特征向量作为被比较因素对上层某因素影响程度的权向量,其不一致程度越大,引起的 判断误差越大。因而可以用入一n数值的大小来衡量A的不一致程度。

编译原理 第四章自顶向下语法分析法

第四章 自顶向下语法分析方法 语法分析是编译过程的核心部分。语法分析的任务是:按照文法,从源程序符号串中识别出各类语法成份,同时进行语法检查,为语义分析和代码生成作准备。执行语法分析任务的程序称为分析程序。也称为语法分析器,它是编译程序的主要子程序之一。 在第二章中我们已经介绍过。通过语法分析可建立起相应的语法树。按语法树的建立方法,我们将语法分析方法分成两大类,即自顶向下分析和自底向上分析。下面,我们先介绍自顶向下分析。 本章重点:自顶向下分析、LL (1)分析 第一节 自顶向下分析方法 一、带回溯的自顶向下分析算法 这是自顶向下分析的一般方法,即对任一输入符号串,试图用一切可能的方法,从识别符号出发,根据文法自上而下地为输入串建立一棵语法树。 下面用一个简单例子来说明这种过程: 假定有文法G[S]: S→c Ad A →ab|a 以及输入串w=cad 为了自上而下地构造w 的语法树,我们首先按文法的识别符号产生根结点S ,并让指示器IP 指 c S 的规则仅有一条)把这棵树发展为 ( a ) (b ) (c ) 图3-1-1 图3-1-1a 。我们希望用S 的子结从左至右匹配整个输入串w 。首先,此树的最左子结是终结符c 为标志的子结,它和输入串的第一个符号相匹配。于是,我们就把IP 调整为指向下一输入符号a ,并让第二个子结A 去进行匹配,非终结符A 有二个选择,我们试着用它的第一个选择去匹配输入串,于是把语法树发展为图3-1-1b 。子树A 的最左子结和IP 所指的符号相符,然后我们再把IP 调为指向下一符号d 并让A 的第二个子结进入工作。但A 的第二个子结为终结符号b ,与IP 当前指的符号d 不一致。因此,A 宣告失败。这意味着A 的第一个选择此刻不适用于构造w 的语法树。这时,我们应该回头(回溯)看A 是否还有别的选择。 为了实现回溯,我们一方面应把A 的第一个选择所生长的子树注销掉;另一方面,应把IP 恢复为进入A 时的原值,也就是让它重新指向第二输入符号a 。现在我们试探用A 的第二个选择,即考虑生成图3-1-1c 的语法树。 由于子树A 只有一个子结a ,而且,它和IP 所指的符号相一致,于是,A 完成了匹配任务。在A 获得匹配后,指示器指向下一个未被触及的符号d 。 在S 的第二子结A 完成匹配后,接着就轮到第三个子结d 进行工作。由于这个子结和最后一个输入符号相符,于是,我们完成了构造语法树的任务,证明了w 是文法G[ s]的一个句子。 上述自顶向下地为输入符号w 建立语法树的过程,实际上也是设法建立一个最左推导序列,以便通过一步步推导将输入串推导出来。很明显,对于输入串w 可以通过如下的推导过程将其推导出来:S ?CAd ?cad 所以用最左推导,是因为我们对输入串是自左向右扫描的,只有使用最左推导,才能保证按扫描顺序去匹配输入串。在上述推出符号串w 的过程中,由于出现在符号串中的非终结符号只有一个,因此,未明显地表现出最左推导的性质。 根据以上分析,不难编出程序来实现这种分析的算法。但是,上述这种自顶向下的分析算法存

《Python程序设计基础》习题答案与分析

Python程序设计基础习题答案与分析 程昱

第1章基础知识 1.1 简单说明如何选择正确的Python版本。 答: 在选择Python的时候,一定要先考虑清楚自己学习Python的目的是什么,打算做哪方面的开发,有哪些扩展库可用,这些扩展库最高支持哪个版本的Python,是Python 2.x还是Python 3.x,最高支持到Python 2.7.6还是Python 2.7.9。这些问题都确定以后,再做出自己的选择,这样才能事半功倍,而不至于把大量时间浪费在Python的反复安装和卸载上。同时还应该注意,当更新的Python版本推出之后,不要急于更新,而是应该等确定自己所必须使用的扩展库也推出了较新版本之后再进行更新。 尽管如此,Python 3毕竟是大势所趋,如果您暂时还没想到要做什么行业领域的应用开发,或者仅仅是为了尝试一种新的、好玩的语言,那么请毫不犹豫地选择Python 3.x系列的最高版本(目前是Python 3.4.3)。 1.2 为什么说Python采用的是基于值的内存管理模式? Python采用的是基于值的内存管理方式,如果为不同变量赋值相同值,则在内存中只有一份该值,多个变量指向同一块内存地址,例如下面的代码。 >>> x = 3 >>> id(x) 10417624 >>> y = 3 >>> id(y) 10417624 >>> y = 5 >>> id(y) 10417600 >>> id(x) 10417624 >>> x = [1, 2, 3, 1, 1, 2] >>> id(x[0])==id(x[3])==id(x[4]) True 1.3 解释Python中的运算符“/”和“//”的区别。 答: 在Python 2.x中,“/”为普通除法,当两个数值对象进行除法运算时,最终结果的精度与操作数中精度最高的一致;在Python 3.x中,“/”为真除法,与除法的数学含义一致。

习题第5章自顶向下语法分析方法

习题第5章自顶向下语法分析方法 一课本练习部分(第99-101页) 5.1 5.4 5.6(2)(3)(4) 5.7(1)(3)(5) 参考答案: 5.1 (1)S =>(T)=>(T,S) =>(S,S) =>(a,S) =>(a,(T)) =>(a,(T,S)) =>(a,(S,S)) => (a,(a,S)) => (a,(a,a)) S => (T) => (T,S) => (S,S) => ((T),S) => ((T,S),S) => ((T,S,S),S) =>((S,S,S),S) => (((T),S,S),S) => (((T,S),S,S),S) => (((S,S),S,S),S) => (((a,S),S,S),S) => (((a,a),S,S),S) =>(((a,a), ∧,S),S) =>(((a,a), ∧,(T)),S) =>(((a,a), ∧,(S)),S) => (((a,a), ∧,(a)),S) => (((a,a), ∧,(a)),a) (2)改写文法如下: S→a|∧|(T) T→ST’ T’→,ST’|ε 递归子程序为: S() { if(SYM==’a’)P(a); else if(SYM==’∧’)P(∧); else if(SYM==’( ’) { GetSym(); P(T); match(’) ’); } else Error(); } T() { P(S); P(T’); } T’() { if(SYM==",") { match(",");??? P(S); P(T'); } else if(SYM==(")")return;

算法设计与程序分析习题精选含答案(第四章)

作业四 4.1.2 Alternating glasses a. There are 2n glasses standing next to each other in a row, the first n of them filled with a soda drink and the remaining n glasses empty. Make the glasses alternate in a filled-empty-filled-empty pattern in the minimum number of glass moves. [Gar78] b. Solve the same problem if 2n glasses—n with a drink and n empty—are initially in a random order 答: 图1 杯子分组 a.两个为一组,在前n个杯子中判断偶数的杯子是否为空,不为空与同组的进行交换,共需 要交换n/2次,考虑n为奇数对n/2进行向下取整即可。 b.由于最终偶数位置为空杯,奇数位置为满杯,从第一项开始遍历,如果在奇数位置出现空 杯与后面偶数位置出现的第一个满杯进行交换,如果偶数位置出现满杯则与后面奇数出现的第一个空杯进行交换,每次交换使得两个位置满足条件,最坏情况是2n位置均为乱序,则需要交换n次,最好的情况为2n位置均满足条件,则交换次数为[0,n] 4.1.7 Apply insertion sort to sort the list E, X, A, M, P, L, E in alphabetical order. 4.2.1 Apply the DFS-based algorithm to solve the topological sorting problem for the following digraphs:

层次分析法例题94055

。数 学 建 模 作 业 班级:高分子材料与工程 姓名:林志许、朱金波、任宇龙

。 学号:1211020115、1211020126、1211020134 层次分析法 某物流企业需要采购一台设备,在采购设备时需要从功能、价格与可维护性三个角度进行评价,考虑应用层次分析法对3个不同品牌的设备进行综合分析评价和排序,从中选出能实现物流规划总目标的最优设备,其层次结构如下图所示。以A 表示系统的总目标,判断层中1B 表示功能,2B 表示价格,3B 表示可维护性。1C ,2C ,3C 表示备选的3种品牌的设备。 解题步骤: 1、标度及描述 人们定性区分事物的能力习惯用5个属性来表示,即同样重要、稍微重要、较强重要、强烈重要、绝对重要,当需要较高精度时,可以取两个相邻属性之间的值,这样就得到9个数值,即9个标度。 为了便于将比较判断定量化,引入1~9比率标度方法,规定用1、3、5、7、9分别表示根据经验判断,要素i 与要素j 相比:同样重要、稍微重要、较强重要、强烈重要、绝对重要,而2、4、6、8表示上述两判断级之间的折衷值。 目标层 判断层 方案层 图 设备采购层次结构图

注:a ij 表示要素i与要素j相对重要度之比,且有下述关系: a ij =1/a ji ; a ii =1; i,j=1,2,…,n 显然,比值越大,则要素i的重要度就越高。 2、构建判断矩阵A 判断矩阵是层次分析法的基本信息,也是进行权重计算的重要依据。根据结构模型,将图中各因素两两进行判断与比较,构造判断矩阵: ●判断矩阵B A-(即相对于物流系统总目标,判断层各因素相对重要性比较)如表1所示; ●判断矩阵C B- 1(相对功能,各方案的相对重要性比较)如表2所示; ●判断矩阵C B- 2(相对价格,各方案的相对重要性比较)如表3所示; ●判断矩阵C B- 3(相对可维护性,各方案的相对重要性比较)如表4所示。 B A- C B- 1 C B- 3 3、计算各判断矩阵的特征值、特征向量及一致性检验指标 一般来讲,在AHP法中计算判断矩阵的最大特征值与特征向量,必不需

统计分析软件复习题答案

习题程序: 1. data SCORE; input name$ sex$ Chinese maths physics chemist English; sum= Chinese+maths+physics+chemist+English ; mean=sum/5; cards; 王辉男80 85 82 78 90 李唱女85 93 88 70 89 张三男77 86 67 82 85 王二女81 78 93 83 87 ;run; data jinrong; Set SCORE; Where maths>85; Run; 2. input x r; do i=1 to 3; x+x*r; end; cards; 500 0.07 ;run; 3. (1)data income;input year x1-x3; income=x1+x2+x3;drop x1 x2 x3; cards; 1985 298.28 29.47 39.95 1990 510.86 70.68 75.81 1995 996.51 287.24 195.74 2000 1125.34 488.89 515.35 2001 1165.17 532.61 533.80 ;run; (2)data income(keep=year income); input year x1-x3;income=x1+x2+x3; cards; 1985 298.28 29.47 39.95 1990 510.86 70.68 75.81 1995 996.51 287.24 195.74 2000 1125.34 488.89 515.35 2001 1165.17 532.61 533.80 ;run; (3)data income(drop=i);

编译原理-四章自顶向下语法分析法

第四章自顶向下语法分析方法 语法分析是编译过程的核心部分。语法分析的任务是:按照文法,从源 程序符号串中识别出各类语法成份,同时进行语法检查,为语义分析和代码生成作准备。执行语法分析任务的程序称为分析程序。也称为语法分析器,它是编译程序的主要子程序之一。 在第二章中我们已经介绍过。通过语法分析可建立起相应的语法树。按语法树的建立方法,我们将语法分析方法分成两大类,即自顶向下分析和自底向上分析。下面,我们先介绍自顶向下分析。 本章重点:自顶向下分析、LL(1)分析 第一节自顶向下分析方法 一、带回溯的自顶向下分析算法 这是自顶向下分析的一般方法,即对任一输入符号串,试图用一切可能的方法,从识别符号出发,根据文法自上而下地为输入串建立一棵语法树。 下面用一个简单例子来说明这种过程: 假定有文法G[S] : S—c A d A — ab|a 以及输入串w=cad 为了自上而下地构造w的语法树,我们首先按文法的识别符号产生根结点S, 并让指示器IP 指

向输入串的第一符号c。然后,用S的规则(此处左部为S的规则仅有一条)把这棵树发展为| (a) (b)(c) 图3-1-1 图3-1-1a。我们希望用S的子结从左至右匹配整个输入串w。首先,此树的最左子结是终结符c为标志的子结,它和输入串的第一个符号相匹配。于是,我们就把IP调整为指向下一输入符号a,并让第二个子结A去进行匹配,非终结符A有二个选择,我们试着用它的第一个选择去匹配输入串,于是把语法树发展为图3-1-1b。子树A的最左子结和IP所指的符号相符,然后我们再把IP调为指向下一符号d并让A的第二个子结进入工作。但A 的第二个子结为终结符号b,与IP当前指的符号d不一致。因此,A宣告失败。这意味着A的第一个选择此刻不适用于构造w的语法树。这时,我们应该回头(回溯)看A是否还有别的选择。 为了实现回溯,我们一方面应把A的第一个选择所生长的子树注销掉;另一方面,应把IP恢复为进入A时的原值,也就是让它重新指向第二输入符号a。现在我们试探用A的第二个选择,即考虑生成图3-1-1C的语法树。 由于子树A只有一个子结a,而且,它和IP所指的符号相一致,于是,A

相关文档
最新文档