VFP上机习题(附答案)_vfp上机习题附答案
VFP上机习题(附答案)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“vfp上机习题附答案”。
VFP习题(红色部分为答案)
由于上机题和之前做的题一样,所以用WORK查找试题的关键字便可以省下手翻资料的时间@@^_^。查找快捷键:ctrl + F
粗鲁提示:不清楚这样算不算作弊行为,所以小心行事
(1)如下不正确的数值型常量是()。[多选题,答案不够或超出时,此题按零分计!](A)π(B)E-6(C)1E-6(D)1/2
(E)30%
ABDE
(2)在Visual FoxPro中,合法的字符串是()。[多选题,答案不够或超出时,此题按零分计!]
(A){ [计算机水平测试] }
(B)[(计算机水平测试)]
(C)“ '计算机水平测试’ '
(D)” '计算机水平测试] “
(E)” “计算机水平测试” “
BD
(3)日期时间型常量又称为T型常量,如下错误的形式是()。[多选题,答案不够或超出时,此题按零分计!](A){2008-03-03,10.45p}
(B){^2008-03-03;10:45p}
正确:{^2002-05-18,10:45p}(C){^2008-03-03,13:45p}
(D){^2008-03-03,13:45a}
(E){^2008-03-03-10:45p}
ABCDE
(4)如下正确的逻辑常量是()。
[多选题,答案不够或超出时,此题按零分计!](A),T,(B).真.(C).F.(D).f.(E).y.(F).n.CDEF
(5)如下选项()是正确的内存变量名。[多选题,答案不够或超出时,此题按零分计!](A)ABCDE
(B)_A A
没有空格(C)不是变量
(D)非变量
(E)A变量
(F)_ASD
ACDEF
(6)如下选项()是正确的赋值命令。[多选题,答案不够或超出时,此题按零分计!]
(A)STOR 2 TO AA,SS
(B)STOR 2,3 TO AA,SS
(C)DD=.F.(D)DD=.真.(E)FF=[广东医]
(F)FF=3+
4ACEF
(7)对于赋值命令:X='',如下与此命令等价的有()。[注意空字符串与一个空格符组成的非空字符串。] [多选题,答案不够或超出时,此题按零分计!](A)STOR [] TO X
(B)STOR ”“ TO X
(C)STOR ' ' TO X
(有空格)
(D)X=[]
(E)STOR ” “ TO X
(有空格)
ABD
(8)常见表达式有四种,如下选项()是错误的。[多选题,答案不够或超出时,此题按零分计!]
(A)关系型
(B)日期型
(C)时间型
(D)字符型
(还有
数值型)
(E)逻辑型
AC
(9)假设执行赋值命令:AA=”□12□“和 BB=”□12□“(注:□表示空格)。如下选项中()不是AA+BB的正确结果。
□12□□12□
直接相连 [多选题,答案不够或超出时,此题按零分计!](A)□24□
(B)□□1212□□
(C)□12□□12□
(D)□□24□□
(E)□12□12□□
ABDE
(10)假设执行赋值命令:AA=”□12□“和 BB=”□12□“(注:□表示空格)。如下()不是AA-BB的正确结果。
□12□12□□
后摆尾 [多选题,答案不够或超出时,此题按零分计!](A)□00□
(B)□□00□□
(C)□1212□□□
(D)□12□12□□
(E)1212□□□□
ABCE
(11)假设在命令窗口输入:X=2
)是错误的。[多选题,答案不够或超出时,此题按零分计
将2《3赋入X(A)是一个错误的命令。
(B)X取值一定等于2且小于3。
(C)X取值在[2,3)区间。
(D)X取值要小于3,现取值是2。
(E)X取值是2,所以小于3。
ABCDE
第二周(1)若 X=56.789,表达式:STR(X,2)-SUBS(”56.789“,5,1)的结果与如下的选项()不相等。(注:可选项中有定界符的表示字符型常量,定界符不是常量的一部分!)[多选题,答案不够或超出时,此题按零分计!](A)568
STR(X,2)57
(B)578
SUBS(”56.789“,5,1)
(C)”568“
STR(X,2)-SUBS(”56.789“,5,1)
“578”
(D)”578“
(E)49
ABCE
(2)如下选项中,输出的结果是123.00的选项有()。[多选题,答案不够或超出时,此题按零分计!](A)?VAL(”123.008“)
(B)?VAL(”123 45.678“)
VAL默认保留2位小数
(C)?VAL(”123A45.678“)
(D)?VAL(”123天45.678“)
(E)?VAL(”123.D678“)
BCDE
(3)对于表达式mod(16,5)+MOD(-16,-5), 如下选项()是错误的结论。[多选题,答案不够或超出时,此题按零分计!](A)结果是mod(16,5)的两倍。
(B)结果是MOD(-16,-5)的两倍。
(C)结果是零。
(D)结果是壹。
(E)结果是贰。
ABDE
(4)设已执行下列赋值命令:A='',BB=”A“,CC='BB',DD=[ ](注:这里是指顺序执行四个赋值命令!每命令后面要按回车!)。()选项的结果是相同的。[多选题,答案不够或超出时,此题按零分计!]
(A)LEN(DD-BB-CC+A)
(B)LEN(A+BB+CC)
(C)LEN(DD-CC-A)
(D)LEN(A+CC+A)
(E)LEN(A-DD+A)
BC
(5)VFP的命令格式:[范围][条件表达式][FIELDS]。如下正确表示范围的是()。
[多选题,答案不够或超出时,此题按零分计!]
(A)LIKE
记!
(B)NEXT
(C)EXCEPT
(D)RECORD
(E)ALL
BDE
(7)建自由表KT.DBF,表中的字段名、类型、长度、小数位要求依次如下:学号(C,5);姓名(C,8);备注(M),字段顺序不按要求无分,建好表结构后,在表中录入如下两条记录。(注:备注字段中的内容不要输入任何分隔符)01001
江边月
优秀团员 01002
林中虎
优秀班干部
[操作题,你应该先用SET DEFA TO D:KS 指定一个默认的存取文件夹,再作其它操作!]
(8)有数据表BCD.DBF,现要求从该表的姓名与备注两字段之间插入一新字段:性别(C,4)。然后在原数据的基础上补充输入数据如下(注:备注字段中输入的内容不要输入任何分隔符):
01001
江边月
女人
羽毛球高手 01002
林中虎
男人
电脑游戏高手
[操作题,你应该先用SET DEFA TO D:KS 指定一个默认的存取文件夹,再作其它操作!]
第三周(1)数据库、数据库系统、数据库管理这三者之间的关系是()[单选题,答案超出时,此题按零分计!](A)数据库系统包含数据库和数据管理系统
(B)数据库管理系统包含数据库和数据库系统
(C)数据库包含数据库系统和数据库管理系统
(D)数据库系统就是数据库,也就是数据库管理系统
A
(2)规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足其每一属性都是()[单选题,答案超出时,此题按零分计!]
(A)互不相关的(B)不可分解的(C)长度可变的(D)互相关联的B
(3)在关系型数据库管理系统中,所谓关系是指()[单选题,答案超出时,此题按零分计!](A)各条数据记录之间存在着一定的关系
(B)各个字段数据之间存在着一定的关系
(C)一数据库与另一数据库之间存在着一定的关系
(D)满足一定条件的一个二维数据表格
D
(4)一个关系型数据库管理系统所应具备的3种基本关系操作是()[单选题,答案超出时,此题按零分计!](A)选择、投影与连接
(B)编辑、浏览与替换
记!(C)插入、删除与修改
(D)排序、索引与查询
A
(5)建自由表KT.DBF,表中的字段名、类型、长度、小数位要求依次如下:学号(C,5);姓名(C,8);出生日期(D);学费(N,9,2);自费(L);奖惩(M),字段顺序不按要求无分,建好表结构后,在表中录入如下两条记录: 0161
陈一天
1988.03.05
12345.67
.T.0389
黄有月
1987.11.08
5432.10
.F.[操作题,你应该先用SET DEFA TO D:KS 指定一个默认的存取文件夹,再作其它操作!]
(6)假设某数据表中有字段:性别(L),要显示性别是真值的记录可采用如下选项()。[在目录D:KS下有一个数据表文件 ”SYSLX1.DBF“,你可以打开该表作验证!] [多选题,答案不够或超出时,此题按零分计!](A)LIST FOR 性别=”真“
(B)LIST FOR 性别
(C)LIST FOR 性别=”T“
(D)LIST FOR 性别=.T.(E)LIST FOR 性别=T
BD
(7)设一有记录的数据表,打开后分别执行如下选项,()在执行后使?eof()为真。[在目录D:KS下有一个数据表文件 ”SYSLX1.DBF“,你可以打开该表作验证!] [多选题,答案不够或超出时,此题按零分计!](A)先执行GO TOP,然后执行LIST。
(B)先执行GO TOP,然后执行DISP。
List=disp all(C)先执行GO TOP,然后执行DISP ALL。
(D)先GO BOTT,再SKIP。
(E)GO BOTT
ACD
(8)设有一个仅有表结构而无任何记录的空表,刚打开此表时,正确的选项有如下()。[在D:KS文件夹中有文件 ”空表.dbf“ ,你可以打开该表文件进行验证!] [多选题,答案不够或超出时,此题按零分计!](A)?recn()的结果是1。
!
(B)?eof()的结果是真值。
(C)?bof()的结果是真值。
(D)?recc()的结果是1。[注意:不是RECN()]
(E)?eof()的结果是假值。
ABC
(9)设一有记录的数据表,打开后分别执行如下选项,()在执行后使?BOF()为真。[在目录D:KS下有一个数据表文件 ”SYSLX1.DBF“,你可以打开该表作验证!] [多选题,答案不够或超出时,此题按零分计!]
(A)执行GO TOP 即可。
(B)先执行GO TOP,然后执行 SKIP-1。
(C)先执行GO TOP,然后执行 SKIP。
(D)无需任何操作,有数据的表刚打开时BOF()总是真。
(E)先执行GO 1,然后执行 SKIP-1。
BE
(10)有表ZGDA.DBF,现要求从该表产生新表,表名为:ADGZ.DBF(建议用COPY命令)。新表的数据要求如下:从ZGDA.DBF中选出字段依次为:编号、姓名、职称、基本工资,而且职称符合”高工“条件的数据。
提示1:先按题目提示设好当前存取文件的路径。题目指定的新文件名不得改变。
参考: COPY TO FOR FILE [FIEL 不要写成 FILE!] [操作题,你应该先用SET DEFA TO D:KS 指定一个默认的存取文件夹,再作其它操作!] P60,例4-3
第四周(1)设一有记录的数据表,打开后分别执行如下选项,()在执行后使?eof()为假。[在目录D:KS下有一个数据表文件 ”SYSLX1.DBF“,你可以打开该表作验证!] [多选题,答案不够或超出时,此题按零分计!]
(A)先执行GO TOP,然后执行LIST。
(B)先执行GO TOP,然后执行DISP。
(C)先执行GO TOP,然后执行DISP ALL。
(D)先GO BOTT,再SKIP。
(E)GO BOTT
BE
(2)在数据表已打开的前提下,要显示表中的记录可用以下()选项。[多选题,答案不够或超出时,此题按零分计!](A)LIST ALL RECODE
(B)LIST STRU
(C)DISP ALL
(D)LIST
(E)DISP ALL RECODE
CD
(3)假设某数据表中有字段:性别(L),要逻辑删除性别是假值的记录可采用如下选项()。[在目录D:KS下有一个数据表文件 ”SYSLX1.DBF“,你可以打开该表作验证!为保证验证的正确性,执行每选项前必须先执行命令RECALL ALL]
[多选题,答案不够或超出时,此题按零分计!](A)DELETE FOR 性别=”假“
(B)DELETE FOR.NOT.性别
(C)DELETE FOR 性别=.F.(D)DELETE FOR 性别=”F“
(E)DELETE FOR 性别=”.F.“
BC
(4)对数据表的记录作物理删除时,要独占打开数据表。现设数据表已独占打开,如下选项()可以实现物理删除所有记录。
[多选题,答案不够或超出时,此题按零分计!](A)DELETE ALL
(B)ZAP
(C)先DELE ALL,再PACK。
(D)先DELE,再PACK。
(E)ZAP ALL
BC
(5)有数据表ZGDA.DBF,现要求修改”实发工资“,职称是高工的按”基本工资“1.52倍再加80填入,其它人员按”基本工资“1.11倍再加50填入。注意:任一记录有错则为全错!
[操作题,你应该先用SET DEFA TO D:KS 指定一个默认的存取文件夹,再作其它操作!] 答案:P67,例4-10(6)有数据表GZB.DBF,现要求所有记录的“实发工资”字段按“基本工资”与“补发工资”之和填入。
提示:操作时要注意数据的类型是否一致!不一致时要使用类型转换函数,切勿通过修改数据表结构的途径来操作此题!
[操作题,你应该先用SET DEFA TO D:KS 指定一个默认的存取文件夹,再作其它操作!] 答案:P67,例4-16
(7)在路径D:KS中有数据表,其表名为:SYSLX3.DBF,请打开该表按姓名作升序的物理排序,排序的结果保存在XMPX.DBF中。[参考讲义P68的例4-18] 注意:先打开SYSLX3.DBF(不要对其作任何修改),再作排序操作。排序结果保存在指定的文件名中,文件有错则无法交卷!
[操作题,你应该先用SET DEFA TO D:KS 指定一个默认的存取文件夹,再作其它操作!]
(8)在路径D:KS中有数据表,其表名为:SYSLX3.DBF,请打开该表先按职称(升序)再按基本工资(降序)作物理排序,排序的结果保存在XBGZPX.DBF中。[参考讲义P68的例4-19] 注意:先打开SYSLX3.DBF(不要对其作任何修改),再作排序操作。排序结果保存在指定的文件名中,文件有错则无法交卷!
[操作题,你应该先用SET DEFA TO D:KS 指定一个默认的存取文件夹,再作其它操作!]
第六周(1)建立索引是对数据进行组织的一种方法;是提高处理数据速度有效手段的;是数据表之间建立联系的前提。如下选项()对索引的表述是正确的。[多选题,答案不够或超出时,此题按零分计!]
(A)索引分类有:按索引文件和按索引项两类。
(B)没有记录,只有表结构也能对该表建索引。
(C)结构复合索引文件的主名与表的主名相同。
(D)结构复合索引文件伴随表的打开关闭而打开关闭。
(E)建立结构复合索引的命令中有降序的选项。
ABCDE
(2)INDEX ON TAG 是建索引的命令格式,设某表有字段:编号(C,6)、出生日期(D)、工资(N,9,2),如下选项()的索引建立命令是正确的。[在D:KS中有名为:SYSLX4.DBF的文件,你打开它作验证!] [多选题,答案不够或超出时,此题按零分计!](A)INDE ON 编号,出生日期 TAG BH,CSRQ
(B)INDE ON 编号+DTOC(出生日期)TAG 编号
(C)INDE ON 编号 TAG 编号A
(D)INDE ON 工资 TAG 出生日期
(E)INDE ON 出生日期+工资 TAG CSRQGZ
(F)INDE ON 编号+[10] TAG D编号
BCDEF
(3)对ZGDA.DBF表中的”基本工资“字段建立结构化复合索引(索引类型是普通索引),索引标识规定为XXX(其中,XXX代表考生的姓名)。
注意:只准存在一个索引标识,多者为错(有多应删除)!注意:输入索引标识时,中间不要有任何分隔符!
[操作题,你应该先用SET DEFA TO D:KS 指定一个默认的存取文件夹,再作其它操作!] P73,例4-22
(4)关于查询定位的命令有三个:LOCA FOR ;FIND;SEEK。如下对这三个命令的表述中,选项()是正确的。
[多选题,答案不够或超出时,此题按零分计!]
(A)LOCA FOR 命令对已建索引或无索引的表均可使用。
(B)FIND与SEEK须建好索引且已指定主控索引才能用。
(C)continue 只在执行LOCA FOR 后才是正确命令。
(D)SEEK [3]与 SEEK 3 对应的索引字段类型不同。
(E)SEEK,表达式涉及到变量时,须先赋值。
ABCDE
(5)设某数据表有字段: 姓名(C,8),用INDE ON 姓名 TAG XM 建立结构复合索引并用SET ORDER TO XM 指定主控索引,则如下选项()是正确的查询定位操作。[多选题,答案不够或超出时,此题按零分计!](A)FIND [张]
(B)SEEK [张]
(C)先执行XX=[张] 再执行FIND XX
(D)先执行XX=[张] 再执行SEEK XX
(E)LOCA FOR 姓名=[张]
ABDE
(6)用LOCA FOR定位的速度不如FIN或SEEK,但其有一些特点而常被用到。设某表有字段:姓名(C,8),对此字段已建结构复合索引,现需查找姓名中第二个是”小“字的记录,如下选
项()正确的。
建议:在D:KS中有名为SYSLX4.DBF的文件,打开该文件并对”姓名“建结构化复合索引后,对可选项作验证!] [多选题,答案不够或超出时,此题按零分计!](A)FIND [小]
B)SEEK [小]
(C)LOCA FOR AT([小],姓名)=3
(D)LOCA FOR SUBST(姓名,3,2)=[小]
(E)SEEK SUBST(姓名,3,2)=[小]
(F)FIND SUBST(姓名,3,2)=[小]
CD
第七周(1)关于统计命令SUM、AVERAGE和CALCULATE,如下选项()是正确的。
[概念类题目,在讲义中查找相关内容!] [多选题,答案不够或超出时,此题按零分计!](A)它们默认的范围是ALL。
(B)都可以有条件表达式。
(C)SUN()与AVG()函数能用于这组命令。
(D)这组命令正确的最短形式是只有命令动词。
(E)它们操作的数据类型是数值型的。
ABE
(2)关于统计命令SUM、AVERAGE、CALCULATE和TOTAL,如下选项()是正确的。
[概念类题目,在讲义中查找相关内容!] [多选题,答案不够或超出时,此题按零分计!](A)SUM与TOTAL后面跟有TO短语时,两者的短语的含义相同。(B)SUM TO BL1,BL2 如果正确,则操作的表只有2个N型字段。(C)执行TOTAL前,表记录必须是已索引或排序的。
(D)若CALCU SUM(JBGZ)正确,则SUM SUM(JBGZ)也正确。
(E)所有的统计命令都要求对数据表先作索引或排序。
BC
(3)对ZGDA.DBF按职称汇总“临时工资”之和,要求结果保存为HZ.DBF的数据表中。[操作题,你应该先用SET DEFA TO D:KS 指定一个默认的存取文件夹,再作其它操作!] P82,例4-32(4)对ZGDA.DBF按性别汇总“基本工资”之和,要求结果保存为XBHZ.DBF [操作题,你应该先用SET DEFA TO D:KS 指定一个默认的存取文件夹,再作其它操作!]
(5)工作区的选择命令格式是:SELE。如下选项()总是正确的。
[概念类题目,在讲义中查找相关内容!] [多选题,答案不够或超出时,此题按零分计!]
(A)SELE 0
[注:0是数字零]
(B)SELE P
(C)SELE 32767
(D)SELE ZGDA
(E)SELE A
ACE
(6)假设现在A、B、D工作区已分别打开了数据表AA.DBF、BB.DBF、DD.DBF,当前在A工作区,欲在C区打开CC.DBF,如下选项()是正确的操作。
[概念类题目,在讲义中查找相关内容!] [多选题,答案不够或超出时,此题按零分计!](A)先执行命令SELE 0,然后再执行命令USE CC。
(B)先执行命令SELE 3,然后再执行命令USE CC。
(C)先执行命令SELE C,然后再执行命令USE CC。
(D)先执行命令SELE CC,然后再执行命令USE CC。
(E)先执行命令SELE A+2,然后再执行命令USE CC。
ABC
(7)首先在A区打开了表DEMO1,再顺序执行如下命令序列后,选项()是正确的。[在D:ks文件夹中有DEMO1.dbf,DEMO2.dbf,DEMO3.dbf三个表文件,若要作验证,先在A区打开DEMO1数据表!然后在命令窗口执行下列命令序列!] SELE B USE DEMO2 SET RELA TO RECN()INTO A SELE C USE DEMO3 SET RELA TO RECN()INTO B SELE B GO 8 ?RECN(),RECN(1),RECN(3)[单选题,答案超出时,此题按零分计!](A)1
(B)8
(C)8
(D)8
(E)8
C
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` 第九周题目
(1)[K6010]请建立以”天地人.DBC“命名的数据库,并在库中加入数据表STUDENT.DBF和BORROW.DBF,一表建立主索引,一表建立普通索引后,再建立两表之间的1对多的永久联系。
操作过程要求:两数据表均对学号建立索引,两者的索引名均规定为XH。
(2)[K6020]在”天地人.DBC“数据库中以STUDENT.DBF和BORROW.DBF为内部联结建立视图,视图名以你的姓名命名。视图字段规定依次从STUDENT表中选:学号、姓名、班级,最后从BORROW表中选:书号。(注:字段名以及字段顺序要按题目规定)
(3)[Q3034]有表ZGDA.DBF,要建一个查询文件,文件名指定为XSCX.QPR。要求:从
ZGDA.DBF选取依次是”编号“、”姓名“、”基本工资“三个字段,筛选条件是性别为男的记录。(注意:字段顺序不按指定的次序为错!)
(4)[Q3004]有数据表XSMB.DBF、XSCJB.DBF,现要建立一个查询,两表按学号进行内部联结。要求:依次从XSMB.DBF中选取“学号”、“姓名”两个字段,在XSCJB.DBF中选取“哲学”、“数学”两字段。
注意:字段顺序错无分,查询保存时必须用“XSCX.QPR”为文件名!
(5)[X3019]将XSMB.DBF、XSCJB.DBF两表按学号进行内部联结后建立一个查询,要求从XSMB.DBF中选”学号“、”姓名“、”性别“三个字段,在XSCJB.DBF中选”计算机“字段并按性别分组,筛选条件:计算机成绩>70的记录。注意:保存查询设置,文件名为JSJCX.QPR。注意:输出结果保存在ABC.DBF中。
第十周练习
(1)[SQL12]利用SQL查询Student.DBF中籍贯 不是北京 的 女学生 的数据,要求查询结果的字段依次为:姓名、年龄、出生日期与籍贯(字段顺序错者按零分计),请将正确的SQL命令输入到答案框中[本题是讲义P128的例6-16]。答案:select 姓名,年龄,出生日期,籍贯 from student
Where 性别=“女” and 籍贯!=“北京”
(2)(2)[SQL14]利用SQL查询Student.DBF中年龄为19和20的数据,查询结果的字段是原表中的所有字段并按 出生日期 排序。将正确的SQL命令输入到答案框中[本题是讲义P129的例6-21,请在本例傍写上:“表示数值闭区间的方法”]。答案:select * from student;
Where 年龄 between 19 and 20
Order by 出生日期
(3)[SQL10]利用SQL查询Student.DBF中北京籍贯和四川籍贯的学生数据,要求查询结果的字段依次为:姓名、年龄、出生日期与籍贯(字段顺序错者按零分计),请将正确的SQL命令输入到答案框中[参考讲义P128例6-16]。答案:sele 姓名,年龄,出生日期,籍贯 from student;where 籍贯 in(”北京“,”四川“)(4)[SQL18]利用SQL查询Student.DBF中姓名中第二字是”小“的数据,要求查询结果的字段依次为:姓名、年龄与班级(字段顺序错者按零分计),请将正确的SQL命令输入到答案框中[参考讲义P129例6-22]。
答案:sele 姓名,年龄,班级 from student where 姓名 like ”_小%“(5)[SQL20]依据student.dbf与borrow.dbf的数据,查询 未 借“大学英语”的 女学生 的数据依次为:学号,姓名,班级,书名与借书日期,并按 姓名 作排序。[参考讲义P130例6-24与P131例6-26] 答案:sele * from student where 性别=”女“ and;学号 not in(sele 学号 from borrow);order by 班级
(6)[SQL22]利用Student.DBF与borrow.dbf,列出 未曾 借过书的 女生 记录(字段是STUDENT表的所有字段),要求结果按 班级 排序。[本题参考讲义P130的例6-25]。答案:sele 班级,count(*)as 人数 from student where 性别=”女“;
group by 班级
(7)[SQL24]利用Student.DBF,使用SQL按 班级 统计各班的女生人数(字段顺序:班级,人数)。[本题参考讲义P135的例6-35]。答案:sele 籍贯,count(*)as 人数 from student;group by 籍贯
having count(*)
第十一周题目(文件)
1、从键盘输入一个职工的姓名,在ZGDA.DBF中查找,如果找到则显示该职工的编号,如果没找到,则显示“查无此人!”。请打开D盘KS文件夹下LX2.PRG,根据上面的要求,把程序补充完整(原程序文件中所有符号不许删除)。
2.在D盘KS文件夹中有文件LXGET.PRG。用MODI COMM LXGET打开该文件,并补充完成使之成为能接收日期型数据的正确程序。第十二周题目(文件)(1)在D:KS文件夹中有程序文件LX4.PRG与数据表文件CJ.DBF。欲运行LX4.PRG统计CJ.DBF中各分数段的人数,并将统计的结果输出显示。请对LX4.PRG补充恰当命令实现所要求的功能。答案: USE CJ STORE 0 TO A1,A2,A3,A4 do while!eof()
&&填充1
DO CASE
CASE
计算机>=85 &&填充2
A1= A1+1
&&填充3
CASE
75
A2= A2+1 &&填充5
CASE
60
A3= A3+1 &&填充7
OTHERWISE
A4= A4+1 &&填充8
ENDCASE
skip
&&填充9 ENDDO @1,1 SAY ”计算机>=85分的人数为:“+STR(A1,2)@2,1 SAY ”75
RETU
(2)按要求从下面文本框中给出的语句选出必须且无多余的语句以及顺序,完成一个将1到100以内的奇数累加,并且将和数输出的正确程序。
[组合选择题,要按顺序输入所选的答案!连同RETU在内,答案个数有8个,最后一个选RETU!](A)RETU
(B)DO WHILE N
(C)N=N+2(D)S=S+N
(E)ENDDO
(F)DO WHILE S
(H)FOR Q=1 TO 100
(I)NEXT Q(J)?S
(K)N=1
(L)?N
(M)STORE 0 TO N,S 答案:MKBDCEJA STORE 0 TO N,S N=1 DO WHILE N
(3)[CX204]利用循环结构,在屏幕输出20个“*”,在D:KS中有LX3.PRG,请补充适当的命令,使其能实现上面要求的功能。答案:
for i=1 to 20 @1,i SAY “*”
endfor
(4)[06017]用下面的语句中选出恰当的语句,安排恰当的顺序,得到求 1+2+3+...+100 的累计值的程序。
[组合选择题,要按顺序输入所选的答案!连同RETU在内,答案个数有7个,最后一个选RETU!](A)RETU
(B)S=0
(C)N=1
(D)DO WHILE N
(F)N=N+1
(G)DO WHILE N
(I)FOR I=1 TO 100 答案:BCGEFHA S=0 N=1 DO WHILE N
(5)[CX210]在D:KS中有LX5.PRG,请在如下选项中选出正确的命令并确定顺序,按选项与顺序填入LX5.PRG中使成为正确的循环结构,实现可反复执行:输入一个某个职工的姓名,找到以后显示其编号,如果没找到则显示“查无此人!”。
提示:将可选项填入LX5.PRG,然后运行LX5.PRG来检查你的选项与顺序的正确性,确认无误后将选项对应的字母与顺序输入答案框。
[组合选择题,要按顺序输入所选的答案!连同RETU在内,答案个数有5个,最后一个选RETU!](A)AB=“Y”
(B)DO WHILE AB=“Y”
(C)@4,1 SAY “继续?” GET AB(D)READ
(E)ENDDO
(F)DO WHILE.T.(G)@4,1 SAY “继续?” GET Y
(E)DO WHILE!EOF()(F)@4,1 SAY “继续?” GET X
(G)ACCEP “继续?” GET AB 答案:ABCDE 第十三周练习题(文件)(1)[CX182]输入一个数X,求其阶乘X!并输出其结果。请打开LX6.PRG,根据题目要求,把题目补充完整。答案: CLEA X=0 S=1 @1,1 SAY “请输入X=” GET X range 0,100 READ FOR I=1 TO X S=S*I ENDFOR @2,1 SAY “X!=”+ALLT(STR(S))retu(2)[06115]从下面文本框中给出的语句中选出恰当语句并确定语句顺序,完成一个(1/1)+(1/2)+(1/3)+(1/4)+„„+(1/100)并输出结果的正确程序。(你应在VFP中建立一个程序文件作验证后再作选择!)[组合选择题,要按顺序输入所选的答案!连同RETU在内,答案个数有7个,最后一个选RETU!](A)RETU
(B)N=N+S
(C)stor 0 to n,s(D)do while s
(E)do while N
(F)s=s+1(G)n=n+(1/s)
(H)n=n+[1/s]
(I)enddo(J)?n
(K)N=N+1
(L)?S 答案: stor 0 to n,s do while s
LX7.PRG,根据题目要求,把题目补充完整。答案: clea for i=0 to 4
for j=0 to 9
@i,j say “*”
next next return
(4)[06309]用SCAN循环编写一个统计“学生表”中的女生人数,并将结果输出的程序,假设数据表“学生表.DBF”已打开,其中性别字段是逻辑型,女生对应的相应值是.F.。请在下面文本框中选出恰当的命令并确定这些命令的顺序。
[组合选择题,要按顺序输入所选的答案!连同RETU在内,答案个数有6个,最后一个选RETU!](A)RETU
(B)stor 0 to 女生,男生
(C)女生=1(D)SCAN FOR!性别
(E)SCAN FOR 性别=[.F.]
(F)SCAN(G)女生=女生+1
(H)ENDSCAN
(I)IF 性别=[F](J)?[女生],女生
(K)ENDIF
(L)?[女生]+女生 答案:use 学生表 BDGHLA(5)[06022]数据表“学生表.DBF”中“性别”字段是逻辑型,男生对应逻辑真值。欲建立程序分别统计男生、女生的人数,假设数据表“学生表.DBF”已打开,请在下面文本框中选出恰当的命令并确定它们的顺序。
[组合选择题,要按顺序输入所选的答案!连同RETU在内,答案个数有10个,最后一个选RETU!](A)RETU
(B)IF!性别
(C)STOR 0 TO 男生,女生(D)SCAN
(E)IF!(性别='男')
(F)男生=男生+1(G)ELSE
(H)女生=女生+1
(I)ENDIF(J)IF 性别=“.T.”
(K)?“男生=”,男生,“女生=”,女生
(L)IF 性别=“男”
(M)ENDSCAN
(N)SCAN FOR 性别 答案:CDBHGFIMKA STOR 0 TO 男生,女生 SCAN IF!性别
女生=女生+1 ELSE 男生=男生+1 ENDIF ENDSCAN ?“男生=”,男生,“女生=”,女生 RETU 第十四周练习题(文件)
(1)[MK010]对于模块调用内容,以下选项(ABCD)是正确的表达。(A)子程序调用,主、子程序必是两个文件。
(B)过程文件是若干个过程形成的文件。(C)主程序与过程可在两个不同的文件中。(D)调用子程序或过程均可带参调用。(E)主程序与过程必在同一文件中。(F)过程文件即是过程。
(G)主程序与过程必在两个不同的文件中。(H)子程序文件可由多个子程序组成。
(2)[MK012]假设主程序AAA.PRG要调用过程文件BBB.PRG中的过程CCC,如果AAA.PRG中按如下选项(ABCDEF)是错误的。(A)只需写DO BBB(B)只需写DO CCC(C)先写DO CCC,其下一行SET PROCE BBB。(D)先写DO BBB,其下一行SET PROCE BBB。(E)先写SET PROCE BBB,其下一行DO BBB(F)先写SET PROCE CCC,其下一行DO CCC(G)先写SET PROCE BBB,其下一行DO CCC
(3)[MK100]某公司的工资计算方法如下:(1)每工时按84元计算;(2)工时数超过120(不包括120)小时者,超过部分加发15%;(3)工时数低于60(不包括60)小时者,扣发700元。另:某人写了一段查询工时对应工资的程序(程序名MK100.PRG),其中欠计算工资的程序,请你写出一段计算工资的子程序供其调用,子程序名规定为GSGZ.PRG。PROCE GSGZ if gs>120
gz=gs*84+(gs-120)*84*0.15 else
if gs
gz=gs*84-700
else
gz=gs*84
endif endif @14,20 say “工时数:”+ALLT(STR(GS))+“,相应的工资是:¥”+allt(str(gz,12,2))+[元] font “songti”,16 RETU(4)[06026]设有程序文件ABC.PRG[过程JC在此文件中],其中用赋值命令对变量AA与DD分别赋值为数值0和6,现在ABC.PRG中用过程调用 DO JC WITH AA,DD 实现阶乘并输出结果,请在如下语句中选择正确的语句并确定它们的正确顺序。
注:建议自行编写一个文件:ABC.PRG,该文件只需顺序写上三行:AA=0;DD=6;DO JC WITH AA,DD 以及在其后写上过程JC所需的语句,然后在命令窗口中执行DO ABC进行检验。CDFHIJKA(A)RETU
(B)FUNCTION JC
(C)PROCEDURE JC(D)PARA N,S
(E)PARA S,N
(F)S=1(G)FOR I=1 TO N
(H)FOR KK=1 TO N
(I)S=KK*S
(J)NEXT
(K)?[X!=],S clear AA=0 DD=6 DO JC WITH AA,DD ?[X!=],AA ********子程序************* PROCEDURE JC PARA S,N S=1 FOR KK=1 TO N S=KK*S Endfor/ NEXT endproc RETU
(5)[06028]假设园柱的半径Y=3,高X=7,Z=100,用子程序调用方式求圆柱的体积。上级模块用DO RHV WITH Z,Y,X调用后,用?[体积=]+str(z)输出体积,子程序RHV.PRG从如下语句中选择并确定它们的正确顺序。注:写好子程序RHV.PRG后,在命令窗口顺序执行四条命令:Y=3,X=7,Z=100,DO RHV WITH Z,Y,Z 进行验证。
(A)RETU
(B)PARA C,B,A
(C)para a,b,c(D)PARA R,H,V
(E)S=3.14159*R*R
(F)m=3.14159*b**2(G)A=M*B
(H)a=m*c
(I)V=M*C(J)S=3.14159*R**2
(K)C=S*H Y=3 X=7 Z=100 DO RHV WITH Z,Y,X ?[体积=]+str(z)Retu ************** para a,b,c m=3.14159*b**2 a=m*c RETU
(6)[MK102]利用过程调用,输出一个5(行)*10(列)的矩形,要求用“*”输出。请打开D:LX7B.PRG,根据题目要求,把题目补充完整。主程序************* clea for i=0 to 4
do XSXX with i
next i
retu
********过程xsxx.prg************ PROCE XSXX &&&显示星星 para i for j=0 to 9
@i,j say “*” next j endproc(7)[06030]用子程序调用来实现“输入一个1~9的阿拉伯数字,输出对应的中文”的功能,假设X=3,T=100,上级模块用 DO ZH WITH X,T后,用 ?T 输出中文“叁”,子程序ZH.PRG从如下语句中选择请确定选项与正确顺序。注:写好子程序ZH.PRG后,在命令窗口顺序执行叁条命令:X=2(或其它的阿拉伯数字),T=100,DO ZH WITH X,Y 进行验证。确认正确后再将对应的选项填入答案框再交卷。[组合选择题,要按顺序输入所选的答案!连同RETU在内,答案个数有4个,最后一个选RETU!](A)RETU(B)PARAMETERS X(C)PARAMETERS X,Y(D)PARAMETERS Y,X(E)QQ=“壹贰叁肆伍陆柒捌玖”(F)Y=str(QQ,X*2-1,2)(G)Y=substr(QQ,X*2-1,2)(H)Y=ALLT(QQ,X*2-1,2)(I)Y=substr(QQ,X*2+1,2)(J)Y=str(QQ,X*2+1,2)(K)Y=ALLT(QQ,X*2+1,2)(L)QQ=“玖捌柒陆伍肆叁贰壹” clear X=3 &&如果为0-9的数字则:input “请输入0-9的数字:” to x T=100 DO ZH WITH X,T ?T retu ************ PARAMETERS X,Y QQ=“壹贰叁肆伍陆柒捌玖” Y=substr(QQ,X*2-1,2)RETU 第十五周(1)[MK400]关于全局变量相关的概念,以下选项(ABDF)是正确的表述。
(A)公共变量可用PUBLI 来定义。(B)在命令窗口用赋值命令定义的变量是全局变
量。
(C)在命令窗口打开某表,则该表中各字段名是全局变量。(D)用PUBLI 定义的变量初值是.F.。(E)全局变量应先赋值然后定义。
(F)不管在哪级模块,均可定义全局变量。
(G)在程序模块中用赋值命令定义的变量是全局变量。
(2)[MK405]关于私有变量与局部变量,以下选项(ABCD)是正确的表述。(A)它们定义的变量在本级模块都能使用。
(B)LOCAL 格式中,LOCAL不能缩写。(C)它们定义的变量的初值默认为.F.。
(D)PRIV 定义的变量在本模块及下级模块可用(E)LOCAL 定义的变量在本模块及下级模块可用(F)私有变量、局部变量都应先赋值然后定义。
(3)[MK410]用DIME SZ(4,8)定义了一个二维数组,以下与数组元素SZ(3,6)所指的是同一元素的选项是(E)。
(A)SZ(6,3)
(B)SZ(9)
(C)SZ(18)(D)SZ(23)
(E)SZ(22)
(F)SZ(21)
(4)[MK200]有程序:SZZH.PRG,其功能是将一位数的阿拉伯数字(0至九)转换为相应的汉字数字(零一二三四五六七八九)[注意汉字数字的写法!],但该程序欠缺一段转换函数,请按要求写出正确的转换函数(不是子程序,也不是过程)!DO WHILE.T.CLEA BL1=0 @10,20 SAY '请输入数字(按ESC键退出):' GET BL1 RANGE 0,9 READ IF READ()=12.OR.READ()=268 EXIT ENDIF @14,20 SAY “阿拉伯数字:”+STR(BL1,1)+[ 转换为汉字为:]+ZHHS(BL1)&&&&函数名为 ZHHS ,带一个参数
WAIT '按回车键后返回重新输入!' WIND AT 24,50 ENDDO retu *****以上所给的命令行不得删除,不得作如何改动。***************函数程序***** FUNCTION zhhs
para k z1=“零一二三四五六七八九” k=k*2+1 z2=substr(z1,k,2)return z2 endfunc
(5)[06024]上级模块用函数调用方式 ?ZFCDP(“ABCDEF”,SPACE(0))进行调用,在显示器上见到“FEDCBA”。如下是函数ZFCDP 要用的语句和不正确的语句的混合,请选择正确的语句并确定它们的正确顺序。
EBCFKGA(A)RETU ZFB
(B)PARA ZFA,ZFB
(C)ZFACD=LEN(ZFA)(D)ZFB=ZFB-SUBST(ZFA,I,1)
(E)FUNCTION ZFCDP(F)FOR T=ZFACD TO 1 STEP-1
(G)ENDFOR(H)**?ZFB
(I)I=I+1
(J)PROCE ZFCDP(K)ZFB=ZFB+SUBST(ZFA,T,1)
(L)FOR I=ZF1CD TO 1 STEP 1(M)FOR T=1 TO ZF1CD
(N)ZFB=SUBST(ZFA,T,1)+ZFB
(6)[06016]设已由DIME SZ(20)定义了一个一维数组,数组各元素已分别赋不同的数值,要求从下述语句中选出恰当的语句并确定恰当顺序,实现SZ(1)至SZ(20)中的数值是递增。BCDFGHJKLA(A)RETU
(B)FOR TT=1 TO 19
(C)FOR AA=TT+1 TO 20(D)IF SZ(TT)>SZ(AA)
(E)IF SZ(AA)>SZ(TT)
(F)SS=SZ(TT)(G)SZ(TT)=SZ(AA)
(H)SZ(AA)=SS
(I)SZ(AA)=SZ(TT)(J)ENDIF
(K)NEXT AA
(L)NEXT TT
(M)SS=SZ(AA)
第十六周练习题(文件)(1)[OP100]关于VFP类的说法,以下选项()是不正确的。(A)类具有继承性和封装性
(B)用户必须给基类定义属性,否则出错。(C)子类一定具有父类的全部属性。
(D)用户可以按照已有的类派生出多个子类。
(2)[OP105]类是一组具有相同属性的相同操作的对象的集合,类之间共享属性的操作的机制称为()。
(A)多态性
(B)动态绑定
(C)表态绑定
(D)继承(3)[OP110]关于面向对象程序设计(OOP)的叙述,以下选项()是错误的。(A)OOP的中心工作是程序代码的编写(B)OOP以对象及数据结构为中心展开工作(C)OOP以“方法”表现处理事物的过程
(D)OOP以“对象”表示各种事物,以“类”表示对对象的抽象。(4)[OP115]下列选项中,基础类是容器类的是()。
(A)表单
(B)命令按钮
(C)列表框
(D)单选按钮(5)[OP120]在VFP中,封装是借助于()达到的。
(A)结构
(B)函数
(C)数组
(D)类
(6)[OP125]任何对象都有自己的属性,下列关于属性的叙述中,正确的选项是()。
(A)属性是对象的固有特征,用各种类型的数据来表示。(B)属性是对象的内部特征,用各种类型的数据来表示。(C)属性是对象的外部特征,用各种类型的数据来表示。(D)属性是对象的固有方法,用各种程序代码来表示。
(7)[OP130]下列关于“事件”的叙述中,错误的选项是()。(A)VFP中的基础类可以由用户创建
(B)VFP中的基础类由系统预先定义,不能由用户创建(C)事件是一种预先定义好的动作,由系统或用户激活(D)鼠标的单击、双击及键盘上的按键均可激活某事件(8)[OP135]控件有自己的属性、方法和()。
(A)图形
(B)事件
(C)容器
(D)形状(9)[OP140]类通常可分成两类,即()。
(A)容器类与可视类
(B)单控件类和窗体类(C)可视类和不可视类
(D)工具栏类的窗体类(10)[OP145]命令按钮是()。
(A)控件
(B)容器
(C)控件类对象
(D)容器类对象(11)[OP150]以下特点中不属于面向对象程序设计的特点的是()。
(A)单一性
(B)继承性
(C)封装性
(D)多态性(12)[OP155]下列关于对象的说法,正确的选项是()。(A)对象只能表示结构化的数据(B)对象一定有一个对象标识符
(C)对象可属于一个对象类,也可不属于任何对象类(D)对象标识符在整个使用期内可随时改变。
(13)[OP160]在面向对象方法中,对象可看成是属性(数据)以及这些属性上的专用操作的封装体,封装是一种()技术。
(A)组装
(B)产品化
(C)固体
(D)信息隐藏
(14)[OP165]在面向对象方法中,对象可看成是属性(数据)以及这些属性上的专用操作的封装体,封装的目的是使对象的()分离。(A)定义和实现
(B)设计和实现(C)设计和测试
(D)分析和定义
(15)[OP170]选项()使得一个对象可以像一个部件一样用在各种程序中,同时也切断了不同模块之间数据的非法使用,减少了出错的可能。
(A)封装
(B)继承
(C)多态
(D)统一(16)[OP175]下面关于面向对象方法的叙述中,选项()是错误的。(A)每一对象在系统中有唯一的对象标识
(B)事件作用于对象,对象识别事件并做出相应的反应(C)一个子类能继承父类的所有属性的方法(D)一个父类包括其所有子类的属性的方法(17)[OP180]在VFP中,表单是指()。(A)人机交互时的窗体界面(B)数据库的查询结果的列表(C)数据表中的各个记录的清单(D)数据库中各数据表的清单