已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VFP等级考试上机测试题及解答注:由于时间关系,这里是把大部分题型进行解答,可能有个别题型没涉及到,如有同学发现新题型不会操作的请向任课教师请教。一、 程序填空:(要求在指定位置填上正确内容,注意:原有下划线和数字一定要清除掉!。)1. 输出正整数表达式(正整数有用户从键盘输入)的质数因子连乖式。SET TALK OFFCLEARINPUT X= TO X &_ 1S=STR(X,5)+=P=0FOR I=2 TO XIF X%I=0 &_ 2P=1S=S+STR(I,3)+*X=INT(X/I) &_ 3I=I-1LOOP &_ 4ENDIFENDFORIF P0 &_ 5?LEFT(S,LEN(S)-1)ELSE?STR(X,5)+ 没有因子!ENDIFSET TALK ON2. 输出M(从键盘给定的实数)输出它的整数位数、小数位数及其该数的整体输出位数。ZS=INT(ABS(X)ZSW=0DO WHILE ZS0ZS=INT(ZS/10) &_ 1ZSW=ZSW+1 &_ 2ENDDOXSW=0DO WHILE INT(X)#XX=X*10 &_ 3XSW=XSW+1 &_ 4ENDDOFJW=IIF(X=90DC=优CASE CJ=80DC=良 CASE CJ=70DC=中CASE CJ=60DC=及格 OTHERWISE &_ 3 DC=不及格ENDCASE &_ 4?XH,CJ,DCENDIF &_ 5USESET TALK ON4. 计算(M!+N!)/(M-N)!+MN+MM)的值。M、N从键盘输入。SET TALK OFFCLEARINPUT M= TO MINPUT N= TO NSM=MDO JC WITH SMSN=NDO JC WITH SNSMN=M-NDO JC WITH SMNCMN=NDO MC WITH M,CMNDO MC WITH M,M &_ 1?(SM+SN)/(SMN+CMN+M)SET TALK ONPROC JCPARA X &_ 2T=1FOR I=1 TO XT=T*IENDFORX=T &_ 3RETURNPROC MCPARA X,Y &_ 4T=1FOR J=1 TO YT=T*XENDFORY=T &_ 5RETURN5. 从键盘输入口令,有三次机会,验证。SET TALK OFFCLEARC=FOR I=1 TO 3 & 1ACCEPT C+请输入口令: TO PSWIF ALLTRIM(PSW)=manager & 2 注:这个口令应该是题中给定的口令!?欢迎使用本系统!EXIT & 3ENDIFC=口令输入错误,再试一次!ENDFOR & 4IF I=4 & 5?对不起,你无权使用本系统ENDIFSET TALK ON6. 输出1M(从键盘给定的正整数)中可由二个相等素数相加而成的数及其这种数的计数个数。 SET TALK OFFCLEARINPUT M= TO MFOR II=3 TO M/2 &_ 1IF SS(II) &_ 2?STR(II*2,3)+=+STR(II,3)+STR(II,3)ENDIFENDFORSET TALK ONFUNC SSPARA XFOR I=2 TO X-1IF X%I=0 &_ 3EXIT &_ 4ENDIFENDFORIF I=X &_ 5RETURN .T.ELSERETURN .F.ENDIF7. 输出素数及素数计数。输出1M(从键盘输入)中素数及素数计数。SET TALK OFFCLEARINPUT M= TO M S=0 &_ 1FOR I=M TO 1 STEP -1 IF SS(I) &_ 2 S=S+1 ?STR(I,5) ENDIFENDFOR &_ 3?STR(S,5)SET TALK ONFUNC SSPARA XFOR J=2 TO X-1 IF INT(X/J)=X/J EXIT &_ 4 ENDIFENDFOR IF J=X &_ 5 RETURN .T.ELSE RETURN .F.ENDIF8. 显示指定表中的全部字段名,并由用户输入显示表信息条件,最后列表显示满足条件的记录。(教材P151例3.33)SET TALK OFFDO WHILE .T.CLEARACCEPT 请输入表名(扩展名略): TO TBNIF FILE(&TBN.DBF) USE(TBN) &_ 1ELSE WAIT 指定的表不存在! TIMEOUT 5 LOOPENDIF?表中的全部字段名列表:FOR N = 1 TO FCOUNT() &_ 2 ?FIELD(N) &_ 3ENDFORACCEPT 请输入显示表信息的条件表达式: TO EXPRLIST FOR EVALUATE(EXPR) &_ 4WAIT 是否还要显示其他表文件中的内容?Y/N: TO YNIF UPPER(YN)!= Y EXIT &_ 5ENDIFENDDOUSESET TALK ON9. 显示输出表中每个班男女奖学金总额(学号前三位表示班级)(教材P149例3.32)SET TALK OFFCLEARUSE 学生INDEX ON 学号 TO INN0 ?*各班男女奖学金总额统计*?班级 男同学奖学金总额 女同学奖学金总额 DO WHILE .NOT. EOF() &_ 1CLASS=LEFT(学号,3) STORE 0 TO BOYS,GIRLS &_ 2DO WHILE LEFT(学号,3)=CLASS IF 性别 &_ 3BOYS=BOYS+奖学金 ELSEGIRLS=GIRLS+奖学金 &_ 4ENDIFSKIP &_ 5ENDDO?CLASS+STR(BOYS,19,2)+ STR(GIRLS,19,2) ENDDOUSESET TALK ON10. 输出给的定的正整数值表达式的值是否完数(指所有质因子的和为该数)。SET TALK OFFCLEARINPUT M= TO MS=0 &_ 1FOR I=1 TO M-1 &_ 2 IF M%I=0 &_ 3S=S+I &_ 4ENDIFENDFORIF S=M &_ 5?M,是完数!ELSE?M,不是完数!ENDIFSET TALK ON11. 浏览指定表文件内容,文件名由用户从键盘输入。(教材P103例)SET TALK OFF DO WHILE .T. & 1 CLEAR ACCEPT 请输入要显示的表文件名(扩展名略): TO TN NM=TN+.DBF & 2 IF FILE(NM) USE(NM) & 3 BROWSE ELSE ?您所指定的表文件并不存在! ENDIF WAIT 是否还要查看其他表文件?Y/N: TO YN IF UPPER(YN)=Y LOOP & 4 ELSE EXIT & 5 ENDIF ENDDO USE SET TALK ON 12. 输出给定的正实数值表达式的值中组成数码的最大数码和最大数码。SET TALK OFFCLEARINPUT M= TO MN=MDO WHILE INT(N)N &_ 1N=N*10ENDDOSTORE M TO D, X &_ 2DO WHILE N0 &_ 3R=N%10 &_ 4IF RDD=RENDIFIF R0 Q=SUBSTR(X,L,1) &3C=C+Q L=L-1 &4ENDDORETURN C &5ENDFUNC15. 编写一个自定义函数,返回给定的正整型数值表达式的值中包含指定数码的个数(如:数值2345105中包含数码5的个数为2)。FUNCTION NCT &书上44页例.PARAMETERS X,Y &1SET TALK OFFS=0 &2M=X DO WHILE .T. N=MOD(M,10) &3IF N=Y S=S+1 ENDIFM=INT(M/10) &4IF M=0 EXIT ENDIFENDDORETURN S &5ENDFUNC二、 程序改错:(星号的下一句有错将它改正,但表单中可能不一定。)1、将给定的正整型数值表达式的值分解因子,并输出各个质数因子。如24的因子有: 2、2、2和3。SET TALK OFF SET ESCAPE OFF CLEAR ?按ESC键结束操作DO WHILE .T. INPUT M= TO M IF INT(M)!=M OR ABS(M)!=M ?输入的数据不符合题目要求! LOOP ENDIF ?ALLTRIM(STR(M,19)+的质数因子有: I=2 DO WHILE I=M IF M%I=0 ?STR(I,6) * M=INT(M/I) & M=MOD(M,I) LOOP ENDIF I=I+1 ENDDO IF INKEY(0)=27 EXIT ENDIF ENDDO SET TALK ON SET ESCAPE ON2、显示输出正整数M(键盘输入)内的偶数及偶数和。SET TALK OFFCLEARINPUT M= TO MS=0FOR P=1 TO M*1*IF P%2=0 &IF INT(P/2) ?P*2* S=S+P &S=S+1 ENDIFENDFOR?SSET TALK ON3、设计一立体彩色变化字幕效果的表单,界面如下图所示。用按钮来控制颜色变化,选项组按钮决定字幕显示效果。* form1的activate事件中代码: Thisform.Label1.visible=.f. Thisform.Timer1.InterVal=500 Thisform.Timer1.Enabled=.f.4、设计显示一不同颜色和半径的圆的表单,用计时器产生半径递增的圆,颜色随机产生;单击“暂停”时停止画圆,殷按钮变成“画圆”,再单击继续前面画圆过程。* form1的init事件中代码:public rad rad=2erval=1005、求当1!+3!+5!+n!的值不超过10的20次方时的临界值及n的值。SET TALK OFFCLEAR*1*S=1 &S=0 STORE 1 TO T,NDO WHILE S=1E+20T=T*(N+1)*(N+2)S=S+T*2* N=N+2 &N=N+1 ENDDO?S=,S-T?N=,N-2SET TALK ON6、大小写字母的转化,利用文本框输入字母,利用标签显示转化成大写。LPARAMETERS nKeyCode, nShiftAltCtrl &text1的keypress事件中代码:XI=Thisform.text1.valueif nkeycode=13 *thisform.label2.caption=输出效果为:+allt(upper(XI) & thisform.label2.caption=输出效果为:+allt(Lower(xi) this.selstart=0 this.sellength=len(allt(this.value)endif7、从文本框中输入正方体边长,选项组按钮确定输出值。* command1的click事件中代码:r=val(alltrim(Thisform.Text1.Value)x1=Thisform.OptionGroup1.Valuex2=正方体if !empty(r) Do Case Case x1=1 Thisform.Label2.Caption=x2+周长=+allt(Str(6*r) Case x1=2 Thisform.Label2.Caption=x2+表面积=+allt(Str(6*r*r) Case x1=3 Thisform.Label2.Caption=x2+体积=+allt(Str(r*r*r) Endcase Else Messagebox(输入不能为空,48+0+0) Thisform.Text1.Setfocus Endif thisform.refresh8、显示输出学生表中的1971年或以前出生的学生姓名和出生年月.SET TALK OFF &书上页例.9CLEARUSE 学生 *1* &locate for year(出生年月)=1971LOCATE FOR 出生年月=1971 DO WHILE !EOF() ?姓名,出生年月*2* &continue SKIP ENDDOUSESET TALK ON9、将学生表中指定学生(由键盘输入)的奖学金加10元,并显示该学生的奖学金。SET TALK OFF CLEAR USE 学生 ACCEPT 请输入学生学号: TO XH *1* &LOCATE FOR 学号=XH SEEK学号=XH IF !EOF() *2* &REPL 奖学金 WITH 奖学金+10 REPLACE ALL 奖学金 WITH 10 ?学号,姓名,奖学金 ELSE ?没有找到! ENDIF USE SET TALK ON 10、显示学生表中的全部字段名。SET TALK OFFCLEARUSE 学生*1* &FOR N=1 TO FCOUNT()FOR N = 1 TO RECCOUNT() *2* &?FIELD(N) FOUND(N) ENDFORUSESET TALK ON三、 设计表单。要求根据给定的表单图片,设计表单,编制相应事件代码。这里给出了设计好的表单样图和事件代码。和书中例题一样的题目只给出表单样图和说明。1. 编制一个学生姓名的窗口选择某个学生时,表单自动在成绩信息窗口自动同步显示出对应那个学生的所有成绩信息。当在显示课程名的窗口选择某门课程时,表单自动在成绩信息窗口自动同步显示出对应那门课程的所有成绩信息。操作方法:按上图建立表单,要注意:学生、成绩、课程三张表都要放到数据环境中,然后在数据环境中设定两个临时关联:一个是学生表为主表,成绩表为子表;另一个是课程表为主表,成绩表为子表。(建立方法可以参考教材P319页例6.3。即从主表将相应字段拖到子表已建索引的字段上。)然后再将上面两个列表框的属性rowsourcetype设为:6字段。左边列表框的rowsource设为:学生.姓名。右边列表框的rowsource设为:课程.课程名。再从数据环境中把整个成绩表拖到表单的下半部即可。2. 编制一个表单完成口令判定功能:操作方法:同教材P289习题(1)类似。具体方法可参见本书第14页。3. 编制一个日历时钟表单。显示当前日期,时钟会动态跳动(每1秒跳一次)。如下图所示:操作方法: 按左图建立表单,将日期标签的caption属性设为:=str(year(date(),4)+年+str(month(date(),2)+月+str(day(date(),2)+日。时间标签的caption属性设为:=time()。将计时器的interval属性设为1000(即1秒。)编写计时器timer事件代码为: thisform.label2.caption=time() thisform.refresh 4. 同教材P320第6章例6.4。5. 编制表单完成表文件“学生.dbf”内容的只读浏览显示功能;初始显示内容为首记录;以10秒为间隔自动刷新,至表底时,自动回到首记录。操作方法:同教材P289习题(3)类似。具体方法可参见本书第14页。 6、编制学生成绩信息浏览表单,当单击相应按钮时,自动同步跳动更新信息。操作方法:按上图建立表单,要注意:学生、成绩表都要放到数据环境中,然后在数据环境中设定临时关联:学生表为主表,成绩表为子表。(建立方法可以参考上面的题1。)然后再从数据环境中把学生表的学号、姓名字段按上图拖到表单中;再从数据环境中把整个成绩表拖到表单的下半部即可。而命令按钮组的代码同教材P289习题(4)类似。具体方法可参见本书第15页。7、编制选项按钮组调色板;当用户按了某按钮后,按钮组背景色就会变。操作方法: 将表单的标题属性caption设置为:“选项按钮组调色板”。将选项按钮组的按钮标题属性caption分别设置为“红”、“绿”、“蓝”、“黑”和“白”。选项按钮数属性ButtonCount设置为5。选项按钮组的单击Click事件的过程代码:do casecase this.value=1 this.backcolor=rgb(255,0,0) case this.value=2 this.backcolor=rgb(0,255,0) case this.value=3 this.backcolor=rgb(0,0,255) case this.value=4 this.backcolor=rgb(0,0,0) case this.value=5 this.backcolor=rgb(255,255,255)endcasethisform.refresh操作方法:同教材P319例6.3一模一样。关键是要建立以学生表为主表,成绩表为子表的临时关联,再将两张表从数据环境中拖到表单中相应位置即可。8、学生成绩查询表单,学生信息窗口的指针移动时,另一窗口可自动显示对应学生的所有成绩信息。9、编制一文字水平动态移动操纵的表单;文字(纵向)、初始的显示位置在左边,自动以间隔加1的幅度向右移,直到最右边,再以间隔减1的幅度向左移至初始位置,来回不断。操作方法:按左图建立表单,其中竖排文字用标签实现,标签caption属性为:我是会移动的文字。再设定wordwrap属性为.T.,BackStyle属性为0-透明。表单Backcolor设为黄色,Caption属性为:水平移动的文字。标签的宽度调整为一个汉字大小。计时器Interval属性为1000。编写计时器Timer事件代码:if thisform.label1.left=thisform.width-thisform.label1.width b=1表单Init事件代码: public bb=0endifif thisform.label1.left=0 b=0endifif b=1 thisform.label1.left=thisform.label1.left-1else thisform.label1.left=thisform.label1.left+1endifthisform.refresh 计时器Timer事件代码: thisform.text1.value=time()if val(right(time(),2)%2=0 thisform.backcolor=rgb(0,255,0) else thisform.backcolor=rgb(0,0,255)endifthisform.refresh10、编制一时钟,显示当前时间(每秒跳动一次);表单背景为蓝、绿变换和时间同步换。操作方法:同教材P291习题(9);具体参见本书第16页。11、编制一表单完成对三表文件编辑浏览功能;三表在不同页面,未激活页面不可访问。 操作方法:同上面题3;按左图建立表单,将日期标签的caption属性设为:=str(year(date(),4)+年+str(month(date(),2)+月+str(day(date(),2)+日。时间标签的caption属性设为:=time()。将计时器的interval属性设为1000(即1秒。)编写计时器timer事件代码为:thisform.label1.caption=星期+t+(+cdow(date()+)thisform.label3.caption=time()thisform.refresh表单的Init事件代码:public s,ts=日一二三四五六t=substr(s,2*(dow(date()-1,2)thisform.label1.caption=星期+t+(+cdow(date()+)12、编制一时钟,表单中的日历是当前日期、星期,时钟每1秒跳一次。 操作方法:按左图建立表单。将计时器的interval属性设为1000(即1秒。)编写计时器timer事件代码为:thisform.text1.value=left(time(),2)+时+substr(time(),4,2)+分+right(time(),2)+秒thisform.refresh13、编制数字时钟,时分秒要用汉字说明。 操作方法:按左图建立表单:将学生表放到数据环境中,按左图将学生的学号等字段拖到表单右边。再按左图建立一组合框控件设定rowsourcetype为6-字段,rowsource为学生.姓名。编写组合框的Interactivechange事件代码为:Thisform.refresh即可。14、编制信息查询界面:显示指定学生的所有信息。操作方法:按左图建立表单:页框的包含页数属性Pagecount设为5。将页标题属性Caption分别设为:红、绿、蓝、黑和白。编写页框Click事件代码:do case case this.activepage=1 this.page1.backcolor=rgb(255,0,0) . .(同上)EndcaseThisform.refresh 15、编制一选项卡组(页框)调色板,当用户按下页,背景色变为指定色。16、编制表单,当用户在组合框中选择班级(学号左三位),表单自动显示对应班级所有学生的总平均成绩。操作方法:同教材P290习题(7);具体参见本书第16页。 操作方法:同教材P290习题(6);具体参见本书第15页。17、用户在组合框选择班级,表单显示对应班级奖学金总额。18、编制只读浏览显示功能表单。前翻、后翻、首记录、末记录。操作方法:同教材P289习题(3);具体参见本书第14页。19、编制一个学生学籍信息查询表单:选择学生时,成绩信息框显示对应学生课程成绩信息,选课程时成绩信息框显示对应课程成绩信息.操作方法:按上图建立表单,要注意:学生、成绩、课程三张表都要放到数据环境中,然后再将上面两个列表框的属性rowsourcetype设为:6字段。左边列表框的rowsource设为:学生.姓名。右边列表框的rowsource设为:课程.课程名。编写表单Init事件代码:select 成绩.学号,学生.姓名,课程.课程名,成绩.成绩 from 学生,课程,成绩 where;成绩.学号=学生.学号 and 成绩.课程号=课程.课程号 into table cjxx order by 成绩.学号thisform.list3.visible=.f. thisform.list3.clearsele cjx
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州遵义仁怀市申仁包装印务有限责任公司社会引才常态化招聘24人笔试历年参考题库附带答案详解
- 2025贵州毕节市金沙县国有资本投资运营集团有限公司招聘51人笔试历年参考题库附带答案详解
- 2025西安泽达航空制造有限责任公司招聘(46人)笔试历年参考题库附带答案详解
- 2025福建莆田市储备粮管理有限公司招聘笔试历年参考题库附带答案详解
- CN115861193B 一种基于多源异构信息的浮选过程运行状态评价方法 (东北大学)
- 慈善组织绩效评估论文
- 幼儿园公开课心得体会1
- 音乐新课程教学设计复习提纲答案
- 一次比一次有进步教学设计新人教版一年语文上册
- CN115832339B 一种高熵钙钛矿阴极材料及其制备方法和应用 (北京理工大学)
- 压力容器制造质量管理体系2025年内审资料
- 数控加工中心操作编程练习图纸60张
- 三角函数(一轮复习教案)
- 沪教版六年级上册数学练习题
- 16G362钢筋混凝土结构预埋件(详细书签)图集
- 湖北省武汉市2024年中考英语模拟试卷(含答案)
- 2024届福建省漳州市台商投资区六年级下学期小升初真题数学试卷含解析
- 薛生白《湿热病篇》经典条文46条2022.9整理
- MR355.臂丛神经规范化扫描方案
- 劳务合同模板电子下载
- 中式烹调工艺与实训(第三版) 课件全套 (刘致良) 第1-13章 绪论、烹饪文化- 成本控制
评论
0/150
提交评论