VFP程序习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目1:从键盘输入三角形的边长,输入边长满足两边之和大于第三边,且为正值。计算并输出三角形的面积S;若不满足以上条件,显示输出"不能构成三角形"。
* 其中面积公式请参看(图1)。
Area=根号下s*(s-a)*(s-b)*(s-c)
S=(a+b+c)/2
* 将面积值存入变量AREA中。
* 请按照题目要求,在下面编写程序代码。
SET TALK OFF
SET LOGERRORS ON
INPUT TO A
INPUT TO B
INPUT TO C
? "三角形面积为",FUN(A,B,C)
YZJ()
SET TALK ON
RETURN
FUNCTION FUN(a,b,c)
AREA=-1
**********Program**********
if a+b>c and a+c>b and b+c>a and a>0 and b>0 and c>0 s=(a+b+c)/2
area=sqrt(s*(s-a)*(s-b)*(s-c))
? "三角形面积为",s
else
? "不能构成三角形"
endif
********** End **********
RETURN AREA
FUNCTION YZJ()
USE IN
LOCAT FOR TIHAO=1
IF FOUND()
A=N1
B=N2
C=N3
O=FUN(A,B,C)
DO YZJ1 WITH O
ELSE
?"试题输入文件已损坏,请重新配置考试环境"
USE
RETURN
*题目2:已知变量x为正整数,编程求变量x的位数。* (请用do case...case...endcase语句完成。)
* 将结果存入变量OUT中。
* 请按照题目要求,在下面编写程序代码。
SET TALK ON
SET LOGERRORS ON
x=4764
OUT=-1
**********Program**********
do case
case x>9999
place=5
case x>999
place=4
case x>99
place=3
case x>9
place=2
othe place=1
OUT=place
? OUT
********** End **********
DO YZJ WITH OUT
SET LOGERRORS OFF
SET TALK OFF
*题目3:编一程序打印一个数列,前两个数是0、1第三个数是前两个数之和,以后的每个数都是其前两个数之和。编程
* 求出此数列第20个数,将结果存入变量OUT中。
* 请按照题目要求,在下面编写程序代码。
SET LOGERRORS ON
OUT=-1
**********Program**********
a=0
b=1
i=3
do while i<=20
c=a+b
a=b
b=c
i=i+1
enddo
OUT=c
?OUT
********** End **********
DO YZJ28 WITH OUT
RETURN
*题目4:编程求P=1-1/(2×2)+1/(3×3)-1/(4×4)+1/(5×5)。
* 将结果存入变量OUT中,要求用Do While语句实现。SET TALK ON
SET LOGERRORS ON
OUT=-1
**********Program**********
P=0
M=1
DO WHILE M<=5
P=P+((-1)^(M+1))/(M*M)
M=M+1
ENDDO
?"P=",P
OUT=P
********** End **********
DO YZJ WITH OUT
SET TALK OFF
*题目5:编程计算并输出给定整数n的所有因子之积* (不包括1与自身)。
* 将结果存入变量OUT中。
* 请按照题目要求,在下面编写程序代码。SET TALK ON
SET LOGERRORS ON
? "输入一个整数:n=855"
n=855
OUT=-1
**********Program**********
store 1 to s
for i=2 to n-1
if n%i=0
s=s*i
endif
endfor
? "s=",s
out=s
********** End **********
DO YZJ WITH OUT
SET TALK OFF
*题目6:编程求一分数序列2/1,3/2,5/3,8/5,13/8, * 21/13…的前20项之和。
* 将结果存入变量OUT中。
SET TALK ON
SET LOGERRORS ON
OUT=-1
**********Program**********
f1=1
f2=1
s=0
for i=1 to 20
f3=f1+f2
f1=f2
f2=f3
s=s+f2/f1
endfor
out=s
? Out
********** End *******
DO YZJ WITH OUT