【例题2-31】 在有一台处理机CPU和两台输入输出设备IO1和IO2,且能够实现抢先式多任务并行工作的多道程序内,投入运行优先级由高到低P1、P2、P3三个作业。它们使用设备的先后顺序和占用设备时间分别是:
作业P1:IO2(30毫秒) CPU(10毫秒) IO1(30毫秒) CPU(10毫秒)
作业P2:IO1(20毫秒) CPU(20毫秒) IO2(40毫秒)
作业P3:CPU(30毫秒) IO1(20毫秒)
在对于其他辅助操作时间可以忽略不计的假设下,作业P1、P2、P3从投入到完成所用的时间分别为A 毫秒、B 毫秒和C 毫秒。三个作业从投入运行到全部完成,CPU的利用率约为D%,IO1的利用率约为E%。假定在系统中仅有这三个作业投入运行,各设备的利用率指该设备的使用时间同作业进程全部完成所占用最长时间的比例。
供选择的答案
A、B、C、D、E:① 60 ② 67 ③ 70 ④ 78 ⑤ 80
⑥ 89 ⑦ 90 ⑧ 100 ⑨ 110 ⑩ 120
【答案】 A:⑤ B:⑦ C:⑦ D:④ E:④
【解答】 处理机和输入输出设备采取抢先式多任务并行工作方法,分析完成每个作业所需的时间时,可先分析优先级高的作业。高优先级的作业有优先状取资源的优势,在只有3个作业时,最高优先级的作业 P1发出的申请设备请求会立即得到响应。各设备占用时间为:
![]() |
| 设备占用时间 |
![]() |
| 设备占用时间 |
【例题2-32】 国内现行的中文内码系统中,不包括A。
供选择的答案
A:① 通用码 ② 王码 ③ EBCDIC码 ④ BIG-5码
【答案】 A:③
【解答】 除EBCDIC码外的三种都出现在了国内现行的中文内码系统中。
【例题2-33】 若中文输出码的字形为24×32,其占用了A位。
供选择的答案
A:① 56 ② 128 ③ 256 ④ 768
【答案】 A:④
【解答】 24×32=768。
【例题2-34】 计算机的低级程序语言有A,计算机的高级程序语言有B,第四代程序语言(4GL)有C。称一种语言为低级程序语言是由于它D,而高级程序语言E。
供选择的答案
A:① Basic ② Pascal ③ 汇编语言 ④ SQL
B:② WPS ② Windows ③ DBMS ④ Pascal
C:① C++ ② SQL ③ Visual Basic ④ Lotus
D:① 离机器特性近 ② 离自然语言近 ③ 编程难度低 ④ 通用性好
E:① 不必经过解释能只直接执行 ② 必须经过解释才能执行
③ 必须经过解释才能执行 ④ 必须经过编译或解释才能执行
【答案】 A:③ B:④ C:② D:① E:④
【解答】 本题考查程序语言类型。
计算机程序设计语言是人与计算机交流的工具。人们可以通过程序设计语言让计算机完成指定的任务。随着计算机技术的发展,程序设计语言由低级语言发展到高级语言,至今已形成了几百种计算机语言系统。
机器语言和汇编语言分别是第一代和第二代语言,这两种计算机语言更多地利用机器指令来实现所需的功能,不易被用户所理解,在层次结构中更靠近硬件。因此,这些语言位于较低层次,属于低级语言。
Basic、Fortran、Pascal、C和Cobo1等语言属于第三代语言,它们容易为程序员所理解。用这些语言编写的程序需要通过相应的编译程序(或解释程序)翻译后才能出硬件完成指定的任务,因此这些语言更靠近人而不是硬件,在层次结构中位于较高层,常称为高级语言。第三代语言是面向程序员的,需要由程序员按照某种算法过程编写程序,因此也称为面向过程的语言。
SQL是标准的关系数据库查询语言,用户可根据其检索要求直接用SQL语言实现所需的检索,不必了解计算机具体实现检索的过程。因此,这种语言面向最终用户,是面向问题的语言。SQL是第四代语言(4GL)的典型代表。
C++和Visual Basic等是近几年发展起来的语言,属于面向对象的语言。现在,多数软件人员将主要使用面向对象的语言进行软件开发。
【例题2-35】 通常,程序设计一般包括分析问题、确定算法、画出A 图、编写程序、调试程序和建立好文档资料等步骤。画出A 图的主要依据是B。调试程序的工作主要包括C 和D 两部分,C 的目的是尽可能多地发现程序中的错误,所设计编制完成的文档资料则是E 的一个重要组成部分。
供选择的答案
A:① 程序 ② 顺序 ③ 箭头 ④ 流程
B:① 用户手册 ② 软件设计规格说明书 ③ 设计合同 ④ 设计任务书
C:① 排错 ② 诊断 ③ 测试 ④ 程序正确性证明
D:① 排错 ② 诊断 ③ 测试 ④ 判断
E: ① 计算机标准 ② 计算机软件 ③ 计算机数据 ④ 计算机系统
【答案】 A:④ B:② C:③ D:① E:②
【解答】 本题考查程序设计的基本步骤。
画流程图是程序设计的步骤之一。画流程图主要根据软件设计规格说明书中确定的算法又及输入输出要求来进行。
程序的调试包括测试和排错两部分。测试的目的是尽可能找出所有的错误。
编制完成的文档资料是计算机软件的重要织成部分。使用者可以依据这些资料对该软件进行安装、使用和维护等操作。
【例题2-36】 一个编译程序除了可能包含词法分析、语法分析、中间代码生成、优化、目标代码生成等5个部分外,还应包括A,其中,B 和优化部分不是每个编译程序都必需的。
语法分析器用于识别C,语法分析器的主要任务是发现源程序中的D,目前常用的支持编译程序开发的工具Yacc,主要用于E 阶段。
供选择的答案
A:① 符号执行器 ② 模拟执行器 ③ 解释器 ④ 表格管理和出错处理
B:① 词法分析 ② 语法分析 ③ 中间代码生成 ④ 目标代码生成
C:① 语句 ② 单词 ③ 字符串 ④ 标识符
D:① 语法错误 ② 词法错误 ③ 语法和语义错误 ④ 错误并校正它
E:① 词法分析 ② 语法分析 ③ 中间代码生成 ④ 优化
【答案】 A:④ B:③ C:② D:① E:②
【解答】 本题考查编译程序基本知识,涉及到编译过程、词法分析器利语法分析器。
编译程序是将用某种高级程序设计语言编写的源程序翻译成与之等价的机器语言或汇编语言(目标程序)的软件。一般把编译程序分成下面几个部分:词法分析、语法和语义分析、代码优化、代码生成、符号表管理。
词法分析是编译程序的第一部分,它将源程序中由字符组成的一串字符转换成更适合编译程序其余几个部分处理的内部形式,词法分析器具有如下功能。
(1)识别出源程序中意义独立的最小词法单位——单词。
(2)删除无用的空格、回车和其他与输入介质有关的符号。
(3)删除程序员为了提高程序可读性所加的注释。
(4)如果发现错误则报告出错。
对于通过语法检查的单词串,可视需要给出相应的中间代码,使之能被送到编译程序的下一部分。语法分析的方法很多,也有不少常用的支持编译程序的开发工具,如YACA,主要用于语法分析诊断。
中间代码一般是指直接由代妈生成程序翻译成的对应的机器指令(或汇编指令)。代码优化能减少目标程序的执行时间和目标程序所占用的存储空间。中间代码的生成和优化并非每一个编译程序都具备。
【例题2-37】 在高级程序设计语言中,A 可以出现在赋值号的左侧。一般应在B 之前先进行C。对程序员来说,数据类型限定了D。结构化程序的基本控制结构有E。
供选择的答案
A:① 变量 ② 常量 ③ 表达式 ④ 过程名
B、C:① 变量说明 ② 变量命名 ③ 常量定义 ④ 变量引用
D:① 变量的值域和操作 ② 变量的存取方式
③ 数据的存储媒体 ④ 过程中参数的传递方式
E:① 赋值、子程序调用、输入输出 ② 条件语句、循环语句、过程语句
③ 顺序语句、选择语句、循环语句 ④ 复合、分支、重复、递归
【答案】 A:① B:④ C:① D:① E:③
【解答】 本题考查程序语言的数据类型及基本控制结构。
在程序执行过程中可改变其值的量称为变量,它是由变量名和变量类型说明符来标识的。变量名是以字母开头的字符串,它起着标识变量的作用。而变量类型说明符是用于标识变量的数据类型。不同类型的数据,其值域和操作是不同的。
在高级程序设计语言中,常量、过程名和表达式等不允许出现在赋值号左部,只能出现在赋值号右部。通常,变量都是先定义后使用,也就是在引用变量之前要有变量类型 说明。
结构化程序有3种基本的控制结构,即顺序结构、选择(分支)结构和循环结构,任何程序均可由这3种基本结构组成。
【例题2-38】 在高级语言中子程序一般有A 和B 两种。A 在返回时不仅返回控制,而且还返回一个值,而B 在一般程序语言中则只使程序执行环境发生变化。
在子程序的程序头,一般要写出一些变量,这些变量被称为C。它们应与调用该子程序的语句中的D 在个数、类型和顺序等方面相一致。
为了避免副作用,在子程序中应该尽可能使用E。
供选择的答案
A、B: ① 函数 ② 常数 ③ 模块
④ 重入程序 ⑤ 过程 ⑥ 程序包
C、D: ① 条件参数 ② 形式参数 ③ 入口参数 ④ 实际参数
⑤ 出口参数 ⑥ 局部参数 ⑦ 全局参数
E: ① 条件变量 ② 公用变量 ③ 局部变量 ④ 全局变量
【答案】 A:① B:⑤ C:② D:④ E:③
【解答】 本题考查子程序的基本知识。
在高级程序设计语言中,子程序一般分为过程和函数两种。过程子程序返回控制,使得主程序的运行环境发生变化,而函数在程序返回主程序时,不仅向主程序返回调用时的控制,而且还要返回一个函数值。
大多数的高级程序设计语言在子程序的开始部分给出这个子程序的名字、形式参数和这些形式参数的类型。在调用子程序时,所用到的实际参数应该在出现顺序、类型和个数上与子程序的形式参数相一致。
高级程序设计语言的子程序内一般都说明一些变量,这主要是为了合理地使用内存空间和避免产生错误。只在子程序内部起作用的变量,称之为局部变量。当局部变量在该子程序执行完毕后,其所占用的存储空间一般要被释放。实际应用中,在子程序内应尽可能地使用局部变量而不使用全局变量,这样可以避免产生不可预测的结果。
【例题2-39】 程序是计算机处理的A 的描述,程序设计语言的描述有语法、语义和语用3个侧面,BNF用来描述程序设计语言的B。程序和使用者之间的关系是属于C 的范畴。程序设计语言一般都包括D。程序的控制结构是用于规定程序流程的方法和手段,基本控制结构是E。
供选择的答案
A:① 对象 ② 计算规则 ③ 对象和计算规则 ④ 文档和计算规则
B、C:① 语法 ② 语义 ③ 语用 ④ 程序
D:① 数据成分、运算成分、输入成分、输出成分
② 数据成分、控制成分、输入成分、输出成分
③ 数据成分、运算成分、控制成分
④ 数据成分、运算成分、控制成分、输出成分
E:① 顺序、循环、子程序 ② 顺序、分支、循环
③ 顺序、分支、递归 ④ 分支、循环、子程序
【答案】 A:③ B:① C:③ D:④ E:②
【解答】 本题考查程序设计语言的基本知识。
程序是让计算机明白要做什么,并从计算机得到最终求解问题结果的一系列步骤的说明。程序的描述包括对象的描述和计算规则的描述两部分。编译程序的作用是给程序中所涉及的对象分配存储空间,识别计算步骤的性质并译出正确的计算机指令序列,以及让编译程序自动检查程序中不正确的计算说明的错误。
程序设计语言的描述包括语法、语义和语用3个方面。
(1)语法是每一种程序设计语言规定的程序规则,它表示了此种程序设计语言的程序结构。程序设计语言的语法通常使用严格的形式化方法来描述,其中BNF表示法指的是巴科斯-诺尔范式(Backus-Naur Form)。BNP与语法图是两种常用的描述程序设计语言的语法工具。
(2)语义表示程序的含义,它表明各记号所表示的对象之间的关系。
(3)语用表示程序和使用有的关系,在各处记号所出现的行为中,它们的来源、使用和影响构成程序语言的各个记号和使用者的关系。程序设计语言的基本控制结构是顺序结构、分支结构和循环结构。数据成分、运算成分、控制成分和传输成分是程序设计语言通常包括的几种成分。它们分别用于描述数据对象、计算、程序控制结构和数据的输入输出。
【例题2-40】 下列关子程序设计风格的叙述中,正确的为A。
供选择的答案
A:① 应将功能独立且有可能重复使用的程序段编写成子程序。
② 程序中的注解是可有可无的。
③ 用计数方法而不是用文件结束符来判别输入的结束。
④ 使用括号以改善表达式的清晰性。
⑤ 一般不进行实数的相等比较。
⑥ 使用有意义的标识符。
⑦ 通常宁可牺牲程序的运行速度也要注意提高程序的可读性。
⑧ 尽量使用GOTO语句来缩短程序的长度。
⑨ 尽可能对源程序代码进行优化。
⑩ 应尽可能多地输出种间结果。
【答案】 A:① ④ ⑤ ⑥ ⑦
【解答】 本题综合考查关子程序设计风格的基本知识。
① 正确。子程序是具有完整的逻辑结构和特定功能的程序单位。将功能独立的程序段编写成子程序,是进行大程序设计的强有力的工具。按功能分解程序模块能提高程序结构的清晰性,使程序容易理解,减少程序的冗余。
② 错误。注解是用来说明程序或函数的功能、算法的提示,用于提高程序的可读性。
③ 错误。文件结束符能准确地指明输入的结束。
④ 正确。使用括号可以更明确地指明表达式的计算顺序,使程序更易读、易懂。
⑤ 正确。因为计算机对浮点数的近似表示,所以数学上相等的算式因计算误差常常会不相等。又因为用有限位二进位表示浮点数,所以不相等的浮点数也会有相同的表示。通常浮点数的相等比较用两浮点算式的绝对值小于某个允许的误差值来表示。
⑥ 正确。为了提高程序的可读性,一般使用有意义的标识符,这便于说明由该标识符命名的程序对象的功能。
⑦ 正确。程序编码时,程序的清晰性是很重要的。程序的简明和清晰是程序可靠性和正确性的有力保证。通常程序的运行速度应由高效的算法来实现,而不是靠牺牲程序的清晰性来换取的,所以必要的时候可用降低运行速度来换取程序的清晰性和可读性。
⑧ 错误。程序中过多地使用GOTO语句,表面上看缩短了程序的长度,实际上会导致程序的静态结构与动态流程严重不一致而使程序结构杂乱无单元。这样的程序很难被理解,更难被维护修改,所以程序中应尽量少用GOTO语句。
⑨ 错误。程序的正确性、清晰性和便于修改是首先要强调的,对程序代码的充分优化往往会降低程序的可读性,除一般较直观的优化外,更详尽的优化应由编译程序去完成。
⑩ 错误。在动态测试程序时,输出中间结果是了解程序执行路径或有关变量值变化规律的一种手段,它与程序的设计风格无关。
| 回书目 上一节 下一节 |
|
· SQL Server入门到精通.. · 交换技术配置手册技术.. · 超级网管员——网络应.. · 网络服务器配置与应用.. · Linux集群技术自测试题.. · JavaSript核心技术自测.. |
· ARP攻击与防范技术自测.. · 国庆挑战自己参加自测 .. · 《网管员必读—网络应.. · 历次技术自测 获奖网友.. · 51CTO国庆七天技术自测.. · 9.2.2 无线AP |
|
|||
| · 网管系统介绍 · 网络管理系统如何支撑I.. · CISSP认证成长之路 · 51CTO国庆充电专题之好.. · 网络技术经典基础教程 · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. |
· 51CTO技术自测 挑战自.. · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 · 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · C#技术开发指南 · Solaris 10 配置管理 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·体验Windows Server 2008.. ·将超星图书转成PDF文档 |
·使用 Office Communicati.. ·VMware Workstation 6.01.. |
| ·强烈质疑“步行1公里就能.. ·国庆期间新闻回顾:微软.. |
·9月第3周回顾:微软和英.. ·9月第2周回顾:四核之战.. |
| · 华为、贝恩资本22亿美元.. · NGN:下一代网络 · 网络访问中断大排查 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· Google推出唯一硬件——.. · 硬盘之父获得诺贝尔物理.. · 理性面对四核服务器选购 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 硬盘之父获得诺贝尔物理.. · 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. |