网友您好, 请在下方输入框内输入要搜索的题目:

专项习题程序员考试练习题及答案(3年内考题)

●试题一

阅读下列算法说明和算法,将应填入(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)。


正确答案:

●试题一

【答案】(1)3 (2)4 (3)1111 (4)()(5)()

【解析】(1)由于每一行像素占用8个数组元素,所以第y行的像素占用数组的第   8×y  8×y + 7号元素。于是y需要乘以8存入变量Y,即左移3位。(2)x表示y行上的第x列像素,因为每个数组元素表示16个像素,所以需要将x除以16,得到所在数组元素位置。即右移4位。(3)X的后四位即表示像素在MAP(V)中所对应的位置,因此取x的后4位送入K即可。(4)因为011逻辑或的结果都是1,而与0逻辑或的结果不变。所以将MAP(V)BIT(K)进行逻辑或(),即可将MAP(V)指定位置"1"。(5)010逻辑与的结果都是0,而与1逻辑与的结果不变,所以将MAP(V)与取反后的BIT(K)进行逻辑与(),即可将MAP(V)指定位置"0"。

 


●试题四

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

【说明】

函数QuickSort是在一维数组A[n]上进行快速排序的递归算法。

【函数】

void QuickSort(int A[],int s,int t)

{int i=s,j=t+1,temp;

int x=A[s];

do{

do i++;while (1) ;

do j--;while(A[j]>x);

if(i<j){temp=A[i]; (2) ; (3) ;}

}while(i<j);

A[a]=A[j];A[j]=x;

if(s<i-1) (4) ;

if(j+1<t) (5) ;

}


正确答案:

●试题四

【答案】(1)Ai<x(2)Ai=Aj(3)Aj=temp(4)QuickSort(Asj-1)

(5)QuickSort(Aj+1t)

【解析】快速排序的思想是:任取待排序序列中的某个元素作为基准(一般取第一个元素),通过一趟排序,将待排元素分为左右两个子序列,左子序列元素的排序码均小于或等于基准元素的排序码,右子序列的排序码则大于基准元素的排序码,然后分别对两个子序列继续进行排序,直至整个序列有序。快速排序是对冒泡排序的一种改进方法,算法中元素的比较和交换是从两端向中间进行的,排序码较大的元素一次就能够交换到后面单元,排序码较小的记录一次就能够交换到前面单元,记录每次移动的距离较远,因而总的比较和移动次数较少。

 


在各种消隐算法中,下列哪些论述是正确的___。

A.画家算法的基本思想是先将屏幕赋值为背景色,然后在把物体各个面按其到视点距离远近排序

B.Z缓冲算法不仅需要帧缓冲区存放像素的亮度值,还需要一个Z缓冲区存放每个像素的深度值

C.扫描线算法首先按扫描行顺序处理一帧画面,在由视点和扫描线所决定的扫描平面上解决消隐问题

D.区域采样算法是利用图形的区域连贯性在连续的区域上确定可见面及其颜色和亮度


参考答案:ABCD


●试题一

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

【说明】

为了减少直接插入排序关键字的比较次数,本算法使用了二分(折半)插入法对一个无序数组R[1..n]进行排序。排序思想是对一个待插入元素,先通过二分法(折半)找到插入位置,后移元素后将该元素插入到恰当位置(假设R[]中的元素互不相同)。

【算法】

1.变量声明

X:DataType

i,j,low,high,mid,R0..n

2.每循环一次插入一个R[i]

循环:i以1为步长,从2到n,反复执行

①准备

X<-R[i]; (1) ;high<-i-1;

②找插入位置

循环:当 (2) 时,反复执行

(3)

若X.key<R[mid].key

则high<-mid-1

否则 (4)

③后移

循环:j以-1为步长,从 (5) ,反复执行

R[j+1]<-R[j]

④插入

R[low]<-X

3.算法结束


正确答案:

●试题一

【答案】(1)low<-1(2)lowhigh(3)mid<-int((low+high)/2)(4)low<-mid+1

(5)i-1low

【解析】这是一个通过自然语言描述二分插入排序的过程。整个过程由一个大循环来完成,在大循环中又包含两个循环,第一个循环是一个二分查找过程,第二循环是后移过程。

查找过程是在有序序列R1].Ri-1]中查找Ri]的过程,这是一个典型的折半查找过程。初始时指针low指向第一个元素,即R1],指针high指向第后一个元素,因此(1)空处应填写"low-1"。要查找Ri],先与中间元素进行比较,中间元素使用mid指向,因此,(3)空处应填入"mid<-int((low+high)/2)"。当Ri<Rmid]时,则在前半部分查找,将high<-mid-1,如果Ri>Rmid]时,则在后半部分查找,因此(4)空处应填"low<-mid+1"。那什么时候结束呢?显然,一种情况是已经找该元素,由于题目中已经假设元素互不相同,这种情况不会发生,二是没有找到该元素,即指针low和指针high之间的没有元素了,所以(2)空处应填写"lowhigh"。(5)空所在循环是进行数据移动,结合下面语句,可以判断循环是从i-1开始,到什么时候结束呢?通过分析,可以知道,最终要把Ri]放在Rlow]的位置,循环要到low时结束,因此(5)空处应填写"i-1low"。

 


阅读下列算法说明和算法,将应填入(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)。


正确答案:(1)3 (2)4 (3)1111 (4)或(加) (5)与(乘)
(1)3 (2)4 (3)1111 (4)或(加) (5)与(乘) 解析:(1)由于每一行像素占用8个数组元素,所以第y行的像素占用数组的第8×y到8×y+7号元素。于是y需要乘以8存入变量 Y,即左移3位。(2)x表示y行上的第x列像素,因为每个数组元素表示16个像素,所以需要将x除以16,得到所在数组元素位置,即右移4位。 (3)X的后四位即表示像素在MAP(V)中所对应的位置,因此取x的后 4位送入K即可。(4)因为0和1与1逻辑或的结果都是1,而与0逻辑或的结果不变。所以将MAP(V)与BIT(K)进行逻辑或(加),即可将MAP(V)指定位置“1”。(5)0和1与0逻辑与的结果都是0,而与1逻辑与的结果不变,所以将MAP(V)与取反后的BIT(K)进行逻辑与 (乘),即可将MAP(V)指定位置“0”。


温故而知新,下笔如有神近三年程序员考试专项习题训练及答案试题一 阅读下列算法说明和算法,将应填入 (n) 处的字句写在答题纸的对应栏内。算法说明 为便于描述屏幕上每个像素的位置,在屏幕上建立平面直角坐标系。屏幕左上角的像素设为原点,水平向右方向设为x轴,垂直向下方向设为y轴。 设某种显示器的像素有128X128,即在每条水平线和每条垂直线上都有128个像素。这样,屏幕上的每个像素可用坐标(x,y)来描述其位置,其中x和y都是整数,0x127,0y127。 现用一维数组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代码,将应填入匹l处的字句写在答题纸的对应栏内。 函数21说明 函数strcat(char *si,char *s2)是将字符串s2连接在字符串si之后,构成一个首指 针为s1的字符串。 函数2.1 void strcat(char *sl,char *s2) while(*s1!=0) ; (1) : for( ; (2) ;s1+,s2+); 函数22说明 本函数输入n(1000)个整数到指定数组,求该数组中最大元素的值和此元素的下标,最大元素值以函数值返回,此元素的下标通过指针形参带回调用处。 函数22 #include #define MAXLINE 1000 int maxindex(int a,int *index) int i,n; do printf(Please input nn); scanf(d,&n); while( (3) );/*保证输入的n在限定范围内*/ for(i=0 ; in ; i+) scanf(%d,&ai); *index=0; for(i=1 ; in ; i+) if( (4) ) *index=i; return (5) ; 试题三 阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。 函数31说明 函数insert_sort(int a,int count)是用直接插入排序法对指定数组的前count个元素从小到大排序。直接插入排序法的基本思想是:将整个数组(count个元素)看成是由有序的(a0,ai-1)和无序的(ai,aCount-1)两个部分组成;初始时i等于1,每趟排序时将无序部分中的第一个元素ai插入到有序部分中的恰当位置,共需进行count-1趟,最终使整个数组有序。函数3.1void insert_sort(int a , int count) int i, j, t; for(i=1 ; i=0 & taj) /*在有序部分中寻找元素ai的插入位置*/ (2) ; j-; (3) ;函数32说明 递归函数invert(int a,int k)将指定数组中的前k个元素逆置。函数32void invert(int a , int k); int t;if ( (4) ) invert( (5) ); t=a0; a0=ak-1; ak-1=t;试题四 阅读下列程序说明和C代码,将应填入 (n) 处的字句写在答题纸的对应栏内。程序4说明 本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。如果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最小的数2,宣布它是素数,并把该素数的倍数都取走。这样,第一步以后,筛子中还留下奇数3、5、7、9:重复上述步骤,再取走最小数3,宣布它为素数,并取走3的倍数,于是留下5、7。反复重复上述步骤,直至筛中为空时,工作结束,求得2至10中的全部素数。程序中用数组sieve表示筛子,数组元素sievei的值为1时,表示数i在筛子中,值为-1时表示数i已被取走。程序4#include #define MAX 22500main() unsigned int i , range , factor , k ; int sieveMAX ; printf(“please input the range : ”); scanf(“%d”,&range); /*range指出在多大的范围内寻找素数 */ for (i=2 ; i=range ; i+) /* 筛子初始化 */ (1) ; factor=2 ; while (factor=range) if ( (2) ) /*筛子最小数是素数 */ printf(“%dt”,factor); k=factor; while (kdatadata) SortTreelnsert( (1) ,S); else if(S-data(*tree)-data) SortTreelnsert( (2) ,S);函数52说明 函数void TraversalTree(BTREE *tree)用非递归方法,对以tree为根结点指针的二叉树进行后序遍历。函数5,2 void TraversalTree(BTREE *tree) BTREE *stack1000,*p; int tag1000,top=0; p=tree; do while(p!=NULL) stack+top=p; (3) ; taghop=0; *标志栈顶结点的左子树已进行过后序遍历* : while(top0 & (4) ) /* 栈顶结点的右子树是否被后序遍历过* p=stacktop-; putchar(p-data); if (top0) /*对栈顶结点的右子树进行后序遍历* (5) ; tagtop=1; while(top0); 参考答案试题一试题二(1) 3(1) s1+(2) 4(2) *s1= *s2(3) 1111(3) n=MAXLINE(4) 或(加)(4) ai a*index(5) 与(乘)(5) a*index试题三试题四(1) i-1(1) sievei = 1(2) aj+1 = aj(2) sievefactor = 1 或 sievefactor 0 或 sievefactor = 0 或 sievefactor != -1(3) aj+1 = t(3) sievek = -1(4) k 1(4) k+factor(5) a+1 , k-2(


阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。

【说明】

函数QuickSort是在一维数组A[n]上进行快速排序的递归算法。

【函数】

void QuickSort( int A[ ],int s,int t)

{ int i=s,j=t+1,temp;

int x=A[s];

do{

do i ++ ;while (1);

do j -- ;while(A[j]>x);

if(i<j){temp=A[i];(2);(3);}

}while(i<j);

A[a] =A[j];A[j] =x;

if(s<i-1) (4);

if(j+1<t) (5);

}


正确答案:(1)A[i]x (2)A[i]=A[j] 3)A[j]=temp (4)QuickSort(Asj-1) (5)QuickSort(Aj+1t);
(1)A[i]x (2)A[i]=A[j] 3)A[j]=temp (4)QuickSort(A,s,j-1) (5)QuickSort(A,j+1,t); 解析:快速排序的思想是:任取待排序序列中的某个元素作为基准(一般取第一个元素),通过一趟排序,将待排元素分为左右两个子序列,左子序列元素的排序码均小于或等于基准元素的排序码,右子序列的排序码则大于基准元素的排序码,然后分别对两个子序列继续进行排序,直至整个序列有序。快速排序是对冒泡排序的一种改进方法,算法中元素的比较和交换是从两端向中间进行的,排序码较大的元素一次就能够交换到后面单元,排序码较小的记录一次就能够交换到前面单元,记录每次移动的距离较远,因而总的比较和移动次数较少。


阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。

[说明]

完成以下中序线索化二叉树的算法。

[函数]

Typedef int datatype;

Typedef struct node {

Int ltag, rtag;

Datatype data;

*lchild,* rchild;

}bithptr;

bithptr pre;

void inthread ( p );

{if

{inthread ( p->lchild );

if ( p->lchild==unll ) (1);

if ( P->RCHILD=NULL) p->rtag=1;

if (2)

{if (3) pre->rchild=p;

if ( p->1tag==1 )(4);

}

INTHREAD ( P->RCHILD );

(5);

}

}


正确答案:(1) P->LTAG=0 (2) (PRE) (3) (PRE->RTAG==1) (4) P->LCHILD=PRE (5) PRE=P
(1) P->LTAG=0 (2) (PRE) (3) (PRE->RTAG==1) (4) P->LCHILD=PRE (5) PRE=P


阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。

[说明]

设学生某次考试的成绩按学号顺序逐行存放于某文件中,文件以单行句点“.”为结束符。下面的流程图读取该文件,统计出全部成绩中的最高分max和最低分min。


正确答案:(1) max←a (2) min←a (3) a="." (4) a>max或amax或maxa或max≤a (5) amin或a≤min或min>a或mina
(1) max←a (2) min←a (3) a="." (4) a>max或amax或maxa或max≤a (5) amin或a≤min或min>a或mina 解析:本题用到的三个变量及其作用分别为:a,存放读入的一行数据;max存放最高分;min存放最低分。算法首先读入文件的第一行数据a,若a为文件结束符“.”,则算法提前结束;否则为max和min赋初值a,循环读入文件其余部分,直至文件末尾。循环过程中,当某行数据a大于max时,更新max的值;当某行数据a小于min时,更新min的值。


阅读以下说明,回答问题,将解答填入对应的解答栏内。

. [说明] 请完成流程图以描述在数据A(1)至A(10)中求最大数和次大数的程序的算法。并将此改成PAD图。该算法的流程图如下图:


正确答案:(1)max2 =A(1) mex1 =A(2) (2)i< =10 (3)max1 =A(i)1 max2 = max1 (4)i=i+1
(1)max2 =A(1) mex1 =A(2) (2)i< =10 (3)max1 =A(i)1 max2 = max1 (4)i=i+1 解析:本题的算法思想是:先输入A(1)到A(10)的值,然后判断前两个数的大小。用变量max1存储最大数,用变量max2.存储次大数。然后逐个读入数据,分别和max1,max2比较,保证最大的存入max1,次大的存入max2。


●试题二

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

【说明】

该程序运行后,输出下面的数字金字塔

【程序】

include<stdio.h>

main ()

{char max,next;

int i;

for(max=′1′;max<=′9′;max++)

{for(i=1;i<=20- (1) ;++i)

printf(" ");

for(next= (2) ;next<= (3) ;next++)

printf("%c",next);

for(next= (4) ;next>= (5) ;next--)

printf("%c",next);

printf("\n");

}

}


正确答案:
●试题二【答案】(1)(max-′0′)(2)′1′(3)max(4)max-1(5)′1′【解析】该程序共有9行输出,即循环控制变量max的值是从1~9。每行输出分3部分,先用循环for语句输出左边空白,(1)空填"(max-′0′)";再用循环输出从1到max-′0′的显示数字,即(2)空和(3)空分别填1和max;最后输出从max-′1′~1的显示数字,即(4)空和(5)空分别填和max-1和′1′。


更多 “专项习题程序员考试练习题及答案(3年内考题)” 相关考题
考题 要将图形显示到计算机屏幕上,就必须将测量坐标转换为相应的屏幕坐标,屏幕坐标系的坐标单位为()。A、像素B、毫米C、英寸D、米正确答案:A

考题 图6-1是下一代网络的体系结构简图,请根据此简图将应填入(n)处的字句写在答题纸的对应栏内。 正确答案:(1)业务平面(2)控制平面(3)传输平面(4)接入平面(5)SIP-TBICC(6)SIGTRAN(7)MGCP/H.248(8)H.323(9)SIP

考题 单选题图像分辨率表示()。A 输出设备产生图像时,单位长度上的输出像素个数B 屏幕图像的长度和高度C 图像在水平方向上的像素数和垂直方向上的像素数D 显示屏幕在水平方向上的像素数和垂直方向上的像素数正确答案: B 解析: 暂无解析

考题 图2-1是基于软交换的网络分层模型。请将选项应填入(n)处的字句写在答题纸对应的解答栏内。 正确答案:(1)业务/应用层(2)控制层(3)接入层(4)媒体网关

考题 (a)智能网概念模型中分布功能平面模型如下图所示,请根据此图将应填入(n)处的 字句写在答题纸的对应栏内。 正确答案:(1)SMF(或业务管理功能)(2)SCEF(或业务生成功能)(3)SDF(或业务数据功能)(4)SCF(或业务控制功能)(5)SSF(或业务交换功能)(6)CCF(或呼叫控制功能)

考题 阅读下列说明和C++代码,回答问题,将解答填入答题纸的对应栏内。 【说明】某航空公司的会员积分系统将其会员划分为:普卡 (Basic)、银卡(Silver)和金卡 (Gold) 三个等级。非会员 (NonMember) 可以申请成为普卡会员。会员的等级根据其一年内累积 的里程数进行调整。描述会员等级调整的状态图如图 5-1 所示。现采用状态 (State) 模式实现上述场景,得到如图 5-2 所示的类图。 【问题1】(15分)阅读上述说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。答案:解析:注意:原版的题目应该是Cbasic、CSilve。(1) virtual double travel(int miles,FrequentFlyer* context)=0(2)context->setState(context->Cbasic)(3)context->setState(context->CSilve)(4)context->setState(context->Cbasic)(5)context->setState(context->CSilve)

考题 多选题在各种消隐算法中,下列那些论述是正确的?()A画家算法的基本思想是先将屏幕赋值为背景色,然后在把物体各个面按其到视点距离远近排序;BZ缓冲算法不仅需要帧缓冲区存放像素的亮度值,还需要一个Z缓冲区存放每个像素的深度值;C扫描线算法首先按扫描行顺序处理一帧画面,在由视点和扫描线所决定的扫描平面上解决消隐问题;D区域采样算法是利用图形的区域连贯性在连续的区域上确定可见面及其颜色和亮度;正确答案: A,C 解析: 暂无解析

考题 对于显示存储器的描述中,()是错误的。A、像素越细密,显示的画面就越细腻。B、屏幕上像素的数量决定了显示的分辨率C、显存容量不能小于像数总数*颜色数值位数/8D、屏幕上的图象由像素组成E、像素即屏幕显示的颜色正确答案:C,E

考题 试题三(共 15 分)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。 正确答案:

考题 ●试题一阅读下列说明和流程图,将应填入(n)的字句写在答题纸的对应栏内。【说明】下列流程图(如图4所示)用泰勒(Taylor)展开式sinx=x-x3/3!+x5/5!-x7/7!+…+(-1)n×x 2n+1/(2n+1)!+…【流程图】图4计算并打印sinx的近似值。其中用ε(0)表示误差要求。 正确答案:●试题一【答案】(1)x*x(2)x-t(3)|t|∶ε(4)s+2-s(5)(-1)*t*x2/(s*(s-1))【解析】该题的关键是搞清楚几个变量的含义。很显然变量t是用来保存多项式各项的值,变量s和变量x2的作用是什么呢?从流程图的功能上看,需要计算1!、3!、5!,……,又从变量s的初值置为1可知,变量s主要用来计算这此数的阶乘的,但没有其他变量用于整数自增,这样就以判断s用来存储奇数的,即s值依次为1、3、5,……。但x2的功能还不明确,现在可以不用管它。(2)空的作用是给t赋初值,即给它多项式的第一项,因此应填写"x-t"。(3)空处需填写循环条件,显然当t的绝对值小于ε(0)就表示已经达到误差要求,因此(3)空应填入"|t|∶ε"。由变量s的功能可知,(4)空应当实现变量s的增加,因此(4)空应填入"s+2-s"。(5)空应当是求多项式下一项的值,根据多项式连续两项的关系可知,当前一项为t时,后一项的值为(-1)*t*x*x/(s*(s-1))。但这样的话,每次循环都需要计算一次x*x,计算效率受到影响,联想到变量x2还没用,这时就可以判断x2就是用来存储x*x的值,使得每次循环者少进行一次乘法运算。因此(1)空处应填入"x*x",(5)空处应填入"(-1)*t*x2/(s*(s-1))"。
最新考题