●试题一 阅读下列算法说明和算法,将入(n)处的字句写在答题纸的对应栏内。 【算法说明】 为便于描述屏幕上每个像素的位置,在屏幕上建立平面直角坐标系。屏幕左上角的像素设为原点,水平向右方向设为X轴,垂直向下方向设为Y轴。 设某种显示器的像128×128,即在每条水平线和每条垂直线上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)的值为215-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)。