vfp程序部分上机试题.docx
《vfp程序部分上机试题.docx》由会员分享,可在线阅读,更多相关《vfp程序部分上机试题.docx(14页珍藏版)》请在冰点文库上搜索。
vfp程序部分上机试题
填空填是把问号删除后填,改错是在FOUND下面那行改
1、
*-------------------------------------------------------
*【程序填空】-HS
*-------------------------------------------------------
*题目:
计算s=1+1/2+1/3+...+1/10的值
*-------------------------------------------------------
settalkoff
clear
s=1
***********SPACE**********
i=【?
】
dowhilei<=10
***********SPACE**********
s=s+【?
】
i=i+1
***********SPACE**********
【?
】
?
"s=",s
settalkon
答案:
1)2
2)1/i
3)enddo或endd
2、
*-------------------------------------------------------
*【程序填空】
*-------------------------------------------------------
*题目:
通过字符串变量的操作,先竖向显示“伟大祖国”,后横
*向显示“祖国伟大”。
*-------------------------------------------------------
SETTALKOFF
**********SPACE**********
【?
】"伟大祖国"TOXY
CLEAR
N=1
DOWHILEN<8
?
SUBSTR(XY,N,2)
**********SPACE**********
N=N+【?
】
ENDDO
?
SUBSTR(XY,5,4)
**********SPACE**********
?
?
SUBSTR(XY,【?
】,4)
RETURN
答案:
1)store或stor
2)2
3)1
3、
*-------------------------------------------------------
*【程序改错】--2222
*-------------------------------------------------------
*题目:
本程序求给定两个正整数的最大公约数。
*-------------------------------------------------------
*注意:
不可以增加或删除程序行,也不可以更改程序的结构。
*-------------------------------------------------------
SETTALKOFF
CLEA
INPUT'N='TON
INPUT'M='TOM
X=MIN(M,N)
FORI=XTO1STEP-1
IFM/I=INT(M/I)andN%I=0
G=I
**********FOUND**********
LOOP
**********FOUND**********
ENDF
ENDFOR
?
"最大公约数是",G
SETTALKON
答案:
1)exit
2)endif或enfi
*-------------------------------------------------------
**-------------------------------------------------------
4、
*【程序改错】
*-------------------------------------------------------
*题目:
本程序的功能是:
从学生.dbf中找出奖学金最高的学生,
*显示姓名、奖学金
*-------------------------------------------------------
*注意:
不可以增加或删除程序行,也不可以更改程序的结构。
*-------------------------------------------------------
SETTALKOFF
CLEAR
USE学生
XM=姓名
JXJ=奖学金
DOWHILE!
EOF()
***********FOUND**********
IFFOUND()
JXJ=奖学金
XM=姓名
ENDIF
***********FOUND**********
CONT
ENDDO
?
XM,JXJ
USE
SETTALKON
答案:
1)ifJXJ<奖学金或if奖学金>JXJ
2)skip
5、
*-------------------------------------------------------
*【程序填空】
*-------------------------------------------------------
*题目:
输入一个数值m,求出m后20个能被3整除并且个位数是3的数
*的和,如输入数12,则求出33+63+93+...+603共20个数的和6360
*-------------------------------------------------------
SETTALKOFF
CLEAR
INPUT"X="TOX
S=0
N=0
***********SPACE**********
DOWHILEN<=【?
】
***********SPACE**********
IFMOD(X,10)=3【?
】MOD(X,3)=0
S=S+X
***********SPACE**********
【?
】
ENDIF
X=X+1
ENDDO
?
"S=",S
SETTALKON
答案:
1)19
2)and
3)n=n+1或n=1+n
6、
*-------------------------------------------------------
*【程序改错】
*-------------------------------------------------------
*题目:
用永真循环实现向学生表中添加记录,其中学号,姓名
*和出生年月四个字段内容从键盘输入.
*-------------------------------------------------------
*注意:
不可以增加或删除程序行,也不可以更改程序的结构。
*-------------------------------------------------------
*程序如下
SETTALKOFF
CLEA
USE学生
DOWHILE.T.
ACCEPT"请输入学号"TOXH
ACCEPT"请输入姓名"TOXM
INPUT"请输入出生年月"TOCSNY
***********FOUND**********
APPEND
REPL学号WITHXH,姓名WITHXM,出生年月WITHCSNY
WAIT"继续输入吗?
"TOYN
IFUPPER(YN)="N"
***********FOUND**********
LOOP
ENDIF
ENDDO
SETTALKON
答案:
1)appendblank
2)exit
7、
*-------------------------------------------------------
*【程序改错】--2222
*-------------------------------------------------------
*题目:
本程序求给定两个正整数的最大公约数。
*-------------------------------------------------------
*注意:
不可以增加或删除程序行,也不可以更改程序的结构。
*-------------------------------------------------------
SETTALKOFF
CLEA
INPUT'N='TON
INPUT'M='TOM
X=MIN(M,N)
FORI=XTO1STEP-1
IFM/I=INT(M/I)andN%I=0
G=I
**********FOUND**********
LOOP
**********FOUND**********
ENDF
ENDFOR
?
"最大公约数是",G
SETTALKON
答案:
1)exit
2)endif
8、
-------------------------------------------------------
*【程序填空】
*-------------------------------------------------------
*题目:
输出3到100之间的所有素数,并要求每行显示5个素数。
*-------------------------------------------------------
SETTALKOFF
CLEAR
N=3
J=0
DOWHILEN<100
I=2
DOWHILEIIFINT(N/I)=N/I
**********SPACE**********
【?
】
ENDIF
I=I+1
ENDDO
IFI>=N
?
?
STR(N,5)
J=J+1
IFINT(J/5)=J/5
**********SPACE**********
【?
】
ENDIF
ENDIF
**********SPACE**********
【?
】
ENDDO
SETTALKON
RETURN
答案:
1)exit
2)?
3)n=n+1
9、
*-------------------------------------------------------
*【程序改错】--2222
*-------------------------------------------------------
*题目:
计算出1-30以内(包含30)能被5整除的数之和。
*-------------------------------------------------------
*注意:
不可以增加或删除程序行,也不可以更改程序的结构。
*-------------------------------------------------------
CLEAR
SETTALKOFF
X=0
Y=0
DOWHILE.T.
X=X+1
DOCASE
CASEMOD(X,5)=0
Y=Y+X
CASEX<=30
**********FOUND**********
EXIT
CASEx>30
**********FOUND**********
LOOP
ENDCASE
ENDDO
?
Y
SETTALKON
答案:
1)loop
2)exit
10、
*-------------------------------------------------------
*【程序填空】
*-------------------------------------------------------
*题目:
下面程序是编写一个自定义函数,将月份转换成中文大写形式。
*请在【】处添上适当的内容,使程序完整。
***********SPACE**********
【?
】
M=MONTH(X)
C="○一二三四五六七八九十"
S=""
***********SPACE**********
【?
】
S=S+SUBSTR(C,2*M+1,2)
ELSE
s=S+"十"+SUBSTR(C,2*MOD(M,10)+1,2)
ENDIF
S=S+"月"
***********SPACE**********
【?
】
答案:
1)parax
2)ifm<=10
3)return5
11、
-------------------------------------------------------
*【程序填空】
*-------------------------------------------------------
*题目:
显示所有100以内的6的倍数的数,并求这些数的和。
*-------------------------------------------------------
SETTALKOFF
I=1
***********SPACE**********
【?
】
DOWHILEI<=100
***********SPACE**********
IFMOD(【?
】)=0
?
I
S=S+I
***********SPACE**********
【?
】
I=I+1
ENDDO
?
"S=",S
RETURN
答案:
1)s=0
2)I,6
3)endif
12、
*-------------------------------------------------------
*【程序填空】
*-------------------------------------------------------
*题目:
输入一个三位数,判断该数是否为水仙花数,所谓水仙花数是
*指三位数的三个数码的立方和等于该数本身,如153=1^3+5^3+3^3
*-------------------------------------------------------
SETTALKOFF
CLEAR
INPUT"X="TOX
M=X
S=0
DOWHILEM>0
***********SPACE**********
P=MOD(M,【?
】)
S=S+P^3
***********SPACE**********
M=INT(【?
】)
ENDDO
IFS=X
?
X,"是水仙花数"
***********SPACE**********
【?
】
?
X,"不是水仙花数"
ENDIF
SETTALKON
答案:
1)10
2)m/10
3)else
13、
*-------------------------------------------------------
*【程序改错】
*-------------------------------------------------------
*题目:
本程序求给定两个正整数的最小公倍数和最大公约数。
*-------------------------------------------------------
*注意:
不可以增加或删除程序行,也不可以更改程序的结构。
*-------------------------------------------------------
SETTALKOFF
CLEA
INPUT'N='TON
INPUT'M='TOM
X=MIN(N,M)
FORI=XTO1STEP-1
IFM/I=INT(M/I)ANDN/I=INT(N/I)
GYS=I
***********FOUND**********
LOOP
ENDIF
***********FOUND**********
ENDCASE
?
'最大公约数最小公倍数'
?
GYS,M*N/GYS
SETTALKON
答案:
1)exit
2)endfor