word版試題 | word版答案 |
●試題一
閱讀下列算法說明和算法,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【算法說明】
為便于描述屏幕上每個像素的位置,在屏幕上建立平面直角坐標系。屏幕左上角的像素設(shè)為原點,水平向右方向設(shè)為X軸,垂直向下方向設(shè)為Y軸。
設(shè)某種顯示器的像素為128×128,即在每條水平線和每條垂直線上都有128個像素。這樣,屏幕上的每個像素可用坐標(x,y)來描述其位置,其中x和y都是整數(shù),0≤x≤127,0≤y≤127。
現(xiàn)用一維數(shù)組MAP來存儲整個一屏顯示的位圖信息。數(shù)組的每個元素有16位二進位,其中每位對應(yīng)一個像素,"1"表示該像素"亮","0"表示該像素"暗"。數(shù)組MAP的各個元素與屏幕上的像素相對應(yīng)后,其位置可排列如下:
MAP(0),MAP (1) ,…,MAP (7)
MAP (8) ,MAP (9) ,…,MAP (15)
MAP(1016),MAP(1017),…,MAP(1023)
下述算法可根據(jù)用戶要求,將指定坐標(x,y)上的像素置為"亮"或"暗"。
在該算法中,變量X,Y,V,S,K都是16位無符號的二進制整數(shù)。數(shù)組BIT中的每個元素BIT(K)(K=0,...,15)的值是左起第K位為1,其余位均為0的16位無符號二進制整數(shù),即BIT(K)的值為215-k。
【算法】
第1步根據(jù)用戶指定像素的位置坐標(x,y),算出該像素的位置所屬的數(shù)組元素MAP(V)。這一步的具體實現(xiàn)過程如下:
1.將x送變量X,將y送變量Y;
2.將Y左移 (1) 位,仍存入變量Y;
3.將X右移 (2) 位,并存入變量S;
4.計算Y+S,存入變量V,得到像素的位置所屬的數(shù)組元素MAP(V)。
第2步算出指定像素在MAP(V)中所對應(yīng)的位置K(K=0,…,15)。這一步的具體實現(xiàn)過程如下:將變量X與二進制數(shù) (3) 進行邏輯乘運算,并存入變量K。
第3步根據(jù)用戶要求將數(shù)組元素MAP(V)左起第K位設(shè)置為"1"或"0"。這一步的具體實現(xiàn)過程如下:
1.為把指定像素置"亮",應(yīng)將MAP(V)與BIT(K)進行邏輯 (4) 運算,并存入MAP(V)。
2.為把指定像素置"暗",應(yīng)先將BIT(K)各位取反,再將MAP(V)與BIT(K)進行邏輯 (5) 運算,并存入MAP(V)。
●試題二
閱讀下列函數(shù)說明和C函數(shù),將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【函數(shù)2.1說明】
函數(shù)palindrome(char s[])的功能是,判斷字符串s是否為回文字符串,若是,則返回0,否則返回-1。若一個字符串順讀和倒讀都一樣時,稱該字符串是回文字符串,例如:"LEVEL"是回文字符串,而"LEVAL"不是。
【函數(shù)2.1】
int palindrome(char s[])
{char*pi,*pj;
pi=s;pj=s+strlen(s)-1;
while(pi
pi++;pj--;
}
if( (2) )return -1;
else return 0;
}
希望與其他軟考考生進行交流?點擊進入軟考論壇>>>
更多信息請訪問:考試吧軟件水平考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |