浙江省VFP(机考 - )历年试题程序调试题答案 下载本文

001

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.scx,表单事件代码中只在

“*******”标记下的程序行有错误,请自己打开文件,修改、调试、保存, 完成以下功能。

要求:

1.大小写字母的转化,界面如Modify.jpg所示;

2.利用文本框输入字母,利用标签显示转化成大写后的内容。

注意:

程序中的错误行位于文本框Text1的KeyPress事件代码中 (“*******”行下),不能添加或删除程序行。

Text1.KeyPress

LPARAMETERS nKeyCode, nShiftAltCtrl XI=Thisform.text1.value if nkeycode=13

************************

thisform.label2.caption=\输出效果为:\allt(UPPER(xi)) this.selstart=0

this.sellength=len(allt(this.value)) endif 002

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.scx,表单事件代码中只在

“*******”标记下的程序行有错误,请自己打开文件,修改、调试、保存程序, 完成以下功能。

要求:

点击表单FORM1的“确定”按钮,弹出一对话框,并释放表单,如modify.jpg所示。

注意:

程序中的错误行位于命令按钮Command1的Click事件代码中 (“*******”行下),不能添加或删除程序行。

Command1.Click cText=\考试开始\cCode=0+64

cMessage=\信息窗口\*************

MessageBox(cText,cCode ,cMessage) ************* thisform.Release

003

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.scx,表单事件代码中只在

“*******”标记下的程序行有错误,请自己打开文件,修改、调试、保存程序,

完成以下功能。

要求:

从文本框中输入正方体的边长,利用选项组按钮确定输出值,界面如Modify.jpg所示。

注意:

程序中的错误行位于命令按钮Command1的Click事件代码中 (“*******”行下),不能添加或删除程序行。

Command1.Click

***************************** r=val(Thisform.Text1.Value) x1=Thisform.OptionGroup1.Value x2=\正方体\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(\输入不能为空\ Thisform.Text1.Setfocus Endif

Command2.Click

Thisform.Label2.Caption=\Thisform.Text1.Value=\Thisform.Text1.Setfocus 004

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.scx,表单事件代码中只在

“*******”标记下的程序行有错误,请自己打开文件,修改、调试、保存程序, 完成以下功能。

要求:

1.利用列表框接受用户在文本框中的多次输入,界面如Modify.jpg所示;

2.用户在文本框中输入数据后,通过回车向列表框增加内容,而且还可以 通过鼠标双击,移除列表框中所选定的内容。 注意:

程序中的错误行位于列表框List1的Dblclick事件和text1的Keypress代码中 (“*******”行下)以及List1的GetFoucs事件的代码中,不能添加或删除程 序行。

Text1.KeyPress

LPARAMETERS nKeyCode, nShiftAltCtrl *********

if nKeyCode=13

if !empty(this.value)

thisform.list1.additem(this.value)

else

Messagebox(\输入不能为空\错误信息\ This.setfocus Endif

This.Value=\Endif

List1.DblClick

if this.listindex > 0 ********************

this.removeitem(this.ListIndex) endif

List1.GotFocus ********this.value 005

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.scx,表单事件代码中只在

“*******”标记下的程序行有错误,请自己打开文件,修改、调试、保存程序, 完成以下功能。

要求:

1.设计一个显示不同颜色和半径的圆的表单,界面如Modify.jpg所示;

2.利用计时器事件产生半径递增的圆,其颜色是随机产生的;

3.在单击“暂停“时停止画圆,此时该命令按钮变成“画圆”, 再次单击“画圆”时,继续前面的画圆过程。

注意:

程序中的错误行位于表单Form1的Init事件代码中(“*******”行下), 不能添加或删除程序行。

Form1.Init

****************** PUBLIC rad rad=2

thisform.timer1.interval=100

答案

Command1.Click

if Thisform.Timer1.InterVal=0 This.Caption=\暂停\

Thisform.Timer1.InterVal=100 Else

This.Caption=\画圆\

Thisform.Timer1.InterVal=0 Endif

Timer1.Timer rad=rad+8

if rad>100 Thisform.cls rad=2 endif

Thisform.ForeColor=mod(Rand()*99999,32767) Thisform.drawWidth=2

Thisform.Circle(rad,120,100) 007

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.scx,表单事件代码中只在

“*******”标记下的程序行有错误,请自己打开文件,修改、调试、保存程序, 完成以下功能。

要求:

1.设计一立体彩色变化字幕效果的表单,界面如Modify.jpg所示;

2.利用表单空件复选框按钮来控制颜色的变化,选项组按钮决定字幕的显示效果。

注意:

程序中的错误行位于表单Form1的Activate的事件代码中(“*******”行下), 不能添加或删除程序行。

Form1.Activate

********************************** Thisform.Label1.Enabled=.f. Thisform.Timer1.InterVal=500 Thisform.Timer1.Enabled=.f.

Check1.Click

if This.Value=1

Thisform.Timer1.Enabled=.t. Else

Thisform.Timer1.Enabled=.f.

Thisform.Label2.ForeColor=RGB(0,0,0)

endif

Optiongroup1.Click If This.Value=1

Thisform.Label1.Visible=.f. Else

Thisform.Label1.Visible=.t. Endif

答案

Timer1.Timer

if Thisform.Label2.ForeColor=RGB(0,0,0) Thisform.Label2.ForeColor=RGB(255,255,0) Else

Thisform.Label2.ForeColor=RGB(0,0,0) Endif 008

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

要求:

1.给定一个年份(从键盘输入数值型数据),判断它是否闰年;

2.闰年的条件是:能被4整除但不能被100整除,或能被100整除且能被400整除。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF CLEAR

*****1*****

INPUT \TO Y *****2*****

IF Y%4=0 AND Y0!=0 OR Y@0=0

?Y,\是闰年!\ELSE

?Y,\不是闰年!\ENDIF

SET TALK ON 009

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

要求:

从键盘输入一个数值(0~9),要求输出其对应的中文大写数字(零~玖)。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF CLEAR

C=\零壹贰叁肆伍陆柒捌玖\*****1*****

INPUT \TO N *****2*****

?N,\SUBSTR(C,2*N+1,2) SET TALK ON

答案

010

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

要求:

从键盘输入A、B、C三个数值,将它们从小到大排列后输出。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF CLEAR

INPUT \TO A INPUT \TO B

INPUT \ && 1 IF A>B && 2 T=A A=B B=T ENDIF

IF A>C && 3 T=A A=C C=T ENDIF

IF B>C && 4 T=B B=C C=T ENDIF

? A,B,C && 5 SET TALK ON 011

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

要求:

计算N(从键盘输入的正整数)个实数(从键盘输入)去掉其中的最大 和最小数之后的平均值。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF CLEAR

INPUT \TO N

INPUT \ &&_______ 1 STORE A TO X,Y

S=A P=N-2

FOR I=2 TO N INPUT \TO B

S=S+B &&_______ 2 IF X

X=B &&_______ 3 ENDIF

IF Y>B &&_______ 4 Y=B ENDIF ENDFOR

R=S-X-Y &&________ 5 ?R/P

SET TALK ON 012

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

要求:

输出给定的正实数值表达式的值中组成数码的最大数码和最小数码 (如:数值2345.105中最大数码为5,而最小数码为0)。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF CLEAR

INPUT \TO M N=M

DO WHILE N<>INT(N) &&______ 1 N=N*10 ENDDO

STORE N TO D,X &&______ 2 DO WHILE N<>0 &&_______ 3 R= N &&______ 4 IF R>D D=R

ENDIF IF R

N= INT(N/10) &&_______ 5 ENDDO

?M,\中位值最大的数码是:\STR(D,1)+\最小的数码是:\STR(X,1)+\。\SET TALK ON 013

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

要求:

从键盘输入数据A(可以是C、D、N和L型等),通过类型判断, 输出其数据类型的汉字说明(如A的值为“OK!”,那么输出 应为:OK!——字符型数据)。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF CLEAR

INPUT \TO A DO CASE

CASE TYPE(\ && 1 ?A,\是字符型数据。\

CASE TYPE(\ && 2 ?A,\是数值型数据。\

CASE TYPE(\ && 3 ?A,\是逻辑型数据。\

CASE TYPE(\ && 4 ?A,\是日期型数据。\ENDCASE SET TALK ON 014

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,只在“*******” 标记下程序行有错误,请自己打开文件,修改、调试、保存程序,完成以下功能。

要求:

通过字符串变量的操作,使得竖向显示“伟大祖国”,横向显示“祖国伟大”。

注意:

程序中的错误行位于“*******”行下,不能添加或删除程序行。

SET TALK OFF

STORE \伟大祖国\TO XY CLEAR N=1

DO WHILE N<8

? SUBSTR(XY,N,2) ***************** N=N+ 2 ENDDO

? SUBSTR(XY,5,4) ??SUBSTR(XY,1,4) RETURN 015

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

要求:

译密码。如果输入的字符串中只要出现英文字母(无论大小写)均转换

为顺序排列在该字母后的第五个字母(26个英文字母首尾相接顺序转换), 如果是非英文字母一律不转换。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF CLEAR

ACCE \TO P

L=LEN(P) && -------------1 C=\

FOR I=1 TO L

A= SUBSTR(P,I,1) && ------------2 DO CASE

CASE A>=\

A= CHR(ASC(A)+5) &&------------3 CASE A>=\

A= CHR(ASC(A)-21) &&------------4 ENDCASE

C= C+A &&--------------5 ENDFOR

?P+\SET TALK ON 016

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

要求:

1.从键盘输入一串字符(口令),自动判断输入的口令是否与系统的口令 (“MANAGER”)完全一致;

2.是则显示相应的欢迎信息;否则有三次机会;

3.输入次数在三次以内,给予重输的提示;输入次数超过三次,则显示无权 使用系统的提示。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

浙江省计算机等级考试二级VFP练习

分享http://yunpan.cn/QGSStNUNNKrEx

SET TALK OFF CLEAR C=\

FOR I=1 TO 3 && ——1 ACCEPT C+\请输入口令:\TO PSW

IF PSW==\ && ——2

?\欢迎使用本系统!\

EXIT && ——3 ENDIF

C=\口令输入错误,再试一次!\

ENDFOR && ——4 IF I>3 && ——5 ?\对不起,你无权使用本系统\ENDIF

SET TALK ON 017

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,只在“*******” 标记下程序行有错误,请自己打开文件,修改、调试、保存程序,完成以下功能。

要求:

显示输出正整数M(从键盘输入)内的偶数及偶数和。

注意:

程序中的错误行位于“*******”行下,不能添加或删除程序行。

SET TALK OFF CLEAR

INPUT 'M=' TO M S=0

FOR P=1 TO M *****1*****

IF INT(P/2)=P/2 ?P *****2***** S=S+ P ENDIF ENDFOR ?S

SET TALK ON 018

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,只在“*******” 标记下程序行有错误,请自己打开文件,修改并调试程序,完成以下功能。

要求:

将给定的正整型数值表达式的值分解因子,并输出各个质数因子。 如24的因子有:2、2 、2和3。

注意:

程序中的错误行位于“*******”行下,不能添加或删除程序行。

SET TALK OFF SET ESCAPE OFF CLEAR

?\按ESC键结束操作\DO WHILE .T.

INPUT \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= M/I LOOP ENDIF I=I+1 ENDDO

IF INKEY(0)=27 EXIT ENDIF ENDDO

SET TALK ON SET ESCAPE ON

答案

、019

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件,

在标记\之前填写所缺代码、调试、保存,并完成以下功能。

要求:

输出正整数表达式(正整数有用户从键盘输入)的质数因子连乘式。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF CLEAR

INPUT \ &&________ 1 S=STR(X,5)+\P=0

FOR I=2 TO X

IF X%I=0 &&_________ 2 P=1

S=S+STR(I,3)+\

X= X/I &&_________ 3 I=I-1

LOOP &&________ 4 ENDIF ENDFOR

IF P=1 &&__________ 5 ?LEFT(S,LEN(S)-1) ELSE

?STR(X,5)+\没有因子!\ENDIF

SET TALK ON 020

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

要求:

输出给定的正整数值表达式的值是否完数(完数是指该数的值刚好等于 其所有质数因子相加(包括1) ,如:6=1+2+3。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF CLEAR

INPUT \TO M

S= 0 &&______ 1 FOR I=1 TO M-1 &&______ 2 IF M%I=0 &&______ 3 S= S+I &&______ 4 ENDIF ENDFOR

IF S=M &&______ 5 ?M,\是完数!\ELSE

?M,\不是完数!\ENDIF

SET TALK ON 021

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

要求:

输出素数及素数计数。输出1~M(正整数,从键盘输入)中素数及素数计数。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF CLEAR

INPUT \TO M

S=0 &&________ 1 FOR I=M TO 1 STEP -1

IF SS(I) &&_______ 2 S=S+1

??STR(I,5) ENDIF

ENDFOR &&_______ 3 ?STR(S,5) SET TALK ON

FUNC SS PARA X

FOR J=2 TO X-1 IF INT(X/J)=X/J

EXIT &&_______ 4 ENDIF ENDFOR

IF J=X &&________ 5 RETURN .T. ELSE

RETURN .F. ENDIF 022

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,只在“*******” 标记下程序行有错误,请自己打开文件,修改、调试、保存程序,完成以下功能。

要求:

求x ^1+ x^2 + x^3 + x^4 +...+x^n的值。n,x从键盘输入。

注意:

程序中的错误行位于“*******”行下,不能添加或删除程序行。

SET TALK OFF CLEAR

INPUT \TO N INPUT \TO X S=0

*****1***** T=1

FOR I=1 TO N T=T*X S=S+T ENDFOR

*****2***** ?\,S SET TALK ON 023

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,只在“*******” 标记下程序行有错误,请自己打开文件,修改、调试、保存程序,完成以下功能。

要求:

求当1!+ 3!+ 5!+...+ n!的值不超过10的20次幂时的临界值及n的值。

注意:

程序中的错误行位于“*******”行下,不能添加或删除程序行。

SET TALK OFF CLEAR

*****1***** S= 1

STORE 1 TO T,N DO WHILE S<=1E+20 T=T*(N+1)*(N+2) S=S+T *****2***** N=N+ 2 ENDDO

?\?\SET TALK ON 024

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

要求:

1.求SINX的值。

SINX=X-(X^3)/(3!)+(X^5)/(5!)-(X^7)/(7!)+?+((-1)^(N-1))*(X^(2*N-1))/((2*N-1)!);

2.X从键盘输入,当上述算式的最后一项的值小于或等于10^(-5)时,结束运算。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF CLEAR

INPUT \TO X S=0

STORE 1 TO T1,T2,I T3=-1

DO WHILE ABS(T1/T2)>1E-5 &&_________ 1 STORE 1 TO T1,T2 FOR J=1 TO 2*I-1

T1= T1*X &&_________ 2 T2= T2*J &&_________ 3 T3= -T3 &&_________ 4 ENDFOR

S = S + T1/T2*T3 &&________ 5 I=I+1 ENDDO

?\STR(X,6,4)+\LTRIM(STR(S,20,7)) SET TALK ON 025

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

要求:

计算算式(M!+N!)/((M-N)!+M^N+M^M)M/N 的值。M、N的值从键盘输入。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF CLEAR

INPUT \TO M INPUT \TO N X=M DO JC

SM =X &&___________ 1 X=N DO JC SN=X

X=M-N DO JC SMN=X Z=M Y=N DO MC CMN=Y Y=M DO MC

CMM =Y &&_________ 2 ? (SM+SN)/(SMN+CMN+CMM) &&________ 3 SET TALK ON

PROC JC T=1

FOR I=1 TO X T=T*I ENDFOR

X=T &&_________ 4 RETURN

PROC MC T=1

FOR J=1 TO Y T=T*Z ENDFOR

Y=T &&__________ 5 RETURNv 026

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

要求:

计算算式(M!+N!)/((M-N)!+M^N+M^M)M/N 的值。M、N的值从键盘输入。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF CLEAR

INPUT \TO M INPUT \TO N SM=M

DO JC WITH SM SN=N

DO JC WITH SN SMN=M-N

DO JC WITH SMN CMN=N

DO MC WITH M,CMN

DO MC WITH M,M &&__________ 1 ?(SM+SN)/(SMN+CMN+M) SET TALK ON

PROC JC

PARAMETERS X &&__________ 2 T=1

FOR I=1 TO X T=T*I ENDFOR

X=T &&__________ 3 RETURN

PROC MC

PARAMETERS X,Y &&____________ 4 T=1

FOR J=1 TO Y T=T*X ENDFOR

Y=T &&_________ 5 RETURN 027

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

要求:

1.从键盘输入一元二次方程的三个系数a,b,c,三个系数只能输入数字;

2.若方程有实根,则在屏幕上打印出实根;否则打印方程无实根;

3.从键盘输入Q后退出程序运行,输入其他键继续求解下一个方程实根。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

**本程序用于求解一元二次方程ax^2+bx+c=0 CLEAR ALL

**循环,条件恒真 DO WHILE .T. CLEAR

INPUT \输入一元二次方程的二次项系数a(a不能为0)=?\TO a IF a=0 LOOP ENDIF

INPUT \输入一元二次方程的一次项系数b=?\TO b INPUT \输入一元二次方程的常数项c=?\TO c **把判别式的运算结果保存到内存变量panbie中 STORE b*b-4*a*c TO panbie **显示一个空行 ?

**判断判别结果是否小于0 IF panbie<0

**若小于0显示无实数解 ?\无实数解!\ ELSE

**判断判别结果是否等于0 IF panbie=0

**若等于0,计算并显示两个相同的实数根 ?\有两个相等的实数根x1=x2=\ ELSE

**大于0时分别计算并显示两个不等的实数根 ?\有两个不等的实数根:x1=\ &&_____1

?\ x2=\ &&______2

ENDIF ENDIF ?

**等待从键盘输入单个字符,并保存到内存变量tuichu中 WAIT \退出,其它键继续 ......\TO tuichu

**把用户输入的单字符先转换成大写,再与大写“Q”比较

IF UPPER(tuichu)=\ &&_____3 **若tuichu中为“Q”,清屏、退出DO WHILE 循环

CLEAR &&______4 EXIT &&______5 ENDIF

**返回到DO WHILE 继续循环 ENDDO

**返回调用程序 RETURN 028

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,只在“*******” 标记下的程序行有错误,请自己打开文件,修改、调试、保存程序, 完成以下功能。

已知:

在考生文件夹的Paper子文件夹中已有学生表(学生.DBF) (学号,姓名,性别,出生年月,简历,奖学金,照片)

要求:

显示“学生”表中的全部字段名。

注意:

程序中的错误行位于“*******”行下,不能添加或删除程序行。

SET TALK OFF CLEAR USE 学生 *****1*****

FOR N = 1 TO FCOUNT() *****2***** ? FIELD(N) ENDFOR USE

SET TALK ON 029

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,只在“*******” 标记下程序行有错误,请自己打开文件,修改、调试、保存程序,完成以下功能。

已知:

在考生文件夹的Paper子文件夹中已有学生表(学生.DBF)(学号,姓名,性别,出生年月,

简历,奖学金,照片)。

要求:

将“学生”表中指定学生(由键盘输入)的奖学金加10元,并显示该学生的奖学金。

注意:

程序中的错误行位于“*******”行下,不能添加或删除程序行。

SET TALK OFF CLEAR USE 学生

ACCEPT \请输入学生学号:\TO XH *****1*****

LOCATE FOR 学号=XH IF !EOF() *****2***** REPLACE ALL 奖学金 WITH 10 ?学号,姓名,奖学金 ELSE

?\没有找到!\ENDIF USE

SET TALK ON 030

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,只在“*******” 标记下的程序行有错误,请自己打开文件,修改、调试、保存程序, 完成以下功能。

已知:

在考生文件夹的Paper子文件夹中已有学生表(学生.DBF) (学号,姓名,性别,出生年月,简历,奖学金,照片) 。

要求:

显示输出“学生”表中的1971年或以前出生的学生姓名和出生年月。

注意:

程序中的错误行位于“*******”行下,不能添加或删除程序行。

SET TALK OFF CLEAR USE 学生 *****1*****

LOCATE FOR YEAR(出生年月)<=1971 DO WHILE !EOF()

?姓名,出生年月 *****2***** CONTINUE ENDDO USE

SET TALK ON 031

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

已知:

在考生文件夹的Paper子文件夹中存在学生.dbf、课程.dbf、成绩.dbf。

要求:

浏览指定的表文件内容,表文件名由用户从键盘输入,程序自动判断用户 指定的表文件存在与否,存在则浏览,否则给出提示信息。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF

DO WHILE .T. && 1

CLEAR

ACCEPT \请输入要显示的表文件名(扩展名略):\TO TN NM=TN+\ && 2 IF FILE(NM)

USE (NM) && 3 BROWSE ELSE

?\您所指定的表文件并不存在!\ ENDIF

WAIT \是否还要查看其他表文件?Y/N:\TO YN IF UPPER(YN)=\

LOOP && 4 ELSE

EXIT && 5 ENDIF ENDDO USE

SET TALK ON 032

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

已知:

在考生文件夹的Paper子文件夹中存在学生.dbf、课程.dbf、成绩.dbf。

要求:

显示指定表中的全部字段名,并由用户输入显示表信息的条件, 最后列表显示满足条件的记录。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF DO WHILE .T. CLEAR

ACCEPT \请输入表名(扩展名略):\TO TBN IF FILE(\

USE (TBN) &&_________ 1 ELSE

WAIT \指定的表不存在!\TIMEOUT 5 LOOP ENDIF

?\表中的全部字段名列表:\

FOR N = 1 TO FCOUNT() &&_________ 2 ? FIELD(N) &&________ 3 ENDFOR

ACCEPT \请输入显示表信息的条件表达式:\TO EXPR

LIST FOR &EXPR &&_________ 4 WAIT \是否还要显示其他表文件中的内容?Y/N: \TO YN IF UPPER(YN)!= \

EXIT &&_________ 5 ENDIF ENDDO USE

SET TALK ON 033

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

已知:

在考生文件夹的Paper子文件夹中存在成绩.dbf(学号,课程号,成绩)。

要求:

从键盘输入学生的学号,在“成绩”表中计算该生的平均成绩,并说明 成绩的档次(优 、良、中、及格和不及格),如果该生不在表中则提示 相应的信息。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF CLEAR USE 成绩

ACCEPT\请输入学生的学号:\TO XH

LOCATE FOR 学号==XH &&__________1 IF !FOUND()

?\查无此人!\ELSE

AVERAGE 成绩 FOR 学号==XH TO CJ &&_________ 2 DO CASE

CASE CJ>=90 DC=\优\ CASE CJ>=80 DC=\良\ CASE CJ>=70 DC=\中\ CASE CJ>=60 DC=\及格\

OTHERWISE &&__________ 3 DC=\不及格\

ENDCASE &&__________ 4 ?XH,CJ,DC

ENDIF &&_________ 5 USE

SET TALK ON 034

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

已知:

在考生文件夹的Paper子文件夹中已有学生表(学生.DBF)有字段:学号、 姓名、性别、奖学金。

要求:

1.求学生表中指定班级(如951或953班,学号字段的前3个字符表示班级)所有

学生的奖学金总额;

2.将金额(保留两位小数)以中文大写形式显示输出(例如:19642.36显示 输出为:壹万玖仟陆佰肆拾贰元叁角陆分)。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF

SET ESCAPE OFF CLEAR USE 学生

?\按ESC键结束操作************\DO WHILE .T.

ACCEPT \输入指定的班级(如:951或953):\TO BJ LOCATE FOR LEFT(学号,3)=BJ IF FOUND()

SUM 奖学金 TO JXJ FOR LEFT(学号,3)=BJ

?BJ+\班全体学生的奖学金总额为:\STR(JXJ,5,2)+\中文大写为:\ ELSE

?\指定班级不存在!\ ENDIF

IF INKEY(0)=27 EXIT ENDIF ENDDO USE

SET TALK ON SET ESCAPE ON FUNCTION JEZH PARAMETERS X

C1=\零壹贰叁肆伍陆柒捌玖\C2=\分角元拾佰仟万拾佰仟亿\M=ROUND(X,2) M=M*100 I=0

C=SPACE(0) DO WHILE .T.

N = M % 10 &&1-------------------- P1=SUBSTR(C1,2*N+1,2) P2=SUBSTR(C2,2*I+1,2)

C = P1+P2+C &&2------------------- I=I+1

M = INT(M/10) &&3------------------ IF M=0 EXIT ENDIF ENDDO RETURN C ENDFUNC 035

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

已知:

在考生文件夹的Paper子文件夹中已有学生表(学生.DBF) (学号,姓名,性别,出生年月,简历,奖学金,照片)。

要求:

显示输出“学生”表中每个班级的男女同学的奖学金总额 (学号字段的前三位代表班级)。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

SET TALK OFF CLEAR USE 学生

INDEX ON 学号 TO INN0

?\各班男女奖学金总额统计************\?\班级 男同学奖学金总额 女同学奖学金总额\DO WHILE !EOF() &&________ 1 CLASS=LEFT(学号,3)

STORE 0 TO BOYS,GIRLS &&________ 2 DO WHILE LEFT(学号,3)=CLASS

IF 性别=.T. &&________ 3 BOYS=BOYS+奖学金 ELSE

GIRLS=GIRLS+奖学金 &&________ 4 ENDIF

SKIP &&_______ 5 ENDDO

?CLASS+STR(BOYS,19,2)+ STR(GIRLS,19,2) ENDDO USE

SET TALK ON 036

VFP 语言调试题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中,已有文件Modify.prg,请自己打开文件, 在标记\之前填写所缺代码、调试、保存,并完成以下功能。

要求:

1.对表工资表.dbf按部门汇总分别求出奖金,工资,扣款的值,最后再 写入临时表gzhz.dbf。

注意:

仅在标记\之前填写所缺代码,不能添加或删除程序。

**本程序按部门汇总分别求出奖金,工资,扣款的值,最后再写入临时表gzhz.dbf中 CLEAR ALL

SET SAFETY OFF SET TALK OFF USE 工资表 **按部门

SORT ON 部门 TO GZPX && ______1 USE gzpx BROWSE

**把3个数值字段求和,并保存在内存变量中gz,jj,kk,为总计作准备 SUM 工资,奖金,扣款 TO GZ,JJ,KK &&_________2

**按部门分类汇总,汇总结果为每个部门作为一条记录放入汇总表文件gzhz.dbf

TOTAL ON 部门 TO GZHZ &&______3 **打开汇总表文件 USE gzhz

&&______4 **尾部追加一条空记录,准备放总计 APPEND BLANK

**把准备好的总计值放入相应字段

REPLACE 工资 WITH GZ, 奖金 WITH JJ , 扣款 WITH KK &&_______5 BROWSE

**关闭打开的表文件 CLEAR ALL

ERASE gzpx.dbf ERASE gz0.dbf