您的位置是:首页 >> 计算机 >> 计算机水平考试 >> 文章阅读

2002年程序员试卷


日期:
2005-4-17 10:16:00
来源:
学习联盟
作者:
不详
编辑
dongfangshuo
试题一 

    阅读下列算法说明和算法,将应填入  (n)  处的字句写在答题纸的对应栏内。 

[算法说明] 

    为便于描述屏幕上每个像素的位置,在屏幕上建立平面直角坐标系。屏幕左上角的像素设为原点,水平向右方向设为x轴,垂直向下方向设为y轴。 

    设某种显示器的像素有128X128,即在每条水平线和每条垂直线上都有128个像素。这样,屏幕上的每个像素可用坐标(x,y)来描述其位置,其中x和y都是整数,0≤x≤127,0≤y≤127。 

    现用一维数组MAP来存储整个一屏显示的位图信息。数组的每个元素有16位二进位,其中每位对应一个像素,“1”表示该像素“亮”,“0”表示该像素“暗”。数组MAP的各个元素与屏幕上的像素相对应后,其位置可排列如下: 

MAP(0),MAP(1),……,MAP(7) 

MAP(8),MAP(9),……,MAP(15) 

…… 

MAP(1016),MAP(1017),……,MAP(1023) 

    下述算法可根据用户要求,将指定坐标(x,y)上的像素置为“亮”或“暗”。 

    在该算法中,变量X,Y,V,S,K都是16位无符号的二进制整数。数组BIT中的每个 

元素BIT(K)(K=0,…,15)的值是左起第K位为1,其余位均为0的16位无符号二进制整 

数,即BIT(K)的值为2l5-k。 

[算法] 

第1步根据用户指定像素的位置坐标(x,y),算出该像素的位置所属的数组元素MAP(V)。这 

    一步的具体实现过程如下: 

    1、将x送变量X,将y送变量Y; 

    2、将Y左移  (1)  位,仍存入变量Y; 

    3、将X右移  (2)  位,并存入变量S; 

    4、计算Y+S,存入变量V,得到像素的位置所属的数组元素MAP(V)。 

第2步算出指定像素在MAP(V)中所对应的位置K(K=0,…,15)。这一步的具体实现过程如下:  

将变量X与二进制数  (3)  进行逻辑乘运算,并存入变量K。 

第3步根据用户要求将数组元素MAP(V)左起第K位设置为”1”或”0”。这一步的具体实现过程 

    如下:    , 

    1、为在指定像素置“亮”,应将MAP(V)与BIT(K)进行逻辑  (4)  运算,并存入MAP(V)。 

    2、为在指定像素置“暗”,  应先将BIT(K)各位取反,再将MAP(V)与BIT(K)进行逻辑  (5)  运算,并存入MAP(V)。 



试题二 

      阅读下列函数说明和C代

此文共有6页 上一页 1 2 3 4 5 6 下一页

关闭窗口

   兆联特别申明
1)除本站特殊规定外,本站所有信息均不拥有版权,仅供学习参考!
2)站内大部分内容注明出处及详细信息,版权归作者所有!如果您觉得不妥请及时与我站联系,我们将立即删除。
3)本站提供的资料您只有阅读权,并不等于您得到文章的所有权,本站反对将我站提供的资料直接使用。