【计算机类职业资格】初级程序员下午试题-57及答案解析.doc
《【计算机类职业资格】初级程序员下午试题-57及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】初级程序员下午试题-57及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、初级程序员下午试题-57 及答案解析(总分:105.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)阅读以下技术说明和流程图,根据要求回答问题 1 至问题 3。说明图 4-8 的流程图所描述的算法功能是将给定的原字符串中的所有前部空白和尾部空白都删除,但保留非空字符。例如,原字符串“ FileName ”,处理变成“File Name”。图 4-9、图 4-10 和图 4-11 分别详细描述了图 4-8 流程图中的处理框 A、B、C。假设原字符串中的各个字符依次存放在字符数组 ch 的各元素 ch(1)、ch(2)、ch(n)中,字符常量 KB表示空白字符。图 4-
2、8 所示的流程图的处理过程是:先从头开始找出该字符串中的第一个非空白字符 ch(i),再从串尾开始向前找出位于最末位的非空白字符 ch(j),然后将 ch(i)、ch(j)依次送入 ch(1)、ch(2)、中。如果字符串中没有字符或全是空白字符,则输出相应的说明。在图 4-8 流程图中,strlen()是取字符串长度函数。图 4-8 算法总流程图图 4-9 处理框 A 对应的流程图图 4-10 处理框 B 对应的流程图图 4-11 处理框 C 对应的流程图(分数:15.00)(1).问题 1请将图 4-9、图 4-10 和图 4-11 流程图中(1)(4)空缺处的内容填写完整。(分数:5.00
3、)_(2).问题 2在图 4-8 流程图中,判断框 P 中的条件可表示为:i U(5) /U。(分数:5.00)_(3).问题 3函数 f_str(char *str,char del)的功能是;将非申字符串 str 分割成若干个子字符串并输出,del 表示分割时的标志字符。例如,若 str 的值为“66981636666257”,del 的值为“6”,调用此函数后,将输出 3 个子字符串,分别为“981”、“3”和“257”。请将函数 f_str 中(6)(8)空缺处的内容填写完整。函数void f_str(char *str,char del) int i,j,len;len = strl
4、en(str);i = 0;while (ilen) while (U (6) /U)i+; /* 忽略连续的标志字符 */* 寻找从 srti开始直到标志字符出现的一个子字符串 */j = i+1;while (strj !=del U(7) /U=“/0“; /* 给找到的字符序列置字符串结束标志 */printf (“ %s/t“, U(8) /U;(分数:5.00)_二、B试题二/B(总题数:1,分数:15.00)1.说明某种传感器的输出值 Ratio 依赖于环境温度 temp(-40temp50)。对一组环境温度值(ITEMS 个),已经测量得到了相应的 Ratio 值(如表 4-1
5、0 表格所示)。表 4-10 粗略地描述了曲线 Ratio(temp)。B表 4-10 曲线 Ration(temp)的列表值/B 环境温度 temp 传感器的输出值 Ratio-40 0.20-20 0.60-10 0.800 1.0010 1.1730 1.5050 1.80校正系数 K 是 Ratio 的倒数,因此也依赖于环境温度 temp。在数据处理中,需要用更多的列表值细致地描述曲线 K(temp),如表 4-11 所示。B表 4-11 曲线 K(temp)的列表值/B 环境温度 temp 校正系数 K-40 5.00-39 4.55-38 4.17-37 3.85 -20 1.67
6、-19 1.61 -10 1.25-9 1.22 -19 0.56在表 4-11 中,各温度值所对应的 K 值是对表 4-10 进行线性插值再求倒数得到的,具体的计算方法如下。1) 根据 temp 值,在表 4-10 中用二分法查找;2) 若找到相应的温度值,则按相应的 Ratio 值求倒数得到 K 值;3) 若没找到相应的温度值,则可确定 temp 所在的温度区间Tp1,Tp2,同时获得了相应的 Ratio1 和 Ratio2,再按如下公式计算 K 值:(分数:15.00)_三、B试题三/B(总题数:1,分数:15.00)2.说明以下C 程序是对某电码明文(原文)进行加密形成密文。其加密算法
7、如下。假定原文为 C1C2C3Cn,加密后形成的密文为 S1S2S3Sn其中 n 为小于 256 的任意自然数。首先读入正整数 Key(Key1)作为加密钥匙,并将密文字符位置按顺时针方向连成一个环,如图 4-12 所示。图 4-12 密文字符环示意图加密时从 S1位置起顺时针计数,当数到第 Key 个字符位置时,将原文中的字符放入该密文字符位置中,同时从环中除去该字符位置;接着从环中下一个字符位置起继续计数,当再次数到第 Key 个字符位置时,将原文中字符 C2放入其中,并从环中除去该字符位置;依此类推,直至 n 个原文字符全部放入密文环中。由此产生的 S1S2Sn即为原文的密文。例如,原文
8、:One World One Dream。当 Key=5 时,其密文为:me OnWlanD oOedrer;当 Key=6 时该原文的密文为:oeDn OedrrOn Wma le。程序使用示例如图 4-13 所示。(分数:15.00)_四、B试题四/B(总题数:1,分数:15.00)3.说明 函数 int Toplogical (LinkedWDigraph G)的功能是对图 G 中的顶点进行拓扑排序,并返回关键路径的长度。其中,图 G 表示一个具有 n 个顶点的 AOE-网,图中顶点从 1n 依次编号,图 G 的存储结构采用邻接表表示,其数据类型定义如下。 typedef struct
9、Gnode /* 邻接表的表节点类型 */ int adjvex; /* 邻接顶点编号 */ int weight; /* 弧上的权值 */ struct Gonde*nextare; /* 指示下一个弧的节点 */ Gnode; typedef struct Adjlist /* 邻接表的头节点类型 */ char vdata; /* 顶点的数据信息 */ struct Gnode*Firstadj; /* 指向邻接表的第一个表节点 */ Adjlist; typedef struct LinkedWDigraph /* 图的类型 */ struct Adjlist head; /* 指向图
10、中第一个顶点的邻接表的头节点 */ LinkedWDigraph; 例如,某 AOE-网如图 4-14 所示,其邻接表存储结构如图 4-15 所示。 图 4-14 某 AOE-网 (分数:15.00)_五、B试题五/B(总题数:1,分数:15.00)从下列 3 道试题(试题 5 至试题 7)中任选 1 道解答。如果解答的试题数超过 1 道,则题号小的 1 道解答有效。阅读以下应用说明及 Visual Basic 程序,根据要求回答问题 1 至问题 2。说明某 Visual Basic 应用程序用于监测某种锅炉设备内液面高度(050cm),其运行窗口界面如图 4-16 所示。(分数:15.00)
11、(1).问题 1请根据说明和图 4-16 所示的显示结果,将说明中(1)空缺处的内容和Visual Basic 程序中(2)(9)空缺处的程序语句填写完整。(分数:7.50)_(2).问题 2若要在图 4-16 窗口内新增一个帮助按钮,单击该按钮就会弹出一个帮助对话框(另一名为 frm002 的窗体),用户必须在其中做出响应,程序才能继续运行。请将以下该命令按钮的单击事件过程中的程序代码填写完整。Private Sub CmdHelp_C1ick()U (10) /UEnd Sub(分数:7.50)_六、B试题六/B(总题数:1,分数:15.00)阅读以下应用说明、图和 C+代码,根据要求回答
12、问题 1 至问题 3。说明已知以下 C+程序运行时的输出结果如下。1:11:11:1C+程序01 #include iostream02 using namespace std;03 class Stock04 protect:05 U (1) /U ;06 Stock(int n, int pr=1) 07 shares = n; share_val=pr;08 ;09 void Stock() ;10 public:11 /成员函数12 void output() 13 U (2) /U shares “:“ share_val endl;14 15 private:16 /成员变量17
13、int shares;18 int share_val;19 ;2021 void main() 22 Stock a(1); a.output23 Stock b; b.output24 Stock c = Stock (); c.output25 (分数:15.00)(1).问题 1请根据 C+程序运行时的输出结果,将代码中(1)、(2)空缺处的内容补充完整。(分数:5.00)_(2).问题 2类 Stock 的定义中有两处错误,请指出错误所在行号并给出该行修改后的完整结果。(分数:5.00)_(3).问题 3指出该代码是否存在内存泄漏。(分数:5.00)_七、B试题七/B(总题数:1,分
14、数:15.00)4.说明类 Queue 表示队列,类中的方法如表 4-12 所示。B表 4-12 类 Queue 中方法说明表/B 方法 说明IsEmpty() 判断队列是否为空,如果队列不为空,返 回 true;否则,返回 falseEnqueue(object NewNode) 入队操作Dequeue() 出队操作。如果队列为空,则抛出异常类 Node 表示队列中的元素;类 EmptyQueueException 给出了队列中的异常处理操作。Java 代码public class testmain /主类public static viod main (string args) Queue
15、 q= new Queue;q.enqueue(“first!“);q.enqueue(“second!“);q.enqueue(“third!“);U (1) /U while(true)system.out.println(q.dequeue();catch(U (2) /U) public class Queue /队列node m_firstnode;public Queue()m_firstnode=null;public boolean isempty() if (m_firstnode= =null)return true;elsereturn false;public viod
16、 enqueue(object newnode) /入队操作node next = m_firstnode;if (next = = null) m_firstnode=new node(newnode);else while(next.getnext() !=null)next=next.getnext();next.setnext(new node(newnode);public object dequeue() U(3) /U /出队操作object node;if (is empty()U (4) /Uelse node =m_firstnode.getobject();m_first
17、node=m_firstnode.getnext();return node;public class node /队列中的元素object m_data;node m_next;public node(object data) m_data=data; m_next=null;public node(object data,node next) m_data=data; m_next=next;public void setobject(object data) m_data=data; public object getobject(object data) return m_data;
18、public void setnext(node next) m_next=next; public node getnext() return m_next; public class emptyqueueexception extends U(5) /U /异常处理类public emptyqueueexception() system. out. println ( “队列已空!“ );(分数:15.00)_初级程序员下午试题-57 答案解析(总分:105.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)阅读以下技术说明和流程图,根据要求回答问题 1 至问题
19、3。说明图 4-8 的流程图所描述的算法功能是将给定的原字符串中的所有前部空白和尾部空白都删除,但保留非空字符。例如,原字符串“ FileName ”,处理变成“File Name”。图 4-9、图 4-10 和图 4-11 分别详细描述了图 4-8 流程图中的处理框 A、B、C。假设原字符串中的各个字符依次存放在字符数组 ch 的各元素 ch(1)、ch(2)、ch(n)中,字符常量 KB表示空白字符。图 4-8 所示的流程图的处理过程是:先从头开始找出该字符串中的第一个非空白字符 ch(i),再从串尾开始向前找出位于最末位的非空白字符 ch(j),然后将 ch(i)、ch(j)依次送入 c
20、h(1)、ch(2)、中。如果字符串中没有字符或全是空白字符,则输出相应的说明。在图 4-8 流程图中,strlen()是取字符串长度函数。图 4-8 算法总流程图图 4-9 处理框 A 对应的流程图图 4-10 处理框 B 对应的流程图图 4-11 处理框 C 对应的流程图(分数:15.00)(1).问题 1请将图 4-9、图 4-10 和图 4-11 流程图中(1)(4)空缺处的内容填写完整。(分数:5.00)_正确答案:()解析:本题用分层的流程图形式描述给定的算法。图 4-8 所描述的流程图是顶层图,其中用 A、B、C 标注了 3 个处理框。而图 4-9、图 4-10 和图 411 所
21、描述的流程图分别对这 3 个处理框进行了细化。 处理框A 的功能是依次检查 ch(1),ch(2),(即从串首开始查找),直到找到非空白字符 ch(i)。在图 4-9 所描述的流程图中,对 i=1,2进行循环,只要未找到字符串尾部标志(即“/0“),且 ch(i)为空白字符(KB),那么还需要继续查找。因此,(1)空缺处所填写的内容是“i=n”或“n=i”或其他等价形式。 处理框 B 的功能是依次检查 ch(n),ch(n-1),(即从串尾向前开始查找),直到找到非空字符 ch(j)。在图 4-10 所描述的流程图中,对 j=n,n-1进行循环,只要 ch(j)=KB(空白字符),那么还需要继
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 初级 程序员 下午 试题 57 答案 解析 DOC
