《VFP》 第五章习题DOC.docx

上传人:b****4 文档编号:6135614 上传时间:2023-05-09 格式:DOCX 页数:30 大小:26.46KB
下载 相关 举报
《VFP》 第五章习题DOC.docx_第1页
第1页 / 共30页
《VFP》 第五章习题DOC.docx_第2页
第2页 / 共30页
《VFP》 第五章习题DOC.docx_第3页
第3页 / 共30页
《VFP》 第五章习题DOC.docx_第4页
第4页 / 共30页
《VFP》 第五章习题DOC.docx_第5页
第5页 / 共30页
《VFP》 第五章习题DOC.docx_第6页
第6页 / 共30页
《VFP》 第五章习题DOC.docx_第7页
第7页 / 共30页
《VFP》 第五章习题DOC.docx_第8页
第8页 / 共30页
《VFP》 第五章习题DOC.docx_第9页
第9页 / 共30页
《VFP》 第五章习题DOC.docx_第10页
第10页 / 共30页
《VFP》 第五章习题DOC.docx_第11页
第11页 / 共30页
《VFP》 第五章习题DOC.docx_第12页
第12页 / 共30页
《VFP》 第五章习题DOC.docx_第13页
第13页 / 共30页
《VFP》 第五章习题DOC.docx_第14页
第14页 / 共30页
《VFP》 第五章习题DOC.docx_第15页
第15页 / 共30页
《VFP》 第五章习题DOC.docx_第16页
第16页 / 共30页
《VFP》 第五章习题DOC.docx_第17页
第17页 / 共30页
《VFP》 第五章习题DOC.docx_第18页
第18页 / 共30页
《VFP》 第五章习题DOC.docx_第19页
第19页 / 共30页
《VFP》 第五章习题DOC.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《VFP》 第五章习题DOC.docx

《《VFP》 第五章习题DOC.docx》由会员分享,可在线阅读,更多相关《《VFP》 第五章习题DOC.docx(30页珍藏版)》请在冰点文库上搜索。

《VFP》 第五章习题DOC.docx

《VFP》第五章习题DOC

第五章

一、填空

1、以下程序的功能是将英文字母组成的字符串加密.加密的算法是:

如果是大写字母,用原字母后面的第4个字母代替原字母,

否则用原字母后的第2个字母代替原字母,如原文"China",加密后的密文是"Gjkpc",

完善下列程序:

m=space(0)

c="China"

fori=1to【len(c)】

nc=asc(substr(c,I,1))

ifnc>64【and】nc<91&&该字母的ASC值在64之91之间,表明该字母是大写

m=m+【chr(nc+4)/chr(4+nc)】

else

m=m+chr(nc+2)

endif

endf

2、完善下列程序,其功能是显示如下所示的文字图形.

字字

大大大

宝宝宝宝

塔塔塔塔塔

【程序清单】

CLEAR

c="金字大宝塔"

n=LEN(c)/2

FORi=1TOn

?

SPACE(70-i)

FORj=1【TOi】

?

?

SUBS(C,2*i-1,2)

=INKEY(0.5)

ENDFOR

ENDFOR

3、请写出x的值【30】,y值是【-2】

X=26

y=0

ifint(x/2)=x/2

y=mod(x,3)

x=x+4

endif

ifint(x/3)=x/3

y=Mod(x,-4)

endif

?

x,y

4、如果当前日期是2000年4月1日,并且命令?

date()在屏幕上返回04/01/00,

则命令行?

date()+10在屏幕上返回的值为【04/11/00】

5、已知N="1",M="2",X12="GOOD",则表达式X&N&M的值为【GOOD】

6、已知有三个文件分别程序文件、查询文件、表单文件,文件名都是a,

请问运行程序文件的命令是【doa】、

运行查询文件的命令是【doa.qpr】、

运行表单文件的命令是【doforma】

7、执行下列程序后,输出到屏幕的结果为【3】。

【程序清单】

CLEAR

cstring="VisualFoxPro"

nresult=0

m=LEN(cstring)

FORn=1tom

c=SUBSTR(cstring,n,1)

IF!

BETWEEN(ASC(c),ASC("A"),ASC("Z"))

LOOP

ENDIF

nresult=nresult+l

ENDFOR

?

nresult

8、完善下列自定义函数STR_RV(),其功能是将一个字符串(假设所有字符均为ASCII和GB2312字符集中的字符)进行"反序".例如,STR_RV("ABCD")的返回值为"DCBA".

【程序清单】

FUNCTIONstr_rv()

PARAMETERSc

P=SPACE(O)

DOWHILELEN(C)>0

x=ASC(【LEFT(c,1)/SUBSTR(c,1,1)/SUBS(c,1,1)】)

IFx>127&&ASCII码值大于127的字符为汉字(x为半个汉字的机内码)

i=2

ELSE

i=1

ENDIF

P=LEFT(C,i)+P

C=SUBSTR(c,i+1)

ENDDO

【RETURNP/RETUP】

ENDFUNC

9、在VisualFoxPro中,基类的事件集合是固定的,不能进行扩充.基类的最小事件集包括Init事件、Destroy事件和【error】事件

10、如果2002年3月18号是星期一,则以下命令在屏幕上显示【2】

x={^2002/03/18}

?

dow(x)

11、完善程序题.下列程序的功能是统计一个字符串中各个字符的个数(假设字符串仅由大写英文字母A,B,C,D组成):

cStr='AABBDDCABCDAADBCAACCDDDDBB'&&字符串赋初值

STORE0TOnA,nB,nC,nD,&&计数变量

fori=1to【len(cStr)】

C=LEFT(【cStr,1】)

docase

caseC="A"

nA=nA+1

caseC="B"

nB=nB+1

caseC="C"

nC=nC+1

caseC="D"

nD=nD+1

【endcase/ENDC】

EndF

12、完善下列程序,是程序的结果如下图所示

1*1=11*2=21*3=31*4=41*5=51*6=61*7=71*8=81*9=9

2*2=42*3=62*4=82*5=102*6=122*7=142*8=162*9=18

3*3=93*4=123*5=153*6=183*7=213*8=243*9=27

4*4=164*5=204*6=244*7=284*8=324*9=36

5*5=255*6=305*7=355*8=405*9=45

6*6=366*7=426*8=486*9=54

7*7=49788=567*9=63

8*8=648*9=72

9*9=81

*****程序*****

CLEAR

FORi=1TO9

FORj=1TO9

Ifi<=j

?

?

STR(I,1)+"*"+STR(j,1)+"="+【str(i*j,2)】+SPACE

(2)

ENDIF

ENDFOR

【?

ENDFOR

13、已知在命令行输入?

at("e","Helloeveryone!

",3)其返回值为9,

则?

at("e","Helloeveryone!

",2)返回值为【7】

14、下面程序执行以后,屏幕上显示【.f.】

x=.t.

y=.f.

z=not(xand(yorx))

?

z

15、执行以下程序段后,屏幕显示的运行结果为【15】.

【程序清单】

CLEAR

x=12

DoWHILE.T.

x=x+1

IFx=INT(x/4)*5

?

?

x

ELSE

LOOP

ENDIF

IFX>10

EXIT

ENDIF

ENDD0

16、使程序的运行结果如下所示:

1*9+2=11

12*9+3=111

123*9+4=1111

1234*9+5=11111

12345*9+6=111111

123456*9+7=1111111

1234567*9+8=11111111

12345678*9+9=111111111

123456789*9+10=1111111111

完善下列程序:

SETTALKOFF

CLEAR

x=space(0)

Fori=1to【9】

x=x+allt(str(i))

?

STR(VAL(x))+"*9+"+【allt(str(I+1))/str(I+1)】+"="+ALLT(STR(VAL(x)*9+i+1))

ENDFOR

17、使用LOCAL、PRIVATE和PUBLIC关键字可以指定变量的作用域.

在命令窗口中创建的任何变量或数组均为【全局/publ】性变量.

18、函数LEN(STR(12345678901))的返回值为【10】,函数LEN(DTOC(DATE()))的返回值为【8】

19、函数或过程的参数可以是变量或数组元素,并可以通过值或引用传递.如果希望自定义函数修改参数,并将修改后的值返还给主程序,则应通过【引用】传递函数.

20、设有一表文件xs.dbf且已在当前工作区中打开,则使用命令COPYTO

【xstypexls/xsxls】,可以将该表的数据复制到Excel文件xs.xls中.

21、在自定义函数中,定义形式参数的关键字为【parameters/para】

22、在VFP中,每个对象都具有属性,以及与之相关的【事件和方法】.其中,属性是定义对象的特征或某一方面的行为.

23、下面有两段程序代码,它们的功能【相同】(注:

答"相同"或"不相同").

【程序一清单】

nSum=0

p=1

FORi=1TO10

p=p*i

nSum=nSum+p

ENDFOR

?

nSum

【程序二清单】

nSum=0

FORi=1to10

nSum=nSum+fJC(i)

ENDFOR

?

nSum

FUNCTIONfJC

PARAMETERSx

p=1

FORn=1TOx

p=P*n

ENDFOR

RETURNp

ENDFUNC

24、完善程序题.下列自定义函数DeleteSpace()的功能是将一个字符串中的所有空格删除:

FUNCTIONDeleteSpace

PARAMETERScStr

cResult=SPACE(0)

FORn=1TO【len(cstr)】

IFSUBSTR(cStr,n,1)=SPACE

(1)

【loop】

ENDIF

cResult=cResult+SUBSTR(cStr,n,1)

ENDFOR

RETURN【cResult】

ENDFUNC

25、实现如下表达式的和:

1+3+5+7+9+11,请完善如下程序:

      s=0

ForI=1to11

ifmod(I,2)=0

【LOOP】

EndIf

s=s+i

EndFor

?

s

26、完善下列程序,其功能是统计一个仅由数字组成的字符串中各种数字字符的个数:

Clear

cStr="110102342245676893319"

Store0Ton0,n1,n2,n3,n4,n5,n6,n7,n8,n9

DowhileLen(cStr)>0

C=Left(cStr,1)

n&C=【n&c.+1/n&c+1】

cStr=【SUBSTR(cStr,2)/SUBS(cStr,2)】

Enddo

?

n0,n1,n2,n3,n4,n5,n6,n7,n8,n9

27、以下程序产生1000个0-100之间的随机整数,并且统计互不相同的数据个数.

CLEAR

n=1000

DIMENSIONx(n),p(n)&&数组P用于存储数是否相同的标识

FORi=1T0n

x(i)=INT(RAND()*100)

ENDFOR

s=O

FORi=1T0n-1

FORj=i+lTOn

IFx(i)=x(j)

p(i)=.T.

【Exit】

ENDIF

ENDFOR

ENDFOR

FORi=1TOn

IF!

p(i)

s=s+1

ENDIF

ENDFOR

?

s

28、完善下列程序,以实现通过字符串变量操作竖向显示"天长地久"、横向显示"地久天长"的功能.程序清单如下:

SETTALKOFF

STORE"天长地久"TOch

CLEAR

n=1

DOWHILEn<8

?

substr【(ch,n,2)】

n=n+2

ENDDO

?

substr【(ch,5,4)/(ch,5)】

?

?

SUBSTR(ch,1,4)

29、一只球从100米的高度自由落下,每次落地后反弹回原高度的一半.下列程序的功能是:

计算并显示当它在第10次落地时,总共经过的距离和第10次反弹的高度.

【程序清单】

CLEAR

S=100

h=50

FoRi=1TO9

s=s+h*2

h=【h/2】

ENDFOR

?

"球在第10次落地时,共经过了:

'+ALLT(STR(s,10,6))+"米"

?

"球第1O次反弹的高度是:

"+ALLT(STR(h,10,6))+"米"

30、执行下列程序后,输出到屏幕的结果为【3】.

【程序清单】

CLEAR

cstring="VisualFoxPro"

nresult=0

m=LEN(cstring)

FORn=1tom

c=SUBSTR(cstring,n,1)

IF!

BETWEEN(ASC(c),ASC("A"),ASC("Z"))

LOOP

ENDIF

nresult=nresult+l

ENDFOR

?

nresult

31、运行下列程序后,显示的运行结果的第二行为【11*11=121】

SETTALKOFF

CLEAR

Y="11111111"

FORI=1TOLEN(y)

X=LEFT(y,i)

?

SPACE(20-i*2)+x+"*"+x+"="+ALLT(STR(VAL(x)*VAL(x)))

ENDFOR

32、下列自定义函数NTOC()的功能是:

当传送一个1~7之间的数值型参数时,

返回一个中文形式的"星期日~星期六".例如,执行命令?

NTO(4),显示"星期三".

FUNCTIONNTOC

PARAMETERSn

LOCALch

ch="日一二三四五六"

mch="星期"=SUBSTR(ch,【2*n-1】,2)

RETURNmch

ENDFUNC

33、运行下列程序后,显示的运行结果为【FoxPro】.

?

TT("123E%nw$O4q*5n6")

FUNCTIONTT

PARAcstr

cResult=space(0)

FORn=1toLEN(ALLT(cStr))

c=SUBSTR(cStr,n,1)

IF!

BETWEEN(c,"A","Z")and!

BETWEEN(c,"a","z")

LOOP

ENDIF

cResult=cResult+CHR(ASC(c)+1)

ENDFOR

RETURNcResult

ENDFUNC

34、执行下列程序后,输出到屏幕的结果为【300】.

【程序清单】

CLEAR

STORE5TOml,m2

STORE1TOm3,m4

DOPAWITHml,m2,m3,m4

?

m4

PROCEDUREPA

PARAMETERa,b,c,d

d=b^2-4*a*c

DOCASE

CASEd<0

d=100

CASEd=0

d=200

CASEd>0

d=300

ENDCASE

RETURN

35、已知STUDENT表有20条记录,执行以下代码后,屏幕显示的是【10】

clear

closeall

usestudent

i=0

scan

i=i+1

skip

endscan

?

i

36、完善下列程序,以显示7~1000以内能被7整除且含有数字5的所有证书(例如35、56、105等).

FORn=7TO1000【step7】

ch=ALLT(STR(n))

IF"5"$ch

?

n

ENDIF

ENDFOR

37、表达式STR(YEAR(DATE()+10))的值的数据类型为【字符/C】型

38、完善下列程序,计算3+33+333+3333+33333+……前十项之和。

CLEAR

m=3

n=0

s=0

FoRi=1TO10

n=【n*10+3/int(10**i/3)】

s=s+n

ENDFor

39、运行以下程序后,VFP主窗口显示的结果是【6】.

【程序清单】

CLEAR

i=0

n=0

DOWHILEi<=10

IFMOD(i,2)=0

n=n+1

ENDIF

i=i+1

ENDDO

?

n

40、循环语句中跳过当前循环,直接进入下一轮循环的语句是【loop】

41、依次执行以下命令之后,最后一条命令的输出结果是【VisualFoxPro6.0】

SETEXACTOFF

x="6.0"

?

IIF(x="6.0","VisualFoxPro"-x,"VisualFoxPro"+"5.0")

42、在VFP命令窗口中输入并执行命令【_Screen】.FontSize=20,可以使VFP主窗口中输出文本的字号设置为20.

43、命令关键字和函数名一般可以缩写为前四个字母,但MEESSAGEBOX()函数的缩写为

【messageb()/messageb】

44、在定义数组时,使用DECLEAR和【dimension/dim】声明的数组属于"私有数组",而使用PUBLIC命令声明的数组属于"全局数组",使用LOCAL命令声明的数组属于"局部数组".

45、在面向对象的程序设计中,通过类可以简化应用程序的设计,因为类具有【继承性】、

多态性、封装性、抽象性等特点.

46、执行下列主程序后,输出结果为【22】

****主程序****

CLEAR

Publicx,y,z

X=3

Y=4

Z=5

Dopp

?

x+y+z

****过程****

ProcedurePP

LOCALx

X=5

Y=7

Z=x+y

EndPROC

47、完善以下用户自定义函数,使得当输入0——9之间的整数时,函数返回对应的中文:

functionntoc

parameterpdi

cstr="零一二三四五六七八九"

cresult=substr(cstr,【pdi*2+1】,【2】)

return【cresult】

endfunc

48、下列程序段用一句命令表示为【】

DOCASE

CASEX>=85

Y='优秀'

CASEX>=60

andx<85

Y='及格'

OTHERWISE

Y='不及格'

ENDCASE

答案:

y=iif(x>=85,"优秀",iif(x>=60,"及格","不及格"))

或y=iif(x>=85,"优秀",iif(x<60,"不及格","及格"))

或y=iif(x<60,"不及格",iif(x>=85,"优秀","及格"))

或y=iif(x<60,"不及格",iif(x<85,"及格","优秀"))

49、设定日期显示格式中,年的表示是否显示4位数的命令是【setcentury/setcent】on|off

50、在VFP中,利用可是化开发工具(表单设计器)创建表单和对象.通过对对象属性的修改、

方法程序的调用来处理对象.相对引用对象时,所设计的关键字THIS、THISFORMTHISFORMSET只能在方法程序或【事件】处理代码中使用.

51、执行以下程序,屏幕显示为:

【10】和【15】

x=8

DOWHILE.T.

x=x+1

IFx=INT(x/4)*5

?

?

x

ELSE

LOOP

ENDIF

IFx>10

EXIT

ENDIF

ENDDO

52、完善下列程序,使其具有如下功能:

将任意输入的十进制正整数转换为十六进制数形式并显示.(提示:

字母A的ASCII码为65;INPUT语句用于从键盘上输入一个数据)

SETTALKOFF

CLEAR

INPUT"请输入任一正整数"TOnum&&输入一个数,并赋予变量num

num1=num

xnum=SPACE(0)

y="IIF(MOD(num,16)>9,CHR(【mod(num,16)+55】),str(MOD(num,16),1))"

DOWHILEnum>15

xnum=&y+xnum

num=INT(【num/16】)

ENDDO

xnum=&y+xnum

WAITWINDOWSTR(【num1】)+"转换为十六进制后为"+xnum

53、下列程序用来计算数列2/1,3/2,5/3,……,155/18,173/19,192/20,……的前20项之和.

阅读程序并完善,使它能实现要求的功能.

【程序清单】

CLEAR

m=2s=0

FORi=1TO20

s=s+m/i

m=【m+i】

ENDFOR

?

s

54、VFP系统中,程序控制分为顺序、分支和【循环】.

55、当人机交互改变对象的值时发生的事件是【interactivechange】,该事件在组合框、列表框等对象中被常常使用(请写出完整的关键字)

 

56、完善程序题.下列程序的功能是计算下列数列1!

2!

3!

…,n!

的前10项之和:

nResult=0

nMult=【1】

FORn=1TO10&&计数变量

nMult=nMult*n

nResult=【nResult+nMult】

ENDFOR

?

nResult

57、完善下列程序,使两个程序的功能相同。

[程序清单1]

CLEAR

S=0

P=1

Fori=1to20

P=【P*I】

S=S+P

ENDFOR

?

s

[程序清单2]

CLEAR

S=0

N=1

Fori=1to20

M=1

Forn=1toi

M=M*n

Endfor

S=S+M

Endfor

?

S

58、下列程序用来求0——100偶数之和,请将它写完整

STORE0TON,S

DOWHILE.T.

IFN>100

【Exit】

ELSE

S=S+N

ENDIF

N=N+2

ENDDO

 

59、本题程序求以下正项级数的近似值:

【程序清单】'

CLEAR

i=0

sn1=O

DOWHILE.T.

i=i+1

sn1=sn1+l/(i*(i+1)*(i+2))

sn2=【sn1+1/((i+1)*(i+2)*(i+3))】

IFABS(sn2-snl)<0.0001

【Exit】

ENDIF

ENDDO

?

sn2

60、运行下列程序段以后,显示内容的前两行为:

【ABCDE】和【BCDE】

SETTALKOFF

S="ABCDEF"

N=LEN(S)

K=1

DOWHILEK<=N

?

SUBS(S,K,N-K)

K=K+1

ENDDO

61、完善下列程序,使两个程序的功能相同(求一个数列的前20项之和).

【程序清单1】【程序清单2】

CLEARCLEAR

s=0s=0

FORi=1To20FORi=lTO19STEP2

s=s+(-1)**(i+1)/(【

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2