[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷7及答案与解析.doc

上传人:appealoxygen216 文档编号:507400 上传时间:2018-11-29 格式:DOC 页数:11 大小:168KB
下载 相关 举报
[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷7及答案与解析.doc_第1页
第1页 / 共11页
[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷7及答案与解析.doc_第2页
第2页 / 共11页
[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷7及答案与解析.doc_第3页
第3页 / 共11页
[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷7及答案与解析.doc_第4页
第4页 / 共11页
[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷7及答案与解析.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、软件水平考试(初级)程序员下午(应用技术)模拟试卷 7及答案与解析 1 阅读下列算法说明和算法,将应填入 (n)处的字句写在对应栏内。 【算法说明】 为便于描述屏幕上每个像素的位置,在屏幕上建立平面直角坐标系。屏幕左上角的像素设为原点,水平向右方向设为 X轴,垂直向下方向设为 Y轴。 设某种显示器的像素为 128128,即在每条水平线和每条垂直线上都有 128个像素。这样,屏幕上的每个像素可用坐标 (x, y)来描述其位置,其中 x和 y都是整数, 0x127, 0y127。 现用一维数组 MAP来 存储整个一屏显示的位图信息。数组的每个元素有 16位二进位,其中每位对应一个像素, “1”表示

2、该像素 “亮 ”, “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)的值为 2

3、15-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”。

4、这一步的具体实现过程如下: 1为把指定像素置 “亮 ”,应将 MAP(V)与 BIT(K)进行逻辑 (4)运算,并存入MAP(V)。 2为把指定像素置 “暗 ”,应先将 BIT(K)各位取反,再将 MAP(V)与 BIT(K)进行逻辑 (5)运算,并存入 MAP(V)。 2 阅 读以下说明和 C代码,将应填入 (n)处的字句写在对应栏内。 【说明】 函数 MultibaseOutput(long n, int B)的功能是:将一个无符号十进制整数 n转换成 B(2B16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把 B进制数从栈中输出。有关栈操作的诸函数功能见相应函数中

5、的注释。 C代码中的符号常量及栈的类型定义如下: #define MAXSIZE 32 typedef struct int * elem; /*栈的存储区 */ int max; /*栈的容量,即栈中最多能存放的元素个数 */ int top; /*栈顶指针 */ Stack; 【代码】 int InitStack(Stack * S,int n) /*创建容量为 n的空栈 */ S - elem = (int*) malloc(n*sizeof(int); if(S - elem = NULL) return-1 S- max=n;(1)=0;return 0; int Push (Sta

6、ck * s,int item) /*将整数 item压入栈顶 */ if(S- top=S- max)printf(“Stack is full! n“);return-1; (2)= item; return 0 int StackEmpty(Stack S) return(! S. top)? 1:0; /*判断栈是否为空 */ int Pop(Stack * S) /*栈顶元素出栈 */ if(! S- top) printf(“Pop an empty stack! n“) ;return -1; return (3); void MultibaseOutput(long n,int

7、 B) int m;Stack S if (InitStack( return; do if( Push( return; n=(5); while(n!=0); while(!StackEmpty(S) /*输出 B进制的数 */ m = Pop( if(m 10) printf(“%d“,m) ;/*小于 10,输出数字 */ else printf(“%c“,m+55); /*大于或等于 10,输出相应的字符 */ printf( “n“) ; 3 阅读下列函数说明和 C代码,将应填入 (n)处的字句写在对应栏内。【说明】 函数 void rcr(int a, int n, int k)

8、的功能是:将数组 a中的元素 s0 9n-1循环向右平移 k个位置。 为了达到总移动次数不超过 n的要求,每个元素都必须只经过一次移动到达目标位置。在函数 rcr中用如下算法实现:首先备份 a0的值,然后计算应移动到 a0的元素的下标 p,并将 aP的值移至 a0;接着计算 应移动到 ap的元素的下标 q,并将 aq的值移至 ap;依次类推,直到将 a0的备份值移到正确位置。 若此时移动到位的元素个数已经为 n,则结束;否则,再备份 a1的值,然后计算应移动到 a1的元素的下标 p,并将 ap的值移至 91;接着计算应移动到 ap的元素的下标 q,并将 aq的值移至 ap;依次类推,直到将 a

9、1的备份值移到正确位置。 若此时移动到位的元素个数已经为 n,则结束;否则,从 a2开始,重复上述过程,直至将所有的元素都移动到目标位置时为止。 例如,数组 a中的 6个元素 如图 1(a)所示,循环向右平移两个位置后元素的排列情况如图 1(b)所示。 void rcr( int a ,int n,int k) int i,j,t,temp,count; count =0; /*记录移动元素的次数 */ k=k%n; if(1) /*若 k是 n的倍数 ,则元素无须移动 ;否则 ,每个元素都要移动 */ i=0 while(count n) j=i;t=i; temp =a1; /*备份 ai

10、的值 */ /*移动相关元素,直到计算出ai应移动到的目标位置 */ while(j=(2)! =i) at=aj; t=(3); count+; (4)= temp;count +; (5); 4 阅读下面的要求,在 _填入适当的语句。 要求执行该段程序后能弹出一个对话框,对话框中有 “确定 ”和 “取消 ”按钮,以及一个带问号的图标,并要求第一个按钮为默认按钮。 Private Sub Form_Load() MsgBox“要重新输入吗 ?“_, “询问 “ End Sub 5 阅读下列函数说明和 C代码,将应填入 (n)处的字句写在对应栏内。 【说明】 以下程序的功能是:从键盘上输入一个

11、字符串,把该字符串中的小写字母转换为大写字母,输出到文件 test.txt中,然后从该文件读出字符串并显示出来。 【程序】 #include stdio. h main( ) FILE * fp; char str100; int i=0; if(fp=fopen(“text.txt“(1) =NULL) printf(“cant open this file. n“) ;exit(0) ; printf(“ input astring: n“ ); gest(str); while( stri ) if(stri =a fputc(stri,(3); i+; fclose(fp); fp=f

12、open(“ test.txt“,(4); fgets(str, 100, fp); printf(“%sn“ ,str); (5); 6 阅读以下说明及 Visual Basic程序代码,将应填入 (n)处的字句写在对应栏内。【说明】 在窗体上设计两个文本框和两个标签,标签上显示: “摄氏温度: ”和 “华氏温度: ”,文本框一个用于输入摄氏温度数,一个用于输出对应的华氏温度。摄氏温度与华氏温度的转换公式为: c=(5/9)(f-32) 要求:对 输入的摄氏温度数有检查功能,以拒绝接收非数字字符。运行界面如图所示。 【 Visual Basic代码】 Private Sub Commandl

13、_Click () Text1 = “ Text2 = “ Text1.Enabled = True Text2.Enabled = True Text1.SetFocus End Sub Private Sub Command2 Click () End End Sub Private Sub Form Load () Text1 = “ Text2 = “ Text1.Enabled = False Text2.Enabled = False End Sub Private Sub Textl_Change () Text2.Text = (1) End Sub Private Sub T

14、extl_KeyPress (KeyAscii As (2) ) If (3) Then If Chr ( KeyAscii ) “0“ Or (4) Then (5) End If End If End Sub 7 阅读以下说明及 Visual Basic程序代 码,将应填入 (n)处的字句写在对应栏内。 【说明】 以下程序为求行列式 X(5,5)的值 S。 【 Visual Basic代码】 Private Function col ( byval x ( 5,5 ) as integer ) as long dim fesult as long dim temp as long dim

15、I as integer dim j as integer dim k as imeger result = 0 for I = to 5 (1) for j = 1 to 5 if I+j 6 then k= ( 1+j ) mod 5 else k=1 endif temp=temp*x ( k,j ) (2) result=(3) (4) (5) End function 8 阅读以下说明和 C+ 程序,将应填入 (n)处的字句写在对 应栏内。 说明 试从含有 n个 int 型数的数组中删去若干个成分,使剩下的全部成分构成一个不减的子序列。设计算法和编写程序求出数组的不减子序列的长。 C

16、+ 程序 #include stdio.h #define N 100 int b=9,8,5,4,3,2,7,6,8,7,5,3,4,5,9,1; int a N; #define n sizeofb/sizeofb0 void main ( ) kit k,i,j; (1) (2) for (i=1;i n; i+ ) for ( j=k;(3); j-); (4); /*长为 j+1 的子序列的终元素存储在 aj+1*/ if (5)k+; /*最长不减子序列长 k 增 1*/ printf ( “K = %dn “,k ); 9 阅读以下说明和 Java 代码,将应填入 (n)处的字句

17、写在对应栏内。 说明 用输入 /输出写一个程序,让用户输入一些 姓名和电话号码。每一个姓名和号码将加在文件里。用户通过点 “Done”按钮来告诉系统整个列表已输入完毕。 如果用户输入完整的列表,程序将创建一个输出文件并显示或打印出来。格式如: 555,1212, Tom 123-456-7890, Peggy L.234-5678, Marc 234-5678, Ron 876-4321,Beth byte name=new byte lineLength; int i; try fos= new FileOutputStream (“phone. numbers“); catch (File

18、NotFoundException e) while (true) (1) (“Enter a name (enter done to quit)“); (2) (name); if (“done“. equalsIgnoteCase (new String (name,0, 0, 4) break; System.err.println (“Enter the phone number“); readLine (phone); for (int i=0; phone i!=0; i+) (3); fos.write (,); for (int i=0 (4); i+) fos. write

19、(name i); fos. write (n); fos. close(); private static void readLine (byte line ) throws IOException int i=0, b=0; while (i (5) linei= ( byte ) 0; 软件水平考试(初级)程序员下午(应用技术)模拟试卷 7答案与解析 1 【正确答案】 (1)3 (2)4 (3)1111 (4)或 (加 ) (5)与 (乘 ) 【试题解析】 (1)由于每一行像素占用 8个数组元素,所以第 y行的像素占用数组的第 8y到 8y+7号元素。于是 y需要乘以 8存入变量 Y,即

20、 左移 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”。 2 【正确答

21、案】 (1)S- top (2)S- elemS- top+ (3)S- elem-S- top (4)n%B (5)n/B 【试题解析】 (1)此处初始化栈顶指针,即 S- top=0。 (2)此处语句是入栈操作,即先将入栈元素放入栈顶,然后修改栈顶指针。 (3)此处语句是出栈操作,即修改栈顶指针,然后弹出栈顶元素。 (4)此处语句求得将要入栈的数字,即用 n%B得到B进制下第一位数字。 (5)此处语句修改 n的大小以继续求得更高位的数字。 3 【正确答案】 (1)k或 k!=0 (2)(j-k+n)%n或 (t-k+n)%n (3)j (4)at或等价表达式 (5)i+或等价表达式 【试题

22、解析】 (1)判断 k执行 k=k%n后是否为 0,即是否是 n的倍数,应填入 k或 k!=0。 (2)j表示要移动到 at的元素的位置,于是 j和 t的关系为 j=(t-k+n)%n;当执行完 j=i, t=i后, j=t,于是此处可填入 (j-k+n)%n或 (t-k+n)%n。 (3)将 aj移动到 at后,需要将 t指向 j,即此处填入 j。 (4)将暂存在 temp中的值移动到 at中。即 此处填入 at或等价表达式。 (5)此处 while循环的递增条件,显然应该是 i+或其他等价表达式。 4 【正确答案】 VbOkCancel+VbQuestion+VbDefaultButton

23、l 【试题解析】 该题考查的是输出消息函数 MsgBox()的知识,要求考生熟练运用该函数中的参数。 在 Visual Basic程序设计中,输出消息函数 MsgBox()的格式是: Msgbox(提示 ,按钮 ,标题 ) “提示 ”项是必选项,是消息框中出现的文字说明,如该程序中的 “要重新输入吗 ?”字样。 “按钮 ”项是可选项。这个值可以决定消息框中按钮数目及形式、图标的样式以及默认按钮等内容。表 1列出了消息框上内容及符号常数的对应关系。5 【正确答案】 (1)W (2)stri-a+A (3)fp (4)r (5)fclose(fp) 【试题解析】 程序运行后,首先打开文件 test

24、.txt用于写入,因此 (1)空填 w。 程序从键盘读入字符串到变量 str中,对 str中每个字符,如是小写字母,则将其转换成大写字母。 (2)空是小写字母转换大写字母的操作。 (3)空是将 str中的字符写入 文件 text.txt中。 str中所有字符处理完后,关闭文件 test.txt(对应语句是 fclose (fp),然后重新以读方式打开,因此 (4)空填 r,将 test.txt中的内容读到 str中并显示输出后,关闭文件 test.txt,即 (5)空填 fclose(fp)。 6 【正确答案】 (1)5 * ( Val ( Text1.Text ) -32 )/9 (2) Integer (3) KeyAscii 8 (4) Chr(KeyAscii) “9“ (5) KeyAscii=0 7 【正确答案】 (1)temp=1 (2) next I (3) result+temp (4) next I (5) col=result 8 【正确答案】 (1)a1 =b0 (2) k=1 (3) j 1&aj bi (4)aj+1 bi (5) j k 9 【正确答案】 (1)System. err. println (2) readLine (3) fos. write(phonei) (4) namei!=0 (5) lineLength-1

展开阅读全文
相关资源
猜你喜欢
  • BS PD IEC TS 62580-2-2016 Electronic railway equipment On-board multimedia and telematic subsystems for railways Video surveillance CCTV services《铁路电子设备 铁路用车载多媒体和远程信息处理子系统.pdf BS PD IEC TS 62580-2-2016 Electronic railway equipment On-board multimedia and telematic subsystems for railways Video surveillance CCTV services《铁路电子设备 铁路用车载多媒体和远程信息处理子系统.pdf
  • BS PD IEC TS 62600-10-2015 Marine energy Wave tidal and other water current converters Assessment of mooring system for marine energy converters (MECs)《海洋能 波浪 潮汐和其他水能转换器 用.pdf BS PD IEC TS 62600-10-2015 Marine energy Wave tidal and other water current converters Assessment of mooring system for marine energy converters (MECs)《海洋能 波浪 潮汐和其他水能转换器 用.pdf
  • BS PD IEC TS 62600-101-2015 Marine energy Wave tidal and other water current converters Wave energy resource assessment and characterization《海洋能 波浪 潮汐和其他水能转换器 波浪能资源评价和表征》.pdf BS PD IEC TS 62600-101-2015 Marine energy Wave tidal and other water current converters Wave energy resource assessment and characterization《海洋能 波浪 潮汐和其他水能转换器 波浪能资源评价和表征》.pdf
  • BS PD IEC TS 62600-102-2016 Marine energy Wave tidal and other water current converters Wave energy converter power performance assessment at a second location using measu.pdf BS PD IEC TS 62600-102-2016 Marine energy Wave tidal and other water current converters Wave energy converter power performance assessment at a second location using measu.pdf
  • BS PD IEC TS 62600-201-2015 Marine energy Wave tidal and other water current converters Tidal energy resource assessment and characterization《海洋能 波浪 潮汐和其他水能转换器 潮汐能资源评价和表征》.pdf BS PD IEC TS 62600-201-2015 Marine energy Wave tidal and other water current converters Tidal energy resource assessment and characterization《海洋能 波浪 潮汐和其他水能转换器 潮汐能资源评价和表征》.pdf
  • BS PD IEC TS 62607-4-1-2015 Nanomanufacturing Key control characteristics Cathode nanomaterials for nano-enabled electrical energy storage Electrochemical characterisation.pdf BS PD IEC TS 62607-4-1-2015 Nanomanufacturing Key control characteristics Cathode nanomaterials for nano-enabled electrical energy storage Electrochemical characterisation.pdf
  • BS PD IEC TS 62607-4-2-2016 Nanomanufacturing Key control characteristics Nano-enabled electrical energy storage Physical characterization of cathode nanomaterials density.pdf BS PD IEC TS 62607-4-2-2016 Nanomanufacturing Key control characteristics Nano-enabled electrical energy storage Physical characterization of cathode nanomaterials density.pdf
  • BS PD IEC TS 62607-4-3-2015 Nanomanufacturing Key control characteristics Nano-enabled electrical energy storage Contact and coating resistivity measurements for nanomater.pdf BS PD IEC TS 62607-4-3-2015 Nanomanufacturing Key control characteristics Nano-enabled electrical energy storage Contact and coating resistivity measurements for nanomater.pdf
  • BS PD IEC TS 62607-4-4-2016 Nanomanufacturing Key control characteristics Nano-enabled electrical energy storage Thermal characterization of nanomaterials nail penetration.pdf BS PD IEC TS 62607-4-4-2016 Nanomanufacturing Key control characteristics Nano-enabled electrical energy storage Thermal characterization of nanomaterials nail penetration.pdf
  • 相关搜索

    当前位置:首页 > 考试资料 > 职业资格

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1