vfp程序改错doc.docx

上传人:b****3 文档编号:4083679 上传时间:2022-11-27 格式:DOCX 页数:49 大小:28.55KB
下载 相关 举报
vfp程序改错doc.docx_第1页
第1页 / 共49页
vfp程序改错doc.docx_第2页
第2页 / 共49页
vfp程序改错doc.docx_第3页
第3页 / 共49页
vfp程序改错doc.docx_第4页
第4页 / 共49页
vfp程序改错doc.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

vfp程序改错doc.docx

《vfp程序改错doc.docx》由会员分享,可在线阅读,更多相关《vfp程序改错doc.docx(49页珍藏版)》请在冰豆网上搜索。

vfp程序改错doc.docx

vfp程序改错doc

 

VisualFoxpro程序改错

 

〖第1题〗(练习题所在文件夹:

163)

*题目:

该程序完成口令检验功能。

输入三次不正确退出。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

SETTALKOFF

CLEAR

ass1="AbCdEf"

TT=1

DOWHILETT<4

@10,20SAY"请输入口令:

"

SETCONSOLEOFF

ACCEPTTOass

SETCONSOLEON

**********FOUND**********

IFass1=ass

CLEAR

"欢迎使用本系统!

"

**********FOUND**********

LOOPELSE

**********FOUND**********

TT=TT-1

CLEAR

"口令错,按任意键再输入一次!

"

WAIT""

ENDIF

ENDDO

RETURN

答案:

1).

IFUPPER(ass1)==UPPER(ass)

或IFUPPER(ass1)==UPPER(ass)

2).

EXIT

3).

TT=TT+1

或TT=1+TT

 

〖第4题〗(练习题所在文件夹:

500)

*题目:

是一个职工信息文件,其中包含编号(C5)、姓名

*(C8)、性别(C2)、政治面貌(C4)、出生日期(D8)

 

等字

*段。

性别用字符串"男"或"女"表示,政治面貌用字符串"

*党员"、"团员"或"群众"表示。

此文件已按政治面貌建立

*了索引,索引文件名是。

*程序功能是:

显示输出所有政治面貌为"群众"的女职工的

*姓名和出生日期(每行输出一个职工的信息)在屏幕上

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

 

settalkoff

clear

***********FOUND**********

USEZHG

SEEK"群众"

***********FOUND**********

DOWHILE!

EOF()

IF性别="女"

DISP姓名,出生日期

***********FOUND**********

ENDD

SKIP

ENDDO

USE

SETTALKON

答案:

1).

USEZHGINDEXZHG_ZHZH

2).

DOWHILE政治面貌="群众"

或DOWHILE政治面貌='群众'

或DOWHILE政治面貌

=[群众]

3).ENDIF

 

〖第5题〗(练习题所在文件夹:

105)

*题目:

在中,查找职工赵红的工资,如果工资小于200元,

*则增加100元;如果工资大于等于200元且小于500元时,则增

*加50元;否则增加20元。

最后显示赵红的姓名和工资。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

CLEAR

USERSH

***********FOUND**********

LOCATEFOR姓名=赵红

DOCASE

CASE工资<200

REPLACE工资WITH工资+100

CASE工资<500

REPLACE工资WITH工资+50

OTHERWISE

REPLACE工资WITH工资+20

ENDCASE

***********FOUND**********

LIST

姓名,工资

USE

答案:

1).LOCATEFOR

或LOCATEFOR姓名=[

姓名="赵红"或LOCAFOR姓名='赵红'或LOCAFOR姓名="赵红"

赵红]或LOCAFOR姓名=[赵红]或LOCATEFOR姓名='赵红'

 

2).DISP姓名,工资或姓名,工资或DISPLAY姓名,工资

 

〖第6题〗(练习题所在文件夹:

174)

*题目:

计算S=2+4+6+...+98+100的程序。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

store0tos,i

***********FOUND**********

doi<=99

***********FOUND**********

i=i+1

s=s+i

enddo

"s=",s

答案:

1).dowhilei<=99或dowhilei<100或dowhilei<=98或dowhilei<99

2).I=2+I或I=I+2或STORI+2TOI

 

〖第7题〗(练习题所在文件夹:

520)

*题目:

猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,

*还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉

*一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一

*半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

*求第一天共摘了多少。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

settalkoff

clear

DAY=9

***********FOUND**********

X2=0

DOWHILEDAY>0

***********FOUND**********

X1=(X2+1)/2

X2=X1

***********FOUND**********

DAY=DAY+1

ENDDO

"第一天摘下",X1,"个桃子"

SETTALKON

答案:

1).X2=1

2).X1=(X2+1)*2

3).DAY=DAY-1

 

〖第8题〗(练习题所在文件夹:

175)

 

*题目:

打开数据表,分别统计男、女生的人数。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

USEXSDB

STOR0TOB,G

DOWHILE.()

***********FOUND**********

IF性别<>男

B=B+1

***********FOUND**********

ENDIF

G=G+1

ENDIF

SKIP

ENDDO

"男生人数是:

"+STR(B)

"女生人数是:

"+STR(G)

答案:

1).IF性别="男"或IF性别<>"女"

2).ELSE

 

〖第9题〗(练习题所在文件夹:

188)

*题目:

显示中每个学生的姓名、计算机成绩和等级;等

*级划分如下:

计算机成绩大于等于90显示"优秀";60到89

*(包括60和89)之间显示"及格";60分以下显示"补考"。

*如显示:

张丽娜90优秀。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

USEXSDB

DOWHIL.NOT.EOF()

***********FOUND**********

LIST姓名,计算机

DOCASE

CASE

'

CASE

'

 

计算机>=90

优秀'

计算机>=60

及格'

OTHERWISE

'补考'

ENDCASE

***********FOUND**********

GONEXT

ENDDO

USE

答案:

1).姓名,计算机或DISPLAY姓名,计算机

 

2).

 

SKIP

 

 

SKIP1

 

〖第10题〗(练习题所在文件夹:

191)

*题目:

从键盘上输入5个数,将其中奇数求和,偶数求积。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

S1=0

***********FOUND**********

S2=0

FORI=1TO5

INPUT"请输入第"+STR(I,1)+"数"TOM

***********FOUND**********

IFINT(M/2)=0

S1=S1+M

ELSE

S2=S2*M

ENDIF

ENDFOR

"奇数和是",S1

"偶数积是",S2

答案:

1).S2=1或STOR1TOS2

2).IFMOD(M,2)<>0或IFMOD(M,2)#0

或IFM%2<>0或IFM%2!

=0或IFM%2#0

 

 

IFINT(M/2)<>M/2

 

 

IFINT(M/2)#M/2

 

〖第11题〗(练习题所在文件夹:

182)

*题目:

在中查找学生徐秋实的记录,如果找到则将该记录

*的系别、姓名,两科科目名称和对应的成绩显示在屏幕上,否则

*显示:

"查无此人!

"。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

USEXSDB

***********FOUND**********

FINDFOR姓名="徐秋实"

IF.()

"查无此人!

"

ELSE

***********FOUND**********

系别,姓名,"计算机="+计算机,"英语="+英语

ENDIF

USE

RETURN

答案:

1).LOCATEFOR姓名="徐秋实"或LOCATEALLFOR姓名="徐秋实"

2).系别,姓名,"计算机="+STR(计算机),"英语="+STR(英语)

或系别,姓名,"计算机=",计算机,"英语=",英语

 

〖第13题〗(练习题所在文件夹:

161)

*题目:

从键盘输入一个表名,打开该表文件,移动记录指针到

*文件头,输出当前记录号;在移动记录指针到文件尾,

*输出当前记录号。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

SETTALKOFF

ACCEPTTOA

**********FOUND**********

FINDA

GOTOP

**********FOUND**********

NEXT

RECNO()

GOBOTTOM

**********FOUND**********

NEXT-1

RECNO()

USE

SETTALKON

答案:

1).

2).

3).

USE(A)SKIP-1SKIP

 

或USE&A

 

SKIP1

 

〖第14题〗(练习题所在文件夹:

162)

*题目:

从键盘输入一个表文件名,打开该表,查找"姓名"是

*"张东"的记录,并显示该记录,最后输出"姓名"是"张

*东"的记录个数。

(设被打开的表中有固定字段"姓名")

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

SETTALKOFF

ACCEPTTOA

USE&A

**********FOUND**********

N=1

SCANFOR姓名="张东"

**********FOUND**********

LIST

N=N+1

ENDSCAN

**********FOUND**********

记录个数是,N

USE

 

SETTALKON

答案:

1).

N=0

或Store0ToN

2).

DISPLAY

或DISP

3).

"

记录个数是",N

或"

记录个数是",str(N)

 

〖第16题〗(练习题所在文件夹:

92)

*题目:

求X=1+2+3++100,并同时求出1到100之间的奇数之和

 

Y,

*而且显示输出这两个和。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

CLEAR

STORE0TOI,X,Y

***********FOUND**********

DOWHILEI<=100

I=I+1

X=X+I

IFI/2=INT(I/2)

***********FOUND**********

EXIT

ENDIF

Y=Y+I

ENDDO

X,Y

RETURN

答案:

1).DOWHILEI<100或DOWHILEI<=99

2).LOOP

 

〖第17题〗(练习题所在文件夹:

501)

*题目:

是一个学生信息文件,包含学号(C8)、

*姓名(C8)、性别(C2)、政治面貌(C4)、班级(C5)

*等字段;其中性别用字符串"男"或"女"表示,政治面貌

*用字符串"党员"、"团员"或"群众"表示。

*程序的功能是:

显示输出所有政治面貌为"群众"的男生姓

*名和班级。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

settalkoff

clear

USESTUDENT

LOCATEFOR政治面貌="群众"

***********FOUND**********

DOWHILE.not.FOUND()

IF性别="女"

 

CONTINUE

***********FOUND**********

break

ENDIF

姓名,班级

***********FOUND**********

skip

ENDDO

USE

SETTALKON

答案:

1).

DOWHILEFOUND()

或DOWHIL.()

2).

LOOP

3).

CONTINUE

 

x〖第19题〗(练习题所在文件夹:

148)

*题目:

从键盘上输入任意一串字符,判断是否回文。

*例如:

MUM、456654,MADAM。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

SETTALKOFF

ACCEPT"A="TOA

L=LEN(A)

FLAG=1

I=1

**********FOUND**********

DOWHILEFLAG=1ORI<=INT(L/2)

**********FOUND**********

IFSUBS(A,I,1)<>SUBS(A,L-I,1)

FLAG=0

ENDIF

I=I+1

ENDDO

**********FOUND**********

IFFLAG=0

"是回文"

ELSE

"不是回文"

ENDIF

CANCEL

答案:

1).DOWHILEFLAG=1ANDI<=INT(L/2)

2).IFSUBSTR(A,I,1)<>SUBSTR(A,L-I+1,1)

3).IFFLAG=1

 

〖第20题〗(练习题所在文件夹:

189)

*题目:

从键盘输入一个数X,当X大于0、Y的值为1;当X等于0、Y的

*值为0;当X小于0、Y的值为-1,然后输出Y的值。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

INPUT"输入一个数X:

"TOX

***********FOUND**********

IFX>0

IFX>0

Y=1

ELSE

Y=0

ENDIF

ELSE

Y=-1

ENDIF

***********FOUND**********

"Y=Y"

答案:

1).

2).

IFX>=0

"Y=",Y

IF0<=X

"Y="+STR(Y)

 

〖第22题〗(练习题所在文件夹:

505)

*题目:

计算并显示输出数列1,-1/2,1/4,-1/8,1/16的

*前10项之和。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

settalkoff

clear

Y=0

STORE1TOI,C

***********FOUND**********

DOWHILEI<=10

Y=Y+(-1)^(C+1)/I

***********FOUND**********

I=-I*2

C=C+1

***********FOUND**********

ENDIF

"数列前10项之和为:

",Y

SETTALKONRETURN

答案:

1).

DOWHILEC<=10

或DOWHILEC<11

2).

I=I*2

或I=-I*(-2)

3).

ENDD

或ENDDO

 

〖第23题〗(练习题所在文件夹:

156)

*题目:

求1+5+9+13++97的和。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

SETTALKOFF

S=0

**********FOUND**********

N=0

DOWHILEN<=97

**********FOUND**********

S=S+1

N=N+4

**********FOUND**********

ENDWHILE

S

SETTALKON

答案:

1).

N=1

或STOR1TON

2).

S=S+N

或S=N+S

3).

ENDDO

或ENDD

 

〖第24题〗(练习题所在文件夹:

165)

*题目:

求1到10之间奇数的阶乘和t=1!

+3!

+5!

++9!

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

**********FOUND**********

t=1

P=1

I=1

**********FOUND**********

DowhileI>10

P=p*I

**********FOUND**********

Ifint(i/2)=i/2

T=t+p

Endif

I=I+1

Enddo

"t=",t

答案:

1).t=0

2).dowhilei<10

3).!

=或<>或#

 

〖第25题〗(练习题所在文件夹:

168)

 

*题目:

查找中女职工的最高工资,并显示其姓名和工资。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

***********FOUND**********

OPENRSH

MGZ=0

DOWHILE.()

***********FOUND**********

IF性别="女",MGZ<"工资"

MGZ=工资

MXM=姓名

ENDIF

***********FOUND**********

CONT

ENDDO

MXM,MGZ

USE

答案:

1).USERSH

2).IF性别="女".and.MGZ<工资

3).SKIP

 

x〖第26题〗(练习题所在文件夹:

154)

*题目:

以下程序输出如下图所示的图形。

*!

$!

*!

$!

$!

$

*!

$!

$!

*!

$!

$!

$!

$!

$

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

SETTALKOFF

I=4

DOWHILEI<10

**********FOUND**********

IFINT(I/2)=I/2

I=I*2

ELSE

I=I-1

ENDIF

FORJ=1TOI

**********FOUND**********

IFJ/2=0

"!

"

ELSE

"$"

**********FOUND**********

 

ENDDO

ENDFOR

 

ENDDO

RETURN

答案:

1).

IFINT(I/2)<>I/2

或IFMOD(I,2)=1

或IFI%2=1

2).

IFJ%2=1

或IFmod(j,2)=1

3).

ENDIF

或ENDI

〖第27题〗(练习题所在文件夹:

190)

*题目:

计算出

1到50

以内(包含50)能被2和3整除的数之和。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

STOR0TOX,Y

***********FOUND**********

DOWHILENOTEOF()

X=X+1

DOCASE

***********FOUND**********

CASEMOD(X,2)=0orMOD(X,3)=0

Y=Y+X

CASEX<=50

***********FOUND**********

X=X+1

CASEX>50

EXIT

ENDCASE

ENDDO

Y

答案:

1).DOWHILE.T.

2).and

3).LOOP

 

〖第29题〗(练习题所在文件夹:

196)

*题目:

分别统计化学系的男、女生总人数并显示出来。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

USEXSDB

STOR0TORS1,RS2

***********FOUND**********

FINDFOR系别="化学"

DOWHILE.()

***********FOUND**********

IF性别<>"男"

 

RS1=RS1+1

ELSE

RS2=RS2+1

ENDIF

CONT

ENDDO

"男生人数=",RS1

"女生人数=",RS2

USE

答案:

1).

2).

LOCATEFOR系别="化学"或LOCATEALLFOR系别="化学"

IF性别="男"或IF性别<>"女"

 

〖第30题〗(练习题所在文件夹:

187)

*题目:

从键盘输入十个非零整数,统计能被3整除的数的个数。

*注意:

不可以增加或删除程序行,也不可以更改程序的结构。

STORE0TOI,A

***********FOUND**********

DOWHILEI<=10

INPUT"请输入一个整数:

"TON

***********FOUND**********

IFMOD(N/3)=0

A=A+1

ENDIF

I=I+1

ENDDO

A

答案:

1).

DOWHILEI<10

或DOWHILEI<=9

2).

IFMOD(N,3)=0

或IN%3=0或IFINT(N/3)=N/3

 

〖第

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

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1