【计算机类职业资格】浙江二级VISUAL+FOXPRO-试题16及答案解析.doc

上传人:sumcourage256 文档编号:1335967 上传时间:2019-10-17 格式:DOC 页数:13 大小:58KB
下载 相关 举报
【计算机类职业资格】浙江二级VISUAL+FOXPRO-试题16及答案解析.doc_第1页
第1页 / 共13页
【计算机类职业资格】浙江二级VISUAL+FOXPRO-试题16及答案解析.doc_第2页
第2页 / 共13页
【计算机类职业资格】浙江二级VISUAL+FOXPRO-试题16及答案解析.doc_第3页
第3页 / 共13页
【计算机类职业资格】浙江二级VISUAL+FOXPRO-试题16及答案解析.doc_第4页
第4页 / 共13页
【计算机类职业资格】浙江二级VISUAL+FOXPRO-试题16及答案解析.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、浙江二级 VISUAL+FOXPRO-试题 16及答案解析(总分:100.00,做题时间:90 分钟)一、试题 1(总题数:1,分数:6.00)程序说明 程序的功能是统计一个字符串中各个字符的个数(假设字符串仅由大写英文字母 A、B、C、D组成)。 程序 CSTR=“ABCDDDBBDCCAACB“ STORE 0 TO NA,NB,NC,ND DO WHILE LEN(CSTR)0 C=LEFT(CSTR,1) N&C= _ CSTR= _ ENDDO ? NA,NB,NC,ND(分数:6.00)A.N&A+1B.N&B+1C.N&C+1D.N&D+1A.ALLTRIM(CSTR,2)B.S

2、UBSTR(STR,2)C.SUBSTR(CSTR,2)D.RTGHT(CSTR,2)二、试题 2(总题数:1,分数:9.00)程序说明 设有 STUDENT. DBF(有字段:学号、姓名、民族)和 SCORE. DBF(有字段:学号、成绩)两个表,若要在它们之间建立逻辑连接,然后为每个少数民族(即汉族以外的民族)考生的成绩增加 5分,最后显示全体考生的学号、姓名和成绩。 程序 SET TALK OFF SELECT 1 USE STUDENT _ TO IDX SELECT 2 USE SCORE SET RELATION TO学号 INTO A REPLACE成绩 WITH _ FOR _

3、 LIST学号,A. 姓名,成绩 SET RELATION TO CLOSE DATA SELECT 1 SET TALK ON(分数:9.00)A.INDEX ON民族B.INDEX ON姓名C.INDEX ON成绩D.INDEX ON学号A.成绩+5B.SCORE.学号C.SCORE.成绩D.成绩A.A民族=“汉”B.A民族“汉”C.A成绩=成绩+5D.A民族“少数民族”三、试题 3(总题数:1,分数:12.00)程序说明 程序先输入 10个学生的学号及其成绩,然后按成绩从大到小的顺序进行排序,最后按排序结果输出每个学生的名次、学号及其成绩。 程序 SET TALK OFF DIME N(

4、10),L(10) FOR I=1 TO 10 INPUT “学号“ TO N(I) INPUT “成绩“ TO L(I) NEXT I FOR I=1 TO 9 FOR _ TO 10 IF L(I)L(J) B=L(I) L(I)=L(J) L(J)=B C=N(I) _ _ ENDIF NEXT J NEXT I ? “名次“,“学号“,“成绩“ FOR I=1 TO 10 _ NEXT I SET TALK ON RETURN(分数:12.00)A.J=IB.J=I+1C.I=J+1D.J=1A.N(I)=CB.N(J)=N(I)C.N(I)N(J)D.N(1)=N(J)A.N=CB.

5、N(I)=CC.N(J)=CD.N(I)=N(J)A.? I,N(I),L(I)B.? I,N,LC.? I,N(I)D.? I,L(I)四、试题 4(总题数:1,分数:9.00)程序说明 如下图所示的表单,其功能是:在文本框 Text1中输入一个正整数,当按下命令按钮Command1时,判断该正整数是否能同时被 3、5、7 整除。若能被 3、5、7 整除,则标签 Label2显示红色(基本色)汉字,“能同时被 3、5、7 整除”;否则,标签 Label2显示蓝色(基本色)汉字,“不能同时被3、5、7 整除”。 (分数:9.00)A.X%7=0B.X%70C.X%7!=0D.X$7A.RGB(

6、0,0,255)B.RGB(0,255,0)C.RGB(255,0,0)D.RGB(0,0,0)A.“能同时被 3、5、7,整除“B.“不能同时被 3、5、7 整除“C.“能同时被 5、7 整除“D.“不能同时被 5、7 整除“五、试题 5(总题数:1,分数:12.00)程序 CLEAR X=0.0 INPuT”请输入 X值:“TO X DO CASE CASE X0 F=2*X-1 CASE X0 AND X3 F=3*X+5 CASE X=3 AND X5 F=X+1 CASE X=5 AND X10 F=5*X-3 CASE X=10 F=7*X+2 ENDCASE ? “F(“,STR

7、(X,4,1),“)=“,STR(F,4,1)(分数:12.00)(1).当 X值为 2时,程序输出结果为_。(分数:3.00)A.F(2.0)=12.0B.F(2.0)=3.0C.F(2.0)=11.0D.F(2.0)=17.0(2).当 X值为 8时,程序输出结果为_。(分数:3.00)A.F(8.0)=37.0B.F(8.0)=58.0C.F(8.0)=9.0D.F(8.0)=15.0(3).当 X值为 10时,程序输出结果为_。(分数:3.00)A.F(10.0)=19.0B.F(10.0)=11.0C.F(10.0)=47.0D.F(10.0)=72.0(4).当 X值为-1 时,程

8、序输出结果为_。(分数:3.00)A.F(-1.0)=2.0B.F(-1.0)=-3.0C.F(-1.0)=0.0D.F(-1.0)=-5.0六、试题 6(总题数:1,分数:12.00)程序 SET TALK OFF DIMENSION A(6) FOR K=1 TO 6 A(K)=20-3*K ENDFOR K=5 DO WHILE K=1 A(K)=A(K)-A(K+1) K=K-1 ENDDO ? A(1),A(3),A(5),K SET TALK ON(分数:12.00)(1).A(1)的输出结果为_。(分数:3.00)A.17B.10C.9D.5(2).A(3)的输出结果为_。(分数

9、:3.00)A.6B.11C.9D.8(3).A(5)的输出结果为_。(分数:3.00)A.9B.7C.5D.3(4).K的输出结果为_。(分数:3.00)A.0B.1C.4D.5七、试题 7(总题数:1,分数:12.00)程序 CLEAR PUBLIC X,Y X=100 Y=200 DO GC1 ? X,Y K=300 DO GC2 ? Y,K SET TALK ON PROC GC1 PRIVATE Y Y=3 DO GC3 X=X*Y RETURN PROC GC3 Y=2 RETURN PROC GC2 K=K+Y DO GC3 K=K+Y RETURN(分数:12.00)(1).X

10、的输出结果为_。(分数:3.00)A.100B.200C.300D.502(2).第一次 Y的输出结果为_。(分数:3.00)A.100B.200C.3D.2(3).第二次 Y的输出结果为_。(分数:3.00)A.100B.200C.3D.2(4).K的输出结果为_。(分数:3.00)A.300B.500C.502D.200八、试题 8(总题数:1,分数:14.00)1.编写程序,已知 Fibonacci数列:1,1,2,3,5,8,它可由下列公式表述:F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2)。求数列中第 20个数是多少? (分数:14.00)_九、试题 9(总题数:1

11、,分数:14.00)2.设计一个选择查询表单,如下图所示。表单运行时,可以先在右侧的下拉列表框中选择需要打开并查询的表文件(此时,表的字段就会自动显示在左侧的列表框内);然后在列表框中选择需要输出的字段;最后单击“确定”按钮,显示指定表中的记录在指定字段上的内容。 (分数:14.00)_浙江二级 VISUAL+FOXPRO-试题 16答案解析(总分:100.00,做题时间:90 分钟)一、试题 1(总题数:1,分数:6.00)程序说明 程序的功能是统计一个字符串中各个字符的个数(假设字符串仅由大写英文字母 A、B、C、D组成)。 程序 CSTR=“ABCDDDBBDCCAACB“ STORE

12、0 TO NA,NB,NC,ND DO WHILE LEN(CSTR)0 C=LEFT(CSTR,1) N&C= _ CSTR= _ ENDDO ? NA,NB,NC,ND(分数:6.00)A.N&A+1B.N&B+1C.N&C+1 D.N&D+1解析:A.ALLTRIM(CSTR,2)B.SUBSTR(STR,2) C.SUBSTR(CSTR,2)D.RTGHT(CSTR,2)解析:解析 要求出一个字符串中各种字符的个数,可依次分离出该字符中的字符,判断该字符是什么,从而给相应的计数器加 1。本题通过一个 DO WHILE循环来实现该功能,实现方法是:先用 LEFT函数求出字符串的第一个字符

13、,把该字符对应的计数器加 1。此处需要注意的是使用了宏代换“&”假设 C为 A,则N&C表示的就是 NA,因此只需给 N&C加 1即可,也就是给分离出来的字符对应计数器加 1。处理完该字符后,把原字符串中的该字符去掉,即从原字符串的第 2个字符开始取到最后一个字符作为下一次要处理的字符串,这可通过 SUBS TR函数来实现,第 2个空应填 SUBSTR(CSTR,2)。二、试题 2(总题数:1,分数:9.00)程序说明 设有 STUDENT. DBF(有字段:学号、姓名、民族)和 SCORE. DBF(有字段:学号、成绩)两个表,若要在它们之间建立逻辑连接,然后为每个少数民族(即汉族以外的民族

14、)考生的成绩增加 5分,最后显示全体考生的学号、姓名和成绩。 程序 SET TALK OFF SELECT 1 USE STUDENT _ TO IDX SELECT 2 USE SCORE SET RELATION TO学号 INTO A REPLACE成绩 WITH _ FOR _ LIST学号,A. 姓名,成绩 SET RELATION TO CLOSE DATA SELECT 1 SET TALK ON(分数:9.00)A.INDEX ON民族B.INDEX ON姓名C.INDEX ON成绩D.INDEX ON学号 解析:解析 因为 STUDENT表和 SCORE表的公共字段是学号,为

15、了建立连接,需为学号建立索引。 第 1空所在语句的功能是给学号建立索引。 建立单项索引文件的格式:INDEX ON索引表达式TO文件名UNIQUECOMPAcTADDITIVEA.成绩+5 B.SCORE.学号C.SCORE.成绩D.成绩解析:A.A民族=“汉”B.A民族“汉” C.A成绩=成绩+5D.A民族“少数民族”解析:解析 题意要求为每个少数民族(即汉族以外的民族)考生的成绩加 5分,所以第 2空应是替换的内容:成绩+5,第 3空是选择记录的条件:A民族“汉”。三、试题 3(总题数:1,分数:12.00)程序说明 程序先输入 10个学生的学号及其成绩,然后按成绩从大到小的顺序进行排序,

16、最后按排序结果输出每个学生的名次、学号及其成绩。 程序 SET TALK OFF DIME N(10),L(10) FOR I=1 TO 10 INPUT “学号“ TO N(I) INPUT “成绩“ TO L(I) NEXT I FOR I=1 TO 9 FOR _ TO 10 IF L(I)L(J) B=L(I) L(I)=L(J) L(J)=B C=N(I) _ _ ENDIF NEXT J NEXT I ? “名次“,“学号“,“成绩“ FOR I=1 TO 10 _ NEXT I SET TALK ON RETURN(分数:12.00)A.J=IB.J=I+1 C.I=J+1D.J

17、=1解析:解析 题中要求成绩从大到小进行排序,应将紧挨的成绩两两比较,即 L(I)与 L(I+1)进行比较,所以第 1空应填 J=I+1。A.N(I)=CB.N(J)=N(I)C.N(I)N(J)D.N(1)=N(J) 解析:A.N=CB.N(I)=CC.N(J)=C D.N(I)=N(J)解析:解析 程序段中的 IFENIDIF是将成绩大与成绩小的交换,并交换相应的学号,交换学号 N(I)和 N(J)是通过中间变量 C来实现的。此交换方式与程序中成绩交换过程一致,所以很容易得出第 2、3 空的选项。A.? I,N(I),L(I) B.? I,N,LC.? I,N(I)D.? I,L(I)解析

18、:解析 数组 N(I)和 L(I)分别用来存放学生的学号和成绩。题意最后要求排序后,输出每个学生的名次、学号及成绩。本程序用 FORNEXT循环来显示出每个学生的名次、学号及成绩,所以第 4空应填?I,N(I),L(I)。四、试题 4(总题数:1,分数:9.00)程序说明 如下图所示的表单,其功能是:在文本框 Text1中输入一个正整数,当按下命令按钮Command1时,判断该正整数是否能同时被 3、5、7 整除。若能被 3、5、7 整除,则标签 Label2显示红色(基本色)汉字,“能同时被 3、5、7 整除”;否则,标签 Label2显示蓝色(基本色)汉字,“不能同时被3、5、7 整除”。

19、 (分数:9.00)A.X%7=0 B.X%70C.X%7!=0D.X$7解析:解析 IF 语句判断条件是输入的一个正整数能否同时被 3、5、7 整除。%表示取模,不等于符号:或#或!=,$是字符串包含。A.RGB(0,0,255)B.RGB(0,255,0)C.RGB(255,0,0) D.RGB(0,0,0)解析:解析 RGB()函数是 Visual FoxPro中的颜色设置函数,语法是:RGB(nRedValue,nGreen Value,nBlue Value),其中,参数 nRedValue的值为设置红色,参数 nGreen Value的值为设置绿色,参数 nBlue Value的值

20、为设置蓝色。参数值的取值范围均在 0255。A.“能同时被 3、5、7,整除“B.“不能同时被 3、5、7 整除“ C.“能同时被 5、7 整除“D.“不能同时被 5、7 整除“解析:解析 由题意可知,若输入的一个整数不能同时被 3、5、7 整除,在标签 Label2中显示蓝色(基本色)汉字,“不能同时被 3、5、7 整除”的提示信息。故本题选 B。五、试题 5(总题数:1,分数:12.00)程序 CLEAR X=0.0 INPuT”请输入 X值:“TO X DO CASE CASE X0 F=2*X-1 CASE X0 AND X3 F=3*X+5 CASE X=3 AND X5 F=X+1

21、 CASE X=5 AND X10 F=5*X-3 CASE X=10 F=7*X+2 ENDCASE ? “F(“,STR(X,4,1),“)=“,STR(F,4,1)(分数:12.00)(1).当 X值为 2时,程序输出结果为_。(分数:3.00)A.F(2.0)=12.0B.F(2.0)=3.0C.F(2.0)=11.0 D.F(2.0)=17.0解析:解析 当输入 X值为 2时,满足 CASE X0 AND X3 分支的条件,执行 F=3*X+5=3*2+5=11。输出格式要求保留一位小数,所以输出 F(2.0)=11.0。(2).当 X值为 8时,程序输出结果为_。(分数:3.00)

22、A.F(8.0)=37.0 B.F(8.0)=58.0C.F(8.0)=9.0D.F(8.0)=15.0解析:解析 当输入 X值为 8时,满足 CASE X=5 AND X10 分支的条件,执行 F=5*x-3=37,所以输出 F(8.0)=37.0。(3).当 X值为 10时,程序输出结果为_。(分数:3.00)A.F(10.0)=19.0B.F(10.0)=11.0C.F(10.0)=47.0D.F(10.0)=72.0 解析:解析 当输入 X值为 10时,满足 CASE X=10 分支的条件,执行 F=7*X+2=72,所以输出 F(10.0)=72.0。(4).当 X值为-1 时,程序

23、输出结果为_。(分数:3.00)A.F(-1.0)=2.0B.F(-1.0)=-3.0 C.F(-1.0)=0.0D.F(-1.0)=-5.0解析:解析 当输入 X值为-1 时,满足 CASE X0 分支的条件,执行 F=2*X-1=-3,所以输出 F(-1.0)=-3.0。六、试题 6(总题数:1,分数:12.00)程序 SET TALK OFF DIMENSION A(6) FOR K=1 TO 6 A(K)=20-3*K ENDFOR K=5 DO WHILE K=1 A(K)=A(K)-A(K+1) K=K-1 ENDDO ? A(1),A(3),A(5),K SET TALK ON(

24、分数:12.00)(1).A(1)的输出结果为_。(分数:3.00)A.17B.10C.9 D.5解析:(2).A(3)的输出结果为_。(分数:3.00)A.6 B.11C.9D.8解析:(3).A(5)的输出结果为_。(分数:3.00)A.9B.7C.5D.3 解析:(4).K的输出结果为_。(分数:3.00)A.0 B.1C.4D.5解析:解析 执行完 FOR循环为 A(1)=17,A(2)=14,A(3)=11,A(4)=8,A(5)=5,A(6)=2。进入 DO WHILE循环,当 K=5时,A(5)=A(5)-A(6)=5-2=3,当 K=4时,A(4)=A(4)-A(5)=8-3=

25、5,当 K=3时,A(3)=A(3)-A(4)=11-5=6,当 K=2时,A(2)=A(2)-A(3)=14-6=8,当 K=1时,A(1)=A(1)-A(2)=17-8=9,按着执行 K=K-1=O,当 K=0时,不满足 DOWHILE循环条件 K=1,所以退出循环,输出 A(1)的值为 9,A(3)的值为 6,A(5)的值为 3,K 的值为 0。七、试题 7(总题数:1,分数:12.00)程序 CLEAR PUBLIC X,Y X=100 Y=200 DO GC1 ? X,Y K=300 DO GC2 ? Y,K SET TALK ON PROC GC1 PRIVATE Y Y=3 DO

26、 GC3 X=X*Y RETURN PROC GC3 Y=2 RETURN PROC GC2 K=K+Y DO GC3 K=K+Y RETURN(分数:12.00)(1).X的输出结果为_。(分数:3.00)A.100B.200 C.300D.502解析:(2).第一次 Y的输出结果为_。(分数:3.00)A.100B.200 C.3D.2解析:解析 X、Y 初值分别是 100、200,执行 DO GC1,调过程 GC1,此时 X=100,Y=3,执行 DO GC3,调用过程 GC3,执行 Y=2,返回 GC1过程,此时 Y已变成 2,所以执行 X=x*Y=100*2=200,返回主程序,输出

27、 X值为 200,又因过程 GC1中 Y是私有变量,其值的变化不影响主程序中的同名变量 Y,所以主程序中第一次输出 Y值为 200。(3).第二次 Y的输出结果为_。(分数:3.00)A.100B.200C.3D.2 解析:(4).K的输出结果为_。(分数:3.00)A.300B.500C.502 D.200解析:解析 K 的初值为 300,执行 DO GC2,调用过程 GC2,执行 K=K+Y=300+200=500,执行 DOGC3,调用过程 GC3,Y=2,返回过程 GC2,执行 K=K+Y=500+2=502,最后返回主程序,第二次输出 Y值为 2,输出K值为 502。八、试题 8(总

28、题数:1,分数:14.00)1.编写程序,已知 Fibonacci数列:1,1,2,3,5,8,它可由下列公式表述:F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2)。求数列中第 20个数是多少? (分数:14.00)_正确答案:()解析:程序代码如下: CLEAR SET TALK OFF DIMENSION FIB(20) FIB(1)=1 FIB(2)=1 FOR I=3 TO 20 FIB(I)=FIB(I-1)+FIB(I-2) ENDFOR ? FIB(20)九、试题 9(总题数:1,分数:14.00)2.设计一个选择查询表单,如下图所示。表单运行时,可以先在右侧的下

29、拉列表框中选择需要打开并查询的表文件(此时,表的字段就会自动显示在左侧的列表框内);然后在列表框中选择需要输出的字段;最后单击“确定”按钮,显示指定表中的记录在指定字段上的内容。 (分数:14.00)_正确答案:()解析:组合框的 InteractiveChange事件代码为: t_table=This. Value SELECT 1 USE &t_tahie ThisForm. List1. RowSource=t_table 命令按钮“确定“的 Click事件代码为: SELECT 1 SET FIELDS TO FOR i=1 TO ThisForm. List1. ListCount IF ThisForm. List1. Selected(i) mf=ThisForm. List1. List(i) SET FIELDS TO &mf ENDIF ENDFOR BROWSE

展开阅读全文
相关资源
猜你喜欢
相关搜索

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

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