对高级语言源程序进行编译或解释的过程中需要进行语法分析,递归子程序分析属于 (22) 的分析法。
(22) A. 自上而下 B. 自下而上 C. 从左至右 D. 从右至左
注意字眼”递归“,自上而下的语法分析方法是一种自顶向下地构建语法树的方法。它从程序的起始符号开始,通过递归调用子程序,不断展开非终结符号,直到最终得到一个语法树。
在计算机系统中,若P1进程正在运行,操作系统强行撤下P1进程所占用的CPU,让具有更高优先级的进程P2运行,这种调度方式称为 (23) 。
(23) A. 中断方式 B. 先进先出方式 C. 可剥夺方式 D. 不可剥夺方式
在计算机系统中,如果操作系统强制撤销正在运行的进程P1所占用的CPU,以让具有更高优先级的进程P2运行,这种调度方式称为(C)可剥夺方式。
可剥夺方式也称为抢占式调度方式,操作系统可以在任何时刻强制撤销正在运行的进程,以便让更高优先级的进程运行。可剥夺方式可以保证更高优先级的任务能够及时响应,提高系统的响应速度和吞吐量。
不可剥夺方式下,进程无法被操作系统强制撤销,只有在进程主动释放CPU或进程完成后才会让出CPU。
而中断是计算机系统中的一种机制,它允许外部设备通过向CPU发送中断信号来打破CPU的正常处理过程和程序执行顺序,以便插入一些紧急的处理任务。当CPU接收到中断信号时,它会立即中止当前的执行程序,并跳转到预先定义好的中断处理程序中,执行需要处理的中断请求,当中断处理完成后,CPU再返回到原来的程序继续执行。
中断机制可以帮助操作系统与其他硬件设备协作工作,如键盘、鼠标等输入设备、网络设备等,使得操作系统能够及时响应这些设备传来的信息,同时不影响CPU对其他任务的执行。
在中断处理过程中,为了避免一些不可预知的错误情况,CPU通常会关闭中断响应,直至中断处理结束再重新开启中断响应,这种处理方式称为"中断屏蔽"。
进程P1、P2、P3、P4、P5和P6的前趋图如下所示。
假设用PV操作控制这6个进程的同步与互斥的程序如下,程序中的空①和空②处应分别为 (24) ,空③和空④应分别为 (25) ,空⑤和空⑥应分别为 (26) 。
(24) 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)
(25) 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)
(26) 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)
前驱图pv操作的题目其实很简单,需要注意几个地方
- 遵循从左到右,从上到下的规则先标志信号量
- 箭头起点为V操作,箭头尾巴为P操作
- 无箭头指向P,说明它无需等待别的进程
- 有箭头P1指向P2,说明P1完成之后才能开始进行P2
- PV操作是成对出现的
假设段页式存储管理系统中的地址结构如下图所示,则系统 (27) 。
(27) A. 最多可有512个段,每个段的大小均为2048个页,页的大小为8K
B. 最多可有512个段,每个段最大允许有2048个页,页的大小为8K
C. 最多可有1024个段,每个段的大小均为1024个页,页的大小为4K
D. 最多可有1024个段,每个段最大允许有1024个页,页的大小为4K
其中段号为31——22,页号为21——12,页内地址为11——0;
分别是10位,10位,12位
2^10=1024,2^12=2^2*2^10=4K
且页号位数代表每个段最大容量为1024个页。
假设磁盘磁头从一个磁道移至相邻磁道需要2ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均移动距离为5个磁道,每块的旋转延迟时间及传输时间分别为10ms和1ms,则读取一个100块的文件需要 (28) ms。
(28) A. 1100 B. 1200 C. 2100 D. 2200
首先 文件有100块,每块的旋转延迟时间及传输时间分别为10ms和1ms
总的旋转延迟时间及传输时间就是100*(10+1)=1100ms
磁盘磁头从一个磁道移至相邻磁道需要2ms。逻辑上相邻数据块的平均移动距离为5个磁道。
所以一个数据块要移动5个磁道,一个磁道2ms,一块耗时2*5=10ms
100块耗时100*10=1000ms
所以总耗时1100+1000=2100,故选C
以下关于快速原型模型优点的叙述中,不正确的是 (29) 。
(29) A. 有助于满足用户的真实需求
B. 适用于大型软件系统的开发
C. 开发人员快速开发出原型系统,因此可以加速软件开发过程,节约开发成
本
D. 原型系统已经通过与用户的交互得到验证,因此对应的规格说明文档能正
确描述用户需求
快速原型模型的特点是快速,为了节约开发成本,加快开发过程,如果软件规模或复杂度过大,则不适合使用快速原型模型。故选B,不正确。
以下关于三层C/S结构的叙述中,不正确的是 (30) 。
(30) A. 允许合理划分三层结构的功能,使之在逻辑上保持相对独立性,提高系
统的可维护性和可扩展性
B. 允许更灵活有效地选用相应的软硬件平台和系统
C. 应用的各层可以并发开发,但需要相同的开发语言
D. 利用功能层有效地隔离表示层和数据层,便于严格的安全管理
在三层C/S结构中,通常允许应用的各层并发开发,因为它们在 逻辑上保持相对独立性。每个层次都可以使用不同的开发语言和技术,这样有助于提高系统的灵活性和可扩展性。
若模块A和模块B通过外部变量来交换输入、输出信息,则这两个模块的耦合类型是 (31) 耦合。
(31) A. 数据 B. 标记 C. 控制 D. 公共
公共耦合是指多个模块之间共享同一组全局变量或数据结构,通过这些共享的数据来进行通信和交互。在这种情况下,模块A和模块B都依赖于同一个公共的外部变量来交换输入和输出信息。
软件开发的目标是开发出高质量的软件系统,这里的高质量不包括 (32) 。
(32) A. 软件必须满足用户规定的需求
B. 软件应遵循规定标准所定义的一系列开发准则
C. 软件开发应采用最新的开发技术
D. 软件应满足某些隐含的需求,如可理解性、可维护性等
软件开发应根据情况采取合适的开发技术,而不是一味的追求最新开发技术。
白盒测试技术的各种覆盖方法中, (33) 具有最弱的错误发现能力。
(33) A. 判定覆盖 B. 语句覆盖 C. 条件覆盖 D. 路径覆盖
语句覆盖(Statement Coverage)是一种测试方法,要求测试用例至少执行一次每个语句。虽然语句覆盖可以确保代码的每个语句都被执行到,但它可能无法揭示隐藏在条件语句中的错误或边界情况。因此,相对其他覆盖方法而言,它的错误发现能力较弱。
其他选项的覆盖方法具有更强的错误发现能力:
- 判定覆盖(Decision Coverage)要求每个布尔表达式的真假两种情况都至少经过一次。
- 条件覆盖(Condition Coverage)要求每个条件的真假两种情况都至少经过一次。
- 路径覆盖(Path Coverage)要求覆盖所有可能的路径,包括不同的分支和循环。
文档是软件的重要因素,关于高质量文档,以下说法不正确的是 (34) 。
(34) A. 不论项目规模和复杂程度如何,都要用统一的标准指定相同类型和相同要素的文档
B. 应该分清读者对象
C. 应当是完整的、独立的、自成体系的
D. 行文应十分确切,不出现多义性描述
根据不同项目的不同规模和复杂程度,应以使用不同标准的文档。
某财务系统的一个组件中,某个变量没有正确初始化, (35) 最可能发现该错误。
(35) A. 单元测试 B. 集成测试 C. 接受测试 D. 安装测试
单元测试(Unit Testing)是一种软件测试方法,用于测试代码的最小单元——函数、方法或模块。在单元测试中,测试人员可以通过编写针对每个功能点的测试用例来检查代码的正确性。由于单元测试专注于测试单个组件,它可以更容易地发现变量未正确初始化的问题。
软件交付给用户之后进入维护阶段,根据维护具体内容的不同将维护分为不同的类型,其中“采用专用的程序模块对文件或数据中的记录进行增加、修改和删除等操作”的维护属于 (36) 。
(36) A. 程序维护 B. 数据维护 C. 代码维护 D. 设备维护
“采用专用的程序模块对文件或数据中的记录进行增加、修改和删除等操作”,所以是对数据的维护
采用面向对象方法进行某游戏设计,游戏中有野鸭、红头鸭等各种鸭子边游泳戏水边呱呱叫,不同种类的鸭子具有不同颜色,设计鸭子类负责呱呱叫和游泳方法的实现,显示颜色设计为抽象方法,由野鸭和红头鸭各自具体实现,这一机制称为 (37) 。当给这些类型的一组不同对象发送同一显示颜色消息时,能实现各自显示自己不同颜色的结果,这种现象称为 (38) 。
(37) A. 继承 B. 聚合 C. 组合 D. 多态
(38) A. 覆盖 B. 重载 C. 动态绑定 D. 多态
设计了鸭子类负责呱呱叫和游泳方法的实现,而颜色设计为抽象方法。野鸭和人红头鸭的区别在于颜色不同,颜色方法由它们各自具体实现,这里野鸭和人红头鸭继承了鸭子类,体现了继承特性。
多态允许不同类的对象对相同的消息做出不同的响应,所以给这些类型的一组不同对象发送同一显示颜色消息时,能实现各自显示自己不同颜色的结果,这种现象称为多态。
采用面向对象方法分析时,首先要在应用领域中按自然存在的实体认定对象,即将自然存在的 (39) 作为一个对象。
(39) A. 问题 B. 关系 C. 名词 D. 动词
自然存在的实体认定对象应为一个名词。
进行面向对象系统设计时,修改某个类的原因有且只有一个,即一个类只做一种类型的功能,这属于 (40) 原则
(40) A. 单一责任 B. 开放-封闭 C. 接口分离 D. 依赖倒置
单一责任原则强调一个类应该只有一个引起它变化的原因,即一个类只负责一种类型的功能。该原则提倡将一个系统分解为多个小而专注的类,每个类只关注自己的职责,从而提高代码的可维护性、可扩展性和可复用性。
爽歪歪!