[应用]VFP程序设计题
Visual FxoPro程序设计题
1(编写程序,从键盘输入一个日期,查询STUDENT表中该日期以后出生的学生信息并显示在浏览窗口中。
use student &&运行前单击教学管理数据库
input “请输入某日期:” to rq
*输入时有提示,或input to rq输入时无提示,输入{^1987-01-01}
browse for 出生日期>rq 2(有一函数:
x (x<1)
y= 2x-1 (1?x,10)
3x-11 (x?10)
编写程序,输入x,输出y的值。
clear
input "Enter x please!" to x
if x<1
y=x
else
if x<10
y=2*x-1
else
y=3*x-11
endif
endif
? 'x=',x,'y=',y
3(编写程序,从键盘输入一个年份,判断它是否闰年。
clear
input "Enter year number please!" to y
if y%4=0 and y%100<>0 or y%400=0
? y,"is a leap year!"
else
? y,"is not leap year."
endif
4(编写程序,输入一个百分制成绩,要求输出成绩等级“A”、“B”、“C”、“D”、“E”。90分以上为“A”,80,89分为“B”,70,79分为“C”,60,69分为“D”,60分以下为“E”。
clear
input “请输入一百分制成绩” to cj
do case
case cj>=90
?” A” case cj>=80
?” B” case cj>=70
?” C”
case cj>=60
?” D” otherwise
?” E” endcase
5(编写程序,从键盘输入一个正整数M,输出M内(包括M)所有偶数。
clear input to m for i=0 to m step 2
??str(i,5) next
6(编写程序,从键盘输入一个正整数M,计算M内(包括M)所有偶数之和。
clear input to m s=0 for i=2 to m step 2
s=s+i next ? s
7(编写程序,从键盘输入5个数,找出其中的最大数和最小数。
clear input "请输入第一个数" to max
min=max for i=2 to 5 ? "请输入第"+str(i,2)+"个数"
input to a if a>max
max=a endif if a平均成绩 12(写程序,输入一个三位自然数,判断该数是否为水仙花数。所谓水仙花数是指一个三位
333自然数,其各位数字立方和等于该数本身。例如,153是水仙花数,因为153,1+5+3。
input to zrs
gw=zrs%10 sw=int(zrs/10)%10 bw=int(zrs/100) if bw**3+sw**3+gw**3=zrs
?”yes!” else ?”no.” endif
13(编写一个自定义函数,判断一个三位自然数是否为水仙花数,若是,返回逻辑真,否
则,返回逻辑假。编写主程序,输入一个三位自然数,调用自定义函数判断该数是否为水
仙花数。 clear input to n if sxh(n)
?”yes” else
?”no” endif function sxh para zrs gw=zrs%10 sw=int(zrs/10)%10 bw=int(zrs/100) if bw**3+sw**3+gw**3=zrs
return .t. else return .f. endif endfu
14(编写程序,输入一个自然数,判断该数是否为素数。
clear input to zrs sf=.t. for i=2 to sqrt(zrs)
if zrs%i=0
sf=.f. exit
endif endfor if sf=.t.
?”yes” else
?”no” endif 15(编写一个自定义函数,判断一个自然数是否为素数,返回一个逻辑值。编写主程序,
调用自定义函数求100,200间的所有素数。
for i=100 to 200
if prime(i)
??i endif
endfor function prime para zrs sf=.t. for j=2 to sqrt(zrs)
if zrs%j=0
sf=.f.
exit
endif endfor return sf endfunc 16(编写程序,输出如图5-12所示的图形。
* *** *****
*******
********* +++++++ +++++
+++
+
图5-12 实验题16的输出图形 clear
for i=1 to 5
?space(6-i)+repl(‘*’,2*i-1) endf
for i=1 to 4
?space(i+1)+repl(‘+’,9-2*i) endf
17.九九乘法表 (1)矩形样式
Clear
For I=1 to 10 &&外循环I控制输出9行
?
For J=1 to 9 &&内循环J控制第I行输出9项
??str(I,1)+”×”+str(J,1)+”=”+str(I*J,2) &&输出I*J项
??” “
Endfor
Endfor
Return
(2)斜向下样式 FOR n=1 TO 9
s=ALLT(STR(n-1))
i=ALLT(STR(n))
THISFORM.LIST1.ADDLISTITEM("*",1,1)
THISFORM.LIST1.ADDLISTITEM(i,n+1,1)
FOR t=n TO 9
i=ALLT(STR(n))
THISFORM.LIST1.ADDLISTITEM(i,1,n+1)
s=ALLT(STR(t*n))
THISFORM.LIST1.ADDLISTITEM(ALLT(STR(t))+"*"+ALLT(STR(n))+
"="+s,t+1,n+1) ENDFOR
ENDFOR
18.阶乘
(1)求单个数阶乘(以5为例) Clear
J=1
I=1
Do while i<=5 J=j*i
I=i+1
Enddo
?j
Return
(2)求阶乘和(求1到5阶乘的和)
Clear
S=0
I=1
J=1
Do while i<=5 J=j*i
S=s+j
I=i+1
Enddo
?s
Return
另外方法: set talk off clear
nFact=1 For lnCnt=1 To 5
nFact=nFact*lnCnt EndFor
?nFact
本文档为【[应用]VFP程序设计题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。