《VFP》 第五章习题DOCWord文件下载.docx
- 文档编号:7891603
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:30
- 大小:26.46KB
《VFP》 第五章习题DOCWord文件下载.docx
《《VFP》 第五章习题DOCWord文件下载.docx》由会员分享,可在线阅读,更多相关《《VFP》 第五章习题DOCWord文件下载.docx(30页珍藏版)》请在冰点文库上搜索。
,M="
2"
X12="
GOOD"
则表达式X&
N&
M的值为【GOOD】
6、已知有三个文件分别程序文件、查询文件、表单文件,文件名都是a,
请问运行程序文件的命令是【doa】、
运行查询文件的命令是【doa.qpr】、
运行表单文件的命令是【doforma】
7、执行下列程序后,输出到屏幕的结果为【3】。
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
nresult
8、完善下列自定义函数STR_RV(),其功能是将一个字符串(假设所有字符均为ASCII和GB2312字符集中的字符)进行"
反序"
.例如,STR_RV("
ABCD"
)的返回值为"
DCBA"
.
FUNCTIONstr_rv()
PARAMETERSc
P=SPACE(O)
DOWHILELEN(C)>
x=ASC(【LEFT(c,1)/SUBSTR(c,1,1)/SUBS(c,1,1)】)
IFx>
127&
ASCII码值大于127的字符为汉字(x为半个汉字的机内码)
i=2
ELSE
i=1
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="
nA=nA+1
B"
nB=nB+1
C"
nC=nC+1
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
*****程序*****
FORi=1TO9
FORj=1TO9
Ifi<
=j
STR(I,1)+"
*"
+STR(j,1)+"
="
+【str(i*j,2)】+SPACE
(2)
【?
】
13、已知在命令行输入?
at("
e"
"
Helloeveryone!
"
3)其返回值为9,
则?
2)返回值为【7】
14、下面程序执行以后,屏幕上显示【.f.】
x=.t.
y=.f.
z=not(xand(yorx))
z
15、执行以下程序段后,屏幕显示的运行结果为【15】.
x=12
DoWHILE.T.
x=x+1
IFx=INT(x/4)*5
x
IFX>
10
EXIT
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
nSum
【程序二清单】
FORi=1to10
nSum=nSum+fJC(i)
nSum
FUNCTIONfJC
PARAMETERSx
FORn=1TOx
p=P*n
RETURNp
ENDFUNC
24、完善程序题.下列自定义函数DeleteSpace()的功能是将一个字符串中的所有空格删除:
FUNCTIONDeleteSpace
PARAMETERScStr
cResult=SPACE(0)
FORn=1TO【len(cstr)】
IFSUBSTR(cStr,n,1)=SPACE
(1)
【loop】
cResult=cResult+SUBSTR(cStr,n,1)
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)>
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)
s=O
FORi=1T0n-1
FORj=i+lTOn
IFx(i)=x(j)
p(i)=.T.
【Exit】
p(i)
s=s+1
28、完善下列程序,以实现通过字符串变量操作竖向显示"
天长地久"
、横向显示"
地久天长"
的功能.程序清单如下:
SETTALKOFF
STORE"
TOch
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次反弹的高度.
【程序清单】
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】.
BETWEEN(ASC(c),ASC("
31、运行下列程序后,显示的运行结果的第二行为【11*11=121】
Y="
11111111"
FORI=1TOLEN(y)
X=LEFT(y,i)
SPACE(20-i*2)+x+"
+x+"
+ALLT(STR(VAL(x)*VAL(x)))
32、下列自定义函数NTOC()的功能是:
当传送一个1~7之间的数值型参数时,
返回一个中文形式的"
星期日~星期六"
.例如,执行命令?
NTO(4),显示"
星期三"
.
FUNCTIONNTOC
PARAMETERSn
LOCALch
ch="
日一二三四五六"
mch="
星期"
=SUBSTR(ch,【2*n-1】,2)
RETURNmch
33、运行下列程序后,显示的运行结果为【FoxPro】.
TT("
123E%nw$O4q*5n6"
)
FUNCTIONTT
PARAcstr
cResult=space(0)
FORn=1toLEN(ALLT(cStr))
c=SUBSTR(cStr,n,1)
BETWEEN(c,"
"
)and!
a"
z"
LOOP
cResult=cResult+CHR(ASC(c)+1)
RETURNcResult
34、执行下列程序后,输出到屏幕的结果为【300】.
STORE5TOml,m2
STORE1TOm3,m4
DOPAWITHml,m2,m3,m4
m4
PROCEDUREPA
PARAMETERa,b,c,d
d=b^2-4*a*c
DOCASE
CASEd<
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
37、表达式STR(YEAR(DATE()+10))的值的数据类型为【字符/C】型
38、完善下列程序,计算3+33+333+3333+33333+……前十项之和。
m=3
n=0
s=0
FoRi=1TO10
n=【n*10+3/int(10**i/3)】
s=s+n
ENDFor
39、运行以下程序后,VFP主窗口显示的结果是【6】.
【程序清单】
CLEAR
n=0
DOWHILEi<
=10
IFMOD(i,2)=0
n=n+1
ENDIF
i=i+1
ENDDO
40、循环语句中跳过当前循环,直接进入下一轮循环的语句是【loop】
41、依次执行以下命令之后,最后一条命令的输出结果是【VisualFoxPro6.0】
SETEXACTOFF
x="
6.0"
IIF(x="
"
VisualFoxPro"
-x,"
+"
5.0"
)
42、在VFP命令窗口中输入并执行命令【_Screen】.FontSize=20,可以使VFP主窗口中输出文本的字号设置为20.
43、命令关键字和函数名一般可以缩写为前四个字母,但MEESSAGEBOX()函数的缩写为
【messageb()/messageb】
44、在定义数组时,使用DECLEAR和【dimension/dim】声明的数组属于"
私有数组"
而使用PUBLIC命令声明的数组属于"
全局数组"
使用LOCAL命令声明的数组属于"
局部数组"
45、在面向对象的程序设计中,通过类可以简化应用程序的设计,因为类具有【继承性】、
多态性、封装性、抽象性等特点.
46、执行下列主程序后,输出结果为【22】
****主程序****
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='
优秀'
=60
andx<
85
Y='
及格'
OTHERWISE
不及格'
ENDCASE
答案:
y=iif(x>
=85,"
优秀"
iif(x>
=60,"
及格"
不及格"
或y=iif(x>
iif(x<
60,"
或y=iif(x<
=85,"
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
IFx>
10
52、完善下列程序,使其具有如下功能:
将任意输入的十进制正整数转换为十六进制数形式并显示.(提示:
字母A的ASCII码为65;
INPUT语句用于从键盘上输入一个数据)
SETTALKOFF
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】)
xnum=&
y+xnum
WAITWINDOWSTR(【num1】)+"
转换为十六进制后为"
+xnum
53、下列程序用来计算数列2/1,3/2,5/3,……,155/18,173/19,192/20,……的前20项之和.
阅读程序并完善,使它能实现要求的功能.
m=2s=0
FORi=1TO20
s=s+m/i
m=【m+i】
54、VFP系统中,程序控制分为顺序、分支和【循环】.
55、当人机交互改变对象的值时发生的事件是【interactivechange】,该事件在组合框、列表框等对象中被常常使用(请写出完整的关键字)
56、完善程序题.下列程序的功能是计算下列数列1!
2!
3!
…,n!
的前10项之和:
nResult=0
nMult=【1】
FORn=1TO10&
nMult=nMult*n
nResult=【nResult+nMult】
nResult
57、完善下列程序,使两个程序的功能相同。
[程序清单1]
S=0
P=1
Fori=1to20
P=【P*I】
S=S+P
s
[程序清单2]
N=1
M=1
Forn=1toi
M=M*n
Endfor
S=S+M
S
58、下列程序用来求0——100偶数之和,请将它写完整
STORE0TON,S
IFN>
100
S=S+N
N=N+2
59、本题程序求以下正项级数的近似值:
【程序清单】'
i=0
sn1=O
DOWHILE.T.
sn1=sn1+l/(i*(i+1)*(i+2))
sn2=【sn1+1/((i+1)*(i+2)*(i+3))】
IFABS(sn2-snl)<
0.0001
sn2
60、运行下列程序段以后,显示内容的前两行为:
【ABCDE】和【BCDE】
S="
ABCDEF"
N=LEN(S)
K=1
DOWHILEK<
=N
SUBS(S,K,N-K)
K=K+1
61、完善下列程序,使两个程序的功能相同(求一个数列的前20项之和).
【程序清单1】【程序清单2】
CLEARCLEAR
s=0s=0
FORi=1To20FORi=lTO19STEP2
s=s+(-1)**(i+1)/(【
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP VFP 第五章习题DOC 第五 习题 DOC