📄 下午.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0055)http://i-math.zsu.edu.cn/os/Practice/level/2002CX-X.HTM -->
<HTML><HEAD><TITLE>水平考试历年试题</TITLE>
<META http-equiv=Content-Language content=zh-cn>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId>
<STYLE>A:link {
COLOR: rgb(0,0,128); TEXT-DECORATION: none
}
A:active {
TEXT-DECORATION: none
}
A:visited {
TEXT-DECORATION: none
}
A:hover {
COLOR: rgb(255,0,0); TEXT-DECORATION: none
}
</STYLE>
</HEAD>
<BODY vLink=#0000ff bgColor=#ffffff topMargin=0>
<DIV align=center>
<CENTER>
<P></P></CENTER></DIV>
<DIV align=center>
<CENTER>
<P></P></CENTER></DIV>
<DIV align=center>
<CENTER>
<TABLE height=1 cellSpacing=0 cellPadding=0 width=730 border=0>
<TBODY>
<TR>
<TD width="100%" height=2> </TD></TR>
<TR>
<TD width="100%" height=126>
<TABLE cellSpacing=0 borderColorDark=#ffffff width="100%"
borderColorLight=#800000 border=1>
<TBODY>
<TR>
<TD width="100%">
<P align=center> </P>
<P align=center><FONT lang=ZH-CN face=宋体 color=#ff0000
size=6><B>2002年度程序员级下午试卷</B></FONT></P>
<P class=MsoNormal><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>试题一</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">阅读下列算法说明和算法,将应填入</SPAN><U><SPAN
lang=EN-US> (n) </SPAN></U></FONT><SPAN
style="FONT-FAMILY: 宋体"><FONT
size=2>处的字句写在答题纸的对应栏内。</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT
size=2>[</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">算法说明</SPAN></FONT><SPAN lang=EN-US><FONT
size=2>]</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">为便于描述屏幕上每个像素的位置,在屏幕上建立平面直角坐标系。屏幕左上角的像素设为原点,水平向右方向设为</SPAN><SPAN
lang=EN-US>x</SPAN><SPAN
style="FONT-FAMILY: 宋体">轴,垂直向下方向设为</SPAN><SPAN
lang=EN-US>y</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>轴。</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">设某种显示器的像素有</SPAN><SPAN
lang=EN-US>128X128</SPAN><SPAN
style="FONT-FAMILY: 宋体">,即在每条水平线和每条垂直线上都有</SPAN><SPAN
lang=EN-US>128</SPAN><SPAN
style="FONT-FAMILY: 宋体">个像素。这样,屏幕上的每个像素可用坐标</SPAN><SPAN
lang=EN-US>(x</SPAN><SPAN style="FONT-FAMILY: 宋体">,</SPAN><SPAN
lang=EN-US>y)</SPAN><SPAN
style="FONT-FAMILY: 宋体">来描述其位置,其中</SPAN><SPAN
lang=EN-US>x</SPAN><SPAN style="FONT-FAMILY: 宋体">和</SPAN><SPAN
lang=EN-US>y</SPAN><SPAN style="FONT-FAMILY: 宋体">都是整数,</SPAN><SPAN
lang=EN-US>0</SPAN><SPAN style="FONT-FAMILY: 宋体">≤</SPAN><SPAN
lang=EN-US>x</SPAN><SPAN style="FONT-FAMILY: 宋体">≤</SPAN><SPAN
lang=EN-US>127</SPAN><SPAN style="FONT-FAMILY: 宋体">,</SPAN><SPAN
lang=EN-US>0</SPAN><SPAN style="FONT-FAMILY: 宋体">≤</SPAN><SPAN
lang=EN-US>y</SPAN><SPAN style="FONT-FAMILY: 宋体">≤</SPAN><SPAN
lang=EN-US>127</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>。</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">现用一维数组</SPAN><SPAN
lang=EN-US>MAP</SPAN><SPAN
style="FONT-FAMILY: 宋体">来存储整个一屏显示的位图信息。数组的每个元素有</SPAN><SPAN
lang=EN-US>16</SPAN><SPAN
style="FONT-FAMILY: 宋体">位二进位,其中每位对应一个像素,“</SPAN><SPAN
lang=EN-US>1</SPAN><SPAN
style="FONT-FAMILY: 宋体">”表示该像素“亮”,“</SPAN><SPAN
lang=EN-US>0</SPAN><SPAN
style="FONT-FAMILY: 宋体">”表示该像素“暗”。数组</SPAN><SPAN
lang=EN-US>MAP</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>的各个元素与屏幕上的像素相对应后,其位置可排列如下:</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT
size=2>MAP(0)</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">,</SPAN><SPAN lang=EN-US>MAP(1)</SPAN><SPAN
style="FONT-FAMILY: 宋体">,……,</SPAN></FONT><SPAN lang=EN-US><FONT
size=2>MAP(7)</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT
size=2>MAP(8)</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">,</SPAN><SPAN lang=EN-US>MAP(9)</SPAN><SPAN
style="FONT-FAMILY: 宋体">,……,</SPAN></FONT><SPAN lang=EN-US><FONT
size=2>MAP(15)</FONT></SPAN></P>
<P class=MsoNormal><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>……</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT
size=2>MAP(1016)</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">,</SPAN><SPAN
lang=EN-US>MAP(1017)</SPAN><SPAN
style="FONT-FAMILY: 宋体">,……,</SPAN></FONT><SPAN lang=EN-US><FONT
size=2>MAP(1023)</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">下述算法可根据用户要求,将指定坐标</SPAN><SPAN
lang=EN-US>(x</SPAN><SPAN style="FONT-FAMILY: 宋体">,</SPAN><SPAN
lang=EN-US>y)</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>上的像素置为“亮”或“暗”。</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">在该算法中,变量</SPAN><SPAN
lang=EN-US>X</SPAN><SPAN style="FONT-FAMILY: 宋体">,</SPAN><SPAN
lang=EN-US>Y</SPAN><SPAN style="FONT-FAMILY: 宋体">,</SPAN><SPAN
lang=EN-US>V</SPAN><SPAN style="FONT-FAMILY: 宋体">,</SPAN><SPAN
lang=EN-US>S</SPAN><SPAN style="FONT-FAMILY: 宋体">,</SPAN><SPAN
lang=EN-US>K</SPAN><SPAN style="FONT-FAMILY: 宋体">都是</SPAN><SPAN
lang=EN-US>16</SPAN><SPAN
style="FONT-FAMILY: 宋体">位无符号的二进制整数。数组</SPAN><SPAN
lang=EN-US>BIT</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>中的每个</FONT></SPAN></P>
<P class=MsoNormal><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>元素</FONT></SPAN><FONT size=2><SPAN
lang=EN-US>BIT(K)(K=0</SPAN><SPAN
style="FONT-FAMILY: 宋体">,…,</SPAN><SPAN lang=EN-US>15)</SPAN><SPAN
style="FONT-FAMILY: 宋体">的值是左起第</SPAN><SPAN lang=EN-US>K</SPAN><SPAN
style="FONT-FAMILY: 宋体">位为</SPAN><SPAN lang=EN-US>1</SPAN><SPAN
style="FONT-FAMILY: 宋体">,其余位均为</SPAN><SPAN lang=EN-US>0</SPAN><SPAN
style="FONT-FAMILY: 宋体">的</SPAN><SPAN
lang=EN-US>16</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>位无符号二进制整</FONT></SPAN></P>
<P class=MsoNormal
style="LAYOUT-GRID-MODE: char; LINE-HEIGHT: 12pt"><SPAN
style="FONT-FAMILY: 宋体"><FONT size=2>数,即</FONT></SPAN><FONT
size=2><SPAN lang=EN-US>BIT(K)</SPAN><SPAN
style="FONT-FAMILY: 宋体">的值为</SPAN></FONT><SPAN lang=EN-US><FONT
size=2>2</FONT></SPAN><SUP><SPAN lang=EN-US><FONT
size=2>l5-k</FONT></SPAN></SUP><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>。</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT
size=2>[</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">算法</SPAN></FONT><SPAN lang=EN-US><FONT
size=2>]</FONT></SPAN></P>
<P class=MsoNormal><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>第</FONT></SPAN><FONT size=2><SPAN lang=EN-US>1</SPAN><SPAN
style="FONT-FAMILY: 宋体">步根据用户指定像素的位置坐标</SPAN><SPAN
lang=EN-US>(x</SPAN><SPAN style="FONT-FAMILY: 宋体">,</SPAN><SPAN
lang=EN-US>y)</SPAN><SPAN
style="FONT-FAMILY: 宋体">,算出该像素的位置所属的数组元素</SPAN><SPAN
lang=EN-US>MAP(V)</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>。这</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>一步的具体实现过程如下:</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
1</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">、将</SPAN><SPAN lang=EN-US>x</SPAN><SPAN
style="FONT-FAMILY: 宋体">送变量</SPAN><SPAN lang=EN-US>X</SPAN><SPAN
style="FONT-FAMILY: 宋体">,将</SPAN><SPAN lang=EN-US>y</SPAN><SPAN
style="FONT-FAMILY: 宋体">送变量</SPAN><SPAN
lang=EN-US>Y</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>;</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
2</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">、将</SPAN><SPAN lang=EN-US>Y</SPAN><SPAN
style="FONT-FAMILY: 宋体">左移</SPAN><U><SPAN lang=EN-US>
(1) </SPAN></U><SPAN
style="FONT-FAMILY: 宋体">位,仍存入变量</SPAN><SPAN
lang=EN-US>Y</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>;</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
3</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">、将</SPAN><SPAN lang=EN-US>X</SPAN><SPAN
style="FONT-FAMILY: 宋体">右移</SPAN><U><SPAN lang=EN-US>
(2) </SPAN></U><SPAN
style="FONT-FAMILY: 宋体">位,并存入变量</SPAN><SPAN
lang=EN-US>S</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>;</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
4</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">、计算</SPAN><SPAN lang=EN-US>Y+S</SPAN><SPAN
style="FONT-FAMILY: 宋体">,存入变量</SPAN><SPAN lang=EN-US>V</SPAN><SPAN
style="FONT-FAMILY: 宋体">,得到像素的位置所属的数组元素</SPAN><SPAN
lang=EN-US>MAP(V)</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>。</FONT></SPAN></P>
<P class=MsoNormal><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>第</FONT></SPAN><FONT size=2><SPAN lang=EN-US>2</SPAN><SPAN
style="FONT-FAMILY: 宋体">步算出指定像素在</SPAN><SPAN
lang=EN-US>MAP(V)</SPAN><SPAN
style="FONT-FAMILY: 宋体">中所对应的位置</SPAN><SPAN
lang=EN-US>K(K=0</SPAN><SPAN style="FONT-FAMILY: 宋体">,…,</SPAN><SPAN
lang=EN-US>15)</SPAN><SPAN
style="FONT-FAMILY: 宋体">。这一步的具体实现过程如下:</SPAN></FONT><SPAN
lang=EN-US><FONT size=2> </FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
style="FONT-FAMILY: 宋体"><FONT size=2>将变量</FONT></SPAN><FONT
size=2><SPAN lang=EN-US>X</SPAN><SPAN
style="FONT-FAMILY: 宋体">与二进制数</SPAN><U><SPAN lang=EN-US>
(3) </SPAN></U><SPAN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -