VFP编程题答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

顺序结构程序设计
1.从键盘输入长方体的长、宽、高,求长方体的表面积。

input “输入长方体的长:” to x
input “输入长方体的宽:” to y
input “输入长方体的高:” to z
s=2*x*y+2*x*z+2*y*z
?”长方体的表面积为:”,s
2.从键盘输入圆的半径,计算圆的面积。

input “输入圆的半径:” to r
s=3.14*r^2
?”圆的面积为:”,s
3.建立数据库XS,将表XSQK.DBF添加到该数据库,并浏览该表所有数据,最后关闭数据库。

Create database xs
Add xsqk
Browse
Close all
4.在表XSQK.DBF中,查找出生日期为1983年10月8日的记录,并显示该记录;继续查找下一个满足上述条件的记录,并显示该记录。

Use xsqk
Locate for 出生日期 ={^1983-10-8}
Display
Continue
Display
Use
分支结构程序设计
1. 从键盘输入一个数,若为正数则输出,非正数则结束。

input “输入一个数:” to x
if x>0
?x
endif
return
2. 求一元二次方程AX2+BX+C=0的实根。

input “输入系数A:”to a
input “输入系数B:”to b
input “输入系数C:”to c
m=b^2-4*a*c
if m>=0
x1=(-b+sqrt(m))/(2*a)
x2=(-b-sqrt(m))/(2*a)
?”x1=”,x1, ”x2=”,x2
else
?”方程无实根!”
endif
3. 从键盘输入一个待查学生的学号,在表XSQK.DBF中查找。

若能找到,则显示该记录,否则,显示信息“该学号不存在”。

use xsqk
accept “输入待查学生学号:” to x
locate for 学号=x
if not eof()
display
else
?“该学号不存在”
Endif
Use
4. 从键盘输入一个自然数,若为偶数则输出信息“偶数”,若为奇数则输出信息“奇数”。

input “输入一个自然数:” to x
if x%2=0
?”偶数”
else
?”奇数”
endif
return
Y的值。

5.答案
input “输入X的值:” to x
if x>=0
f=3*exp(x+2)-1
else
f=2*x+5
endif
?”f=”,f
return
3e x+2-1
2X+5
x>=0
X<0
6. 计算运费。

车站从甲地到乙地托运行李,收费规定:若行李重量不超过50公斤,每公斤收费0.5元;若行李重量超过50公斤,其超重部分加收0.4元。

编写计算运费的程序。

clear
input "请输入行李的重量:" to n
if n<50
s=n*0.5
else
s=n*0.5+(n-50)*0.4
endif
?"应收费用为:",s
return
7.编写根据当前日期显示当前季节的程序。

clear
input "请输入日期:" to d
m=month(d)
do case
case m>=3 and m<=5
?"春季"
case m>=6 and m<=8
?"夏季"
case m>=9 and m<=11
?"秋季"
otherwise
?"冬季"
endcase
return
8.某百货公司为促销,采用购物打折扣的优惠办法,每位顾客一次购物:
(1)1000元至1999元之间者,按九五折优惠。

(2)2000元至2999元之间者,按九折优惠。

(3)3000元至4999元之间者,按八五折优惠。

(4)5000元以上者,按八折优惠。

编写程序,输入购物款数,计算并输出优惠价。

clear
input "输入你的购物金额:" to d
do case
case d>=1000 and d<=1999
m=d*0.95
case d>=2000 and d<=2999
m=d*0.9
case d>=3000 and d<=4999
m=d*0.85
case d>=5000
m=d*0.8
endcase
?"打折后的金额是:",m
return
9.编写程序,输入一个数字(0~7),显示其对应星期几的中英文信息。

clear
input "请输入一个数字:" to n
do case
case n=1
M="星期一(Monday)"
case n=2
M="星期二(Tuesday)"
case n=3
M="星期三(Wednesday)"
case n=4
M="星期四(Thursday)"
case n=5
M="星期五(Friday)"
case n=6
M="星期六(Saturday)"
case n=0
M="星期日(Sunday)"
otherwise
M="重新输入"
endcase
?"您输入的是:"+M
return
10. 设计个人纳税计算程序。

“税法”规定,使用超额累进税率,以每月收入额减去1600元后的余额,为应纳税所得额,其税率见下表:
input "请输入月收入:" to n s=n-1600
do case
case s<=500
r=s*0.05
case s<=2500
r=s*10
case s<=5000
r=s*15
case s<=20000
r=s*20
case s<=40000
r=s*25
case s<=60000
r=s*30
case s<=80000
r=s*35
case s<=100000
r=s*40
otherwise
r=r*0.45
endcase
?"应纳税额为:",r
return
循环结构
1. 求S=1+2+3+……+100 set talk off
clear
s=0
i=1
do while i<=100
s=s+i
i=i+1
enddo ?"1~100的和为:",s
Return
2. 求N!的值。

(N!=1*2*3*……*N)clear
input "请输入n的值:" to n
s=1
for i=1 to n
s=s*i
endfor
?"n!=",s
return
3. 计算101~500之间的所有奇数之和。

clear
s=0
for i=101 to 500
if i%2!=0
s=s+i
endif
endfor
?"101-500的奇数和为:",s
return
4. 输出100~1000之间能被37整除的数。

set talk off
clear
for i=100 to 1000
if i%37=0
?i
endif
endfor
set talk on
return
5.求S=1!+2!+3!+ (10)
clear
s=0
T=1
for I=1 to 10
T=T*i
S=S+1
endfor
?"S=",S
return
6.求S=1+(1+2)+(1+2+3)+……+(1+2+3+……+N)
clear
input "请输入N的值:" to N
s=0
t=0
for i=1 to N
t=t+i
s=s+t
endfor
?"总和为:",s
7. 从键盘输入一个数,判断其是否为素数。

clear
input "请输入数字:" to n
s=0
for i=2 to n-1
if n%i=0
s=1
endif
endfor
if s=0
?n,"是素数"
else
?n,"不是素数"
endif
return
8. 输出从2000到2100年之间的所有闰年。

提示:设N为年份数,若N能满足如下两个条件中任一个,则N为闰年。

(1)N能被4整除并且N不能被100整除,
(2)或者N能被400整除
clear
for i=2000 to 2100
if (i%4=0 and i%100!=0) or i%400=0
?i
endif
endfor
return
9. 在表BXCJ.DBF中,已经有数学、计算机、英语、物理四门课程的成绩,编写程序根据每人的平均成绩,在“总评”字段中填入对应的等级。

等级评定办法是:90分以上为优,75~89为良,60~74为及格,60分以下为不及格。

clear
use bxcj exclusive
avgscore=0
scan
avgscore=(数学+计算机+物理+英语)/4
do case
case avgscore>=90
M="优"
case avgscore>=75
M="良"
case avgscore>=60
M="及格"
case avgscore<60
M="不及格"
endcase
?replace 总评with M
endscan
use
return
10.编写程序,分别统计表XSQK.DBF中男、女同学的人数。

clear
use xsqk exclusive
store 0 to m,n
scan
if 性别='男'
m=m+1
else
n=n+1
endif
endscan
?"男生人数:"+str(m)
?"女生人数:"+str(n)
use
return
11.编写程序,中记录倒序逐条显示。

clear
use xsqk exclusive
n=reccount()
go bottom
for i=1 to n
display
wait
skip -1
endfor
set talk on
return
12.编写程序,使表GONGZI .DBF中每条记录根据职称情况自动进行工资普调。

普调规定是:教授每人增加100元,副教授每人增加80元,讲师每人增加50元,助教每人增加30元。

set talk off
clear
use gongzi exclusive
browse last
do case
case 职称='教授'
replace 基本工资with 基本工资+100 for 职称="教授"
case 职称='副教授'
replace 基本工资with 基本工资+80 for 职称="副教授"
case 职称='讲师'
replace 基本工资with 基本工资+50 for 职称="讲师"
case 职称='助教'
replace 基本工资with 基本工资+30 for 职称="助教"
endcase
browse last
use
set talk on
return
13.编写程序,输出如下乘法表。

1×1=1
2×1=2 2×2=4
3×1=3 3×2=6 3×3=9
………………
………………
……
9×1=9 9×2=
18 ………………
9×9=81
clear
for x=1 to 9 &&外层循环
y=1
do while y<=x && 内层循环
z=x*y
?? str(y,1)+"*"+str(x,1)+"="+str(z,2)+" "
y=y+1
enddo
?
endfor。

相关文档
最新文档