《VFP》 第五章习题

2019-03-29 09:38

第五章

一、填空

1、以下程序的功能是将英文字母组成的字符串加密.加密的算法是: 如果是大写字母,用原字母后面的第4个字母代替原字母,

否则用原字母后的第2个字母代替原字母,如原文\加密后的密文是\完善下列程序: m=space(0) c=\

for i=1 to 【 len(c) 】 nc=asc(substr(c,I,1)) if nc>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 FOR i=1 TO n ?SPACE(70-i)

FOR j=1 【 TO i 】 ?? SUBS(C,2*i-1,2) =INKEY(0.5) ENDFOR ENDFOR

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

if int(x/2)=x/2 y=mod(x,3) x=x+4 endif

if int(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=\则表达式X&N&M的值为【 GOOD 】 6、已知有三个文件分别程序文件、查询文件、表单文件,文件名都是a, 请问运行程序文件的命令是【 do a 】、 运行查询文件的命令是【 do a.qpr 】、 运行表单文件的命令是【 do form a 】

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

cstring=\ nresult=0

m=LEN(cstring) FOR n=1 to m

c=SUBSTR(cstring,n,1)

IF !BETWEEN(ASC(c),ASC(\ LOOP ENDIF

nresult=nresult+l ENDFOR

?nresult

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

FUNCTION str_rv() PARAMETERS c P=SPACE(O)

DO WHILE LEN(C)>0

x=ASC(【 LEFT(c,1)/ SUBSTR(c,1,1)/ SUBS(c,1,1) 】) IF x>127 &&ASCII码值大于127的字符为汉字(x为半个汉字的机内码) i=2 ELSE i=1 ENDIF

P=LEFT(C,i)+P C=SUBSTR(c,i+1) ENDDO

【 RETURN P/ RETU P 】 ENDFUNC

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

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

x={^2002/03/18} ?dow(x)

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

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

STORE 0 TO nA,nB,nC,nD, &&计数变量 for i=1 to 【 len(cStr) 】 C=LEFT(【 cStr,1 】) do case case C=\ nA=nA+1 case C=\ nB=nB+1 case C=\ nC=nC+1 case C=\ nD=nD+1

【 endcase/ ENDC 】 EndF

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

1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45 6*6=36 6*7=42 6*8=48 6*9=54 7*7=49 788=56 7*9=63 8*8=64 8*9=72 9*9=81

*****程序***** CLEAR

FOR i=1 TO 9 FOR j=1 TO 9 If i<=j

?? STR(I,1)+\【 str(i*j,2) 】 +SPACE(2) ENDIF ENDFOR 【 ? 】 ENDFOR

13、已知在命令行输入 ?at(\其返回值为9,

则?at(\返回值为【 7 】 14、下面程序执行以后,屏幕上显示【 .f. 】

x=.t. y=.f.

z=not(x and (y or x)) ?z

15、执行以下程序段后,屏幕显示的运行结果为【 15 】 . 【程序清单】 CLEAR x=12

Do WHILE .T. x=x+1

IF x=INT(x/4)*5 ??x ELSE LOOP ENDIF IF X>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

完善下列程序: SET TALK OFF CLEAR x=space(0)

For i=1 to 【 9 】 x=x+allt(str(i)) ?STR(VAL(x))+\【 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 且已在当前工作区中打开,则使用命令COPY TO

【 xs type xls/ xs xls 】,可以将该表的数据复制到Excel文件xs.xls中. 21、在自定义函数中,定义形式参数的关键字为【 parameters/ para 】

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

对象的特征或某一方面的行为.

23、下面有两段程序代码,它们的功能【 相同 】(注:答\相同\或\不相同\【程序一清单】 nSum=0 p=1

FOR i=1 TO 10

p=p*i

nSum=nSum+p ENDFOR ?nSum

【程序二清单】 nSum=0

FOR i=1 to 10

nSum=nSum+fJC(i) ENDFOR ?nSum

FUNCTION fJC PARAMETERS x p=1

FOR n=1 TO x

p=P*n

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

FUNCTION DeleteSpace PARAMETERS cStr cResult=SPACE(0)

FOR n=1 TO 【 len(cstr) 】

IF SUBSTR(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 For I=1 to 11

if mod(I,2)=0 【 LOOP 】 EndIf s=s+i EndFor ?s


《VFP》 第五章习题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:1有理数知识点+典型例题+习题要点

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: