新网登录网站后台,网站建设要学哪种计算机语言,wordpress 数据库密码,建设网站的傻瓜图文指南文章目录 2022年下半年软考软件设计师综合知识真题第1章 计算机系统基础知识(12/38)计算机软件知识1-6/6哲学概念及收敛思维#xff1a;是Python程序语言中#xff0c;处理异常的结构集合#xff0c;和这个集合之外的结构的区分#xff0c;考Python集合之外的结构 哲学概念… 文章目录 2022年下半年软考软件设计师综合知识真题第1章 计算机系统基础知识(12/38)计算机软件知识1-6/6哲学概念及收敛思维是Python程序语言中处理异常的结构集合和这个集合之外的结构的区分考Python集合之外的结构 哲学概念及收敛思维语法分析类别中对递归子程序分析的哲学了解唯一分析顺序考最大集合分析到最小集合之前有个题目考从大集合到小集合的唯一动作是拆解 3哲学概念及收敛思维关系代数表达式中选择符号的表达格式唯一值输入考唯一(表)输出唯一σ 数字第几列的输出 4哲学概念及收敛思维关系代数表达式中自然联接符号的自带投影考对联系表EP进行自然联接⋈考对Pσ2选择表进行投影π的元素输入 哲学概念及收敛思维编译器工作流程和输出产物的适应性集合特性的哲学了解大步流程和分步流程机器码适应集合唯一考大步流程考适应集合唯一 哲学概念及收敛思维**同一进程中VP互斥中间一个P考两头都是V**总体图解如下就中间这个要多记忆一下前后两个转换思路之后都是简单的收敛思路 2022年下半年软考软件设计师综合知识真题
第1章 计算机系统基础知识(12/38)
计算机软件知识1-6/6
● 48.在 Python3不是合法的异常处理结构。 A. try… except… B. try…except…finally C. try… catch… D. raise
注意不是合法的也就是非法的处理异常的结构
哲学概念及收敛思维
1、Python中用“try…except” “try” 块中放置可能会引发异常的代码。当 “try” 块中的代码引发异常时程序会跳转到对应的 “except” 块中执行异常处理代码 “try…except…finally” “try” 块用于包含可能引发异常的代码“except” 块用于捕获并处理异常。而 “finally” 块无论 “try” 块中是否发生异常都会执行。 “raise” 在 Python 中用于主动引发异常它也是 Python 异常处理机制的一部分。 是Python程序语言中处理异常的结构集合和这个集合之外的结构的区分考Python集合之外的结构
在其他语言如 Java 中使用 “try…catch” 来处理异常
22.对高级语言源程序进行编译或解释过程中需进行语法分析递归子程序分析属于的分析法。
A. 自上而下 B. 自下而上 C. 从左至右 D. 从右至左
哲学概念及收敛思维
1、左右是扫描输入串的方向描述不是语法分析方法的类别排除CD
2、递归子程序法又叫递归下降分析法排除B
语法分析类别中对递归子程序分析的哲学了解唯一分析顺序考最大集合分析到最小集合之前有个题目考从大集合到小集合的唯一动作是拆解 一、总览编译流程中的语法分析 编译过程核心步骤 词法分析 → 将字符流转换为单词Token序列 例a 3 5 → [ID(a), OP(), NUM(3), OP(), NUM(5)] 语法分析 → 检查Token序列是否符合语法规则生成抽象语法树AST 例生成树状结构表示赋值语句 二、语法分析的核心任务 核心目标 验证Token序列是否遵循编程语言的语法规则如变量声明、表达式结构、控制流结构等。 语法分析 相当于语文老师检查句子结构是否正确。 编程语言if语句需有条件和代码块 三、递归子程序分析法的本质 方法分类 自上而下分析Top-Down Parsing 从语法规则的最顶层开始如“程序→函数→语句→表达式→项”逐步展开推导。 特点类似拆解俄罗斯套娃从外到内解析结构。 代表方法递归下降分析法Recursive Descent Parsing即递归子程序法。 类比现实类比成写文章更加形象贴切 如同写文章先列大纲顶层结构再填充章节子结构最后写段落和句子底层细节。递归子程序法就是按照大纲逐层细化展开的过程。 3哲学概念及收敛思维
1、“005”是员工号的其中一个值员工号在关系E中排除CD在关系P中不可能选择到“005”括号中表示表肯定不是P单引号表示选择什么’005’
2、员工号是关系E的第一个属性选择符号后面的就是按照顺序选择第个属性的表达式形式排除A
关系代数表达式格式是 选择符号σ 第几列的数字 ‘005’ (E)
操作是选择查都是查第几列 你要查什么值 你要查哪个表
目的是查询 或者属性名 首先应该默认这个表有这个属性不然肯定是空
其次这个值可以查得到也可以查不到这是正儿八经地空
符号σ英文为 sigma /ˈsɪɡmə/ 大写是 Σ
关系代数表达式中选择符号的表达格式唯一’值’输入考唯一(表)输出唯一σ 数字第几列的输出 4哲学概念及收敛思维
1、注意查询符号σ执行之后相当于生成了一个新的表表中只有一行数据元素
2、 步骤1明确关系属性 员工关系E员工号1、员工名2、部门名3、电话4、家庭住址5。工程关系P工程号1、工程名2、前期工程号3。参与关系EP员工号1、工程号2、工作量3。 员工号σ1的值’005’
工程名σ2的值’虎头山隧道’
上一问σ1 ‘005’ (E) 已经筛选出了员工号1的值’005’同时包括员工号1、员工名2、部门名3、电话4、家庭住址5的数据元素的表Eσ1
员工号1员工名2部门名3电话4家庭住址5005此处假设为空或待补充具体姓名此处假设为空或待补充具体部门名此处假设为空或待补充具体电话此处假设为空或待补充具体住址
然后用σ2 ‘虎头山隧道’ § 筛选出工程名σ2的值’虎头山隧道’同时包括工程号1、工程名2、前期工程号3的数据元素的表Pσ2
工程号1工程名2前期工程号2假设值hu虎头山隧道假设值
3、题目需要的属性是
①E的123注意员工号
②P的2和1注意这里P还是需要工程号1因为EP表的第2列是根据工程号连接P的两个后面要合并数据
③EP的123用⨝自然连接时重复的公共列会省略所以无需担心重复
员工号1工程号2工作量3005假设值hu假设值hugong假设值非hu假设值
先按照要求的属性进行切分也就是投影
投影 π 小写 ① π1,2,3 ( Eσ1 )得到π1,2,3 Eσ1
注意这里查询的σ并不会损害属性的完整性所以在π中仍然需要对1、2、3进行切分任何时候π都可以对所有属性进行切分这和查询σ基于哪个属性没有关系
员工号1员工名2部门名3005此处假设为空或待补充具体姓名此处假设为空或待补充具体部门名
②π1,2 ( Pσ2 )得到π1,2 Pσ2
工程号1工程名2假设值hu虎头山隧道
③EP的3其实仍然可以直接投影切掉3来得到但是切掉之后也要进行自然连接的多此一举这里考的就是直接进行自然联接
π1,2 Pσ2 ⨝ EP
⨝自然连接Natural - join
两张表公共列是工程号
公共列中查询值相同的数据元素这是对能查询到的公共列的数据元素进行扩大公共列只保留一次所以说是扩大
相当于指定了查询后面的列就是公共列
查询后面的值就是所有两张表相等的值 记为⨝工程号
工程号1工程名2员工号3工作量4假设值hu虎头山隧道005假设值hugong
必须得先有公共列数据元素才能进行扩大
4、
此时⨝工程号和π1,2,3 Eσ1也有公共列了就是员工号
此时就能进行扩大数据元素操作了
⨝工程号 ⨝ π1,2,3 Eσ1
记为 ⨝员工号这个最终的公共列是得益于EP表本身的员工号1所以难怪EP表不要剪切属性都放出来直接用⨝的去重效果就达到了π的剪切效果同时也有了查询的影子最终效果就是能扩大元素集合
工程号1σ工程名2σ员工号3工作量4员工名5部门名6假设值hu虎头山隧道005假设值hugong此处假设为空或待补充具体姓名此处假设为空或待补充具体部门名
最终得到的就是2个输入的属性值得到4个输出的属性值
5、
题干中的π2,3,5,6 ⨝员工号 从最后的大数据元素集合表中切4个属性出来列的顺序不一样应该是我合并的顺序的关系影响不大总之是切4个属性出来
表达式表示就是
π2,3,5,6 (
(
π1,2 ( σ2′虎头山隧道′(P)
)
⋈EP
)
⋈ π1,2,3 ( σ1′005′(E) )
)
6、最后来看看答案 $$ 题目给出的表达式是
π 2,3,5,6 (π 1,2,3 (问题1)⋈(问题2) ) $$ 答案就是上面一整个
(
π1,2 ( σ2′虎头山隧道′(P)
)
⋈EP
)
6.1、最后肯定是和EP自然联接排除BC
6.2、切Pσ2这个表的哪两个属性根据题目需要不需要属性3排除有π2,3的A
6.3、选D
关系代数表达式中自然联接符号的自带投影考对联系表EP进行自然联接⋈考对Pσ2选择表进行投影π的元素输入
21.编译器与解释器是程序语言翻译的两种基本形态,以下关于编译器工作方式及特点的叙述中正确的是()。 A.边翻译边执行用户程序运行效率低且可移植性差
B.先翻译后执行用户程序运行效率高且可移植性好。
C.边翻译边执行用户程序运行效率低但可移植性好
D.先翻译后执行用户程序运行效率高但可移植性差
哲学概念及收敛思维
1、编译器翻译整本书先翻译后执行并且这样执行时的特点必然是运行效率高前期工作一次性做完了后续工作肯定任务量小了排除AC
2、编译器针对 x86 架构的 CPU 生成的机器码在 ARM 架构的 CPU 上可能无法运行不同架构指令集不同移植性差排除B 机器码依赖特定硬件和操作系统不同CPU的指令集不同比如Intel和苹果M1芯片不同操作系统的接口也不同。例子 你在Windows电脑上编译了一个游戏生成.exe文件这个文件在Mac电脑上直接打不开必须用Mac版的编译器重新编译一次。 编译器工作流程和输出产物的适应性集合特性的哲学了解大步流程和分步流程机器码适应集合唯一考大步流程考适应集合唯一 A. V(S1)V(S2)和 P(S2)P(S3)
B. V(S1)P(S2)和 V(S3)P(S4)
C.V(S1)V(S2)和V(S3)V(S4)
D. P(S1)P(S2)和 V(S2)V(S3)
哲学概念及收敛思维
1、先倒着看找线索P5中已经先有P操作了
⑤肯定是V操作
2、那么⑥肯定是P操作
3、那么P1之后的肯定是V操作注意这里就是VV要输入两个量排除BD
4、那么②前面有个PS1操作①中的肯定有个是VS1了
P2之后的肯定是V操作注意这里也是VV要输入两个量排除A
选C
同一进程中VP互斥中间一个P考两头都是V
是通过这个唯一的答案知道了①②知道了输入是S1S2S3S4才能反推后面的题目
A. V(S3)和 V(S6)V(S7)
B. V(S3)和 V(S6)P(S7)
C.P(S3)和 V(S6)V(S7)
D.P(S3)和P(S6)V(S7)
推理步骤
第一、P1中VS1是箭头驱动P2初始值0从P2有个PS1能够印证这不就是这个问的考点的输入P就是回应上一个主体我执行了所以用P进行验证
VS2是箭头驱动P3初始值0从P3中有个PS2能够印证
那么P3中还有个PS?肯定是P2的VS?
第二、P2中VS3是箭头驱动P3初始值0
VS4是箭头驱动P4初始值0从P4中有个PS4
那么VS?肯定就是VS3那么P3中的就是PS3这就是③排除第二问的AB
第三、P3中VS5是箭头驱动唯一的一个P5P5中找到验证有一个PS5
那么P5中的PS6肯定就是P4的
那么P4必定有一个VS6
第四P4中④肯定是VS6并且这个是驱动P5的排除第二问的D
那么还有个VS??肯定是驱动P6的在P6中是PS??
选C
到这里第二个问题因为C的答案确定了继续作为输入回答第三个问题
A. V(S6)和 P(S7)P(S8)
B. P(S8)和 P(S7)P(S8) C.P(S8)和P(S7)V(S8) D. V(S8)和P(S7)P(S8)
进一步推理步骤
第四中的疑问VS??根据答案就是VS7那么P6中的就是PS7这就是⑥
并且⑥肯定是PP排除第三问的C
P5中⑤里面唯一一个V并且这里也只剩一个S8了所以⑤就是VS8排除AB
选D
总体图解如下就中间这个要多记忆一下前后两个转换思路之后都是简单的收敛思路 【【【【【【【【【【【【【【【【【【【【【【【【】】】】】】】】】】】】】】】】】】】】】】】】
简单例子理解PV操作
用Fa -Fb表示工厂进程Cc-Cd 表示消费者进程。前趋图如下
Fa 工厂生产----- Fb工厂送到商店----- Cc消费者到商店取商品----- Cd消费者消费完商品本身是对量的变化的控制生产消费运输都会产生量的变化所以是一个进程结点能够加以控制
量的变化是针对于主体这里只有两个主体因为F工厂会对总量增加量C消费者会对总量减少量
中间的商店只是转移而已对总量并不会有变化
注意所谓的量的增加减少是针对主体的也就是F和C的
1、定义信号量
定义一个信号量 S1 初值为 1 。信号量 S1 用于表示商店是否有空闲空间值为 0 表示有空闲空间主体F能够生产值为 -1表示无空闲空间主体F不不能生产了定义另一个信号量s2初值为0用于表示商店是否有货物值为1表示有货物主体C能够取值-1表示无货物主体C不能取了
所以说s1和s2是针对不同主体的一体两面减法操作的初始值肯定都是1
2、
2.1、Fa动作对主体工厂来说会增加量所以要用减法操作加以记录Ps1
工厂生产产品前 先进行减法操作对信号量s1减去1
s1的值为0说明商店已满工厂生产进程会被阻塞等待 也就是Fa继续执行的集合是s1的值为0、1、2、3…n
s1初始值为1Fa执行1次本质就是做一次减法运算Fa能执行几次就是能做几次减法运算值就不再集合中了做1次就不再了就不能再执行Fa这个减法运算了
商店是否会满当然会决定工厂F要不要继续生产所以s1的本质就是商店空余库位库位初始是1工厂生产之前先做减法运算值不在s1集合中Fa不执行第一次Fa执行值为0可以执行第二次Fa继续执行值为-1Fa不能执行
2.2、Fb动作会减少主体工厂的量所以执行加法操作Vs2
值为1了Fb继续执行的集合是s2的值为1、2、3…n
2.3、Cc动作会增加主体C消费者的量用减法运算P此时输入要为多少
其实谁为1就输入谁s1已经是0了肯定不能是它s2正好变成1了
所以P的输入值是s21输入s2刚好能让Cc执行一次
减法运算一次之后s20 继续执行Cc的集合是s2的值为0、1、2、3…n
2.4、Cd动作会减少主体C的量用加法运算V此时输入是多少
此时s1经过P运算为0s2经过先V后P计算不变仍然为0
那么输入谁呢
因为肯定输入s1
s11继续执行
那么Cd继续执行的集合是S1的值为1、2、3…n
不妨如果先看看执行主体C的进程的情况
3.1、先执行CcP减法运算
s2-1了直接阻塞Cc
所以s2的-1表示商店中无货也就是一体两面即代表了有库存空位
如果工厂F执行两次
4.1、先执行FaP减法运算
s10继续运行
4.2、执行FbV加法运算
s21继续运行
4.3、再执行FaP减法
s1-1直接阻塞不能继续运行
也就是说s2到不了2
【【【【【【【【【【【【【【【【【【【【【【【【】】】】】】】】】】】】】】】】】】】】】】】】
或者换一个更抽象的角度来理解不管具体的PV对s1s2值的影响
整体来看其实整个流程要完整跑一遍首先要保障最后的环节是通畅的不能堵所以实际上Cd把冰箱中的物品消耗完是第一步的隐形前提
所以V操作可以看成是唤醒下一步进程
所以
第一步C结束的步骤Cd要通过V唤醒Fa传递的量记为s1不管这个量的具体值如何运算总之它就是告诉工厂F你可以开工了
V的作用就是通知后续主体你可以开始执行了
第二步Fa用P操作表示我收到了我执行了
第三步F结束的步骤Fb也要唤醒下一个主体C用V传递s2
第四步C的第一步Cc要用P表示我收到了你的传递我执行了
P的作用只是告诉上一个主体我执行了
上面模型有问题s的数量和箭头数量有关实际上前趋图应该是
F 工厂----- 商店----- C消费者s1和s2就是两个箭头 2024年上半年综合知识真题 章节已分类