(2020年下半年软件设计师49题)程序设计语言的大多数语法现象可以用CFG(上下文无关文法)表示。下面的CFG产生式集用于描述简单算术表达式,其中+ - * 表示加、减、乘运算,id表示单个字母表示
后续应该还会发布一些关于 软件设计师题目的解题思路,或软件设计师的笔记资料,有需要的可以来我的个人主页搜索
2020年下半年软件设计师上午题49题
- 答案:A
题解
三种解题思路
第一种 排除法
- 这相当于硬凑,首先,上下文无关管文法中没有()和 / 符号,所以可以直接排除B和D选项
- 仅限用于这题,根据符号排除了BD选项,题目有说明,id表示单个字母表示变量,C选项中有数字,这CFG无法产生数字,所以C也可以直接排除,但还是建议看下第二种推理过程
第二种 自底向上推
C需要 * - + 这三个运算符
- + 和 - 可以有不少符合的条件实现,但是* 只能由T->TF,并且要保证a-b的要求,后面久必须跟上一个 - ,所以F转为-F,现在的得出的式子就是T-F,需要最后一个 + ,向上寻找,T只能由E+T|E-T|T 给出,加号都只能排在 T*-F 这一块的前面,所以C选项是错误的
A需要+ - - 这三个运算符
- 最好先考虑两个符号连在一起的情况,+ -, - 这个符号标志比较有特征,-b只能是负数,所以-F是必定需要的,,然后就是如何插入-F的问题,-F是由F给出,F由T给出,T由E给出,关于E的有两个式子,-F的前面是 + 号,所以-F要挨着+号,向上推又是由T给出的,E+T就可以满足专为E±F,这时还差一个 - 号,E - T,E再分解,可以分解为E+T|E-T|T,所以只要E-T的E分解一下,变成E+T-T,中间的T分解为-F,得出式子分解为E±F-T,最后分解为id±id-id,就可以表示单个字母表示的变量,故答案为A
第三种 自顶向下推
总结
- 三种方法各有好处,第一种快速,但容易错,难点的也不好解,第二种抓细节,难点也好解开,第三种,需要一定想象力
- 如果确实对你有帮助别忘记一键三连支持一下哦
(2020年下半年软件设计师49题)程序设计语言的大多数语法现象可以用CFG(上下文无关文法)表示。下面的CFG产生式集用于描述简单算术表达式,其中+ - * 表示加、减、乘运算,id表示单个字母表示相关推荐
- 2020年下半年软件设计师下午真题试题(案例分析)及答案
2020年下半年软件设计师上午真题及答案解析 目录 1.工厂智能缺陷检测系统的数据流图 2.M集团业务管理需求的数据库设计 3.房产信息管理系统的用例图 4.希尔排序算法 5.在线支付(Java) 1 ...
- 2020年下半年软件设计师下午试题
[试题一]工厂智能缺陷检测系统的数据流图 某工厂制造企业为了开发软件智能检测以有效提升检测效率,节约人力资源,该系统的主要功能是: (1 )基础信息管理.管理员对检测标准和检测规则等基础信息设置. ( ...
- 2022年下半年软件设计师上午真题及答案解析
1.以下关于RISC(精简指令集计算机)特点的叙述中,错误的是( ). A.对存储器操作进行限制,使控制简单化 B.指令种类多,指令功能强 C.设置大量通用寄存器 D.选取使用频率较高的一些指令,提 ...
- 2019计算机软件考试笔试答案,2019年下半年软件设计师考试上午真题(含答案)
2019年下半年软件设计师考试上午真题(含答案) (15页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 20XX年下半年软件设计师考试上午 ...
- 2019年下半年软件设计师考试上午题的英语部分原文。
2019年下半年软件设计师考试上午题的英语部分原文. 找了半天,辛苦我了.
- 2020年下半年网络规划设计师上午真题及答案解析
2020年下半年网络规划设计师上午真题及答案解析 1.在支持多线程的操作系统中,假设进程P创建了线程T1,T2,T3,那么下列说法中正确的是( ). A.该进程中已打开的文件是不能被T1,T2和T3 ...
- 2019年下半年软件设计师备考指南
2019年下半年软件设计师备考指南 软件设计师考试内容.科目.考试时间.备考方式 考试内容及时间 基础知识 纸考 基础知识 2019-11-09 09:00:00(150分钟) 应用技术 纸考 应用技 ...
- 2018年下半年 软件设计师 答案及详解
2018年下半年 软件设计师 答案详解 主要记录刷题相关笔记,方便日后温习!!! 一.选择题 CPU 在执行指令的过程中,会自动修改_____的内容,以使其保存的总是将要执行的下一条指令的地址. A. ...
- 2022年下半年软件设计师考试上午真题(专业解析+参考答案)
题目:以下关于RISC(精简指令集计算机)特点的叙述中,错误的是( ). 选项:[{"A":"对存储器操作进行限制,使控制简单化","B" ...
- 2020年下半年系统分析师上午真题及答案解析
1.系统结构化分析模型包括数据模型.功能模型和行为模型,这些模型的核心是( ). A.实体联系图 B.状态转换图 C.数据字典 D.流程图 2.数据流图是系统分析的重要工具,数据流图中 ...
最新文章
- python中类方法与实例方法的区别-Python实例方法、类方法、静态方法的区别与作用详解...
- Python练习题:批量删除多个文件夹内的相同文件
- 如何将iso文件安装到VirtualBox里的ubuntu去
- FFMpeg在Windows环境下的编译
- 智能小程序档案馆——如何给“包”瘦身
- 新手学习编程如何更加轻松的学习C/C++编程语言?了解一下吧!
- Sybase数据库连接配置
- Android 的Android Device Monitor 打不开出现 A error has occured
- leetcode题解173-二叉搜索树迭代器
- LVS-DR负载均衡-02
- android 圆形自定义进度条,自定义Android圆形进度条(附源码)
- 单片机学习笔记-基础知识
- MyBatis学习笔记三——映射配置文件
- Java中IDEA报错 “cannot access xxx“的解决办法
- 【人因工程】熵值法与CRITIC法求权重
- Vue判断IE浏览器版本并提示
- 天津市南洋工业学校计算机应用,一、计算机应用技术技能
- 基于微信小程序的智慧社区系统
- QAxObject 读写 excel
- el-table动态添加行,列。自定义输入表头,input hover 显示文字
热门文章
- spring核心技术之Resource资源理解
- 使用html+css3画一个波士顿凯尔特人的三叶草队标
- 广西一男子酒后肇事逃逸 致环卫工人被撞身亡(图)
- 支付宝支付demo运行流程
- 手游服务器账号,手游服务器登录流程
- 大数据项目实战——基于某招聘网站进行数据采集及数据分析(五)
- C语言练习,指针变量作函数参数,从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中,m和n的值由用户键盘输入。已知m和n的值都不超过10
- 如何使用NSOperations和NSOperationQueues
- egret的WebView实现(基于egret2.5)
- 局域网ip冲突检测工具_只需一台Android设备就能打通局域网内部通讯:文字聊天与文件传输...
- 2020年下半年软件设计师下午真题试题(案例分析)及答案