VFP程序设计典型例题汇总

合集下载

《vfp实验题整理》word版

《vfp实验题整理》word版

Visual FoxPro实验题汇总★顺序结构程序设计1.用过程化编成方式编写本题。

求解一元二次方程〔JFC.PRG〕a=1b=4c=4x1=<-b+SQRT<b^2-4*a*c>>/<2*a>x2=<-b-SQRT<b^2-4*a*c>>/<2*a>?"方程的一个根是:",x1,space<10>,"另一个根是:",x22.理解大小写转换函数。

在文本框中输入文本串,按"转大写"按钮,文本中的英文字母变为大写,按"转小写"按钮,文本中的英文字母变为小写〔如图所示〕。

<FORM><load>:Public a<text1><interactiveChange>:Thisform.text1.value=a<大写><click>:Thisform.text1.value=upper<a><小写><click>:Thisform.text1.value=lower<a><复原><click>:Thisform.text1.value=a3.班上集体购买课外读物,在文本框中输入3种书的单价、购买数量,计算并输出所用的总金额。

<总计><click>:a=val<thisform.text1.value>b=val<thisform.text2.value>c=val<thisform.text3.value>d=val<thisform.text4.value>e=val<thisform.text5.value>f=val<thisform.text6.value>thisform.text7.value=a*b+c*d+e*f4. 在文本框中输入小时、分、秒,化成共有多少秒,然后输出之。

VFP程序设计题汇总

VFP程序设计题汇总

S=0 N=1 DO WHILE N<=36 S=S+N N=N+1 ENDDO ? " 1+2+3+……+36的值为:", S SET TALK ON 用FOR循环的写法: SET TALK OFF CLEAR S=0 FOR N=1 TO 36 S=S+N ENDFOR ? " 1+2+3+……+36的和值:", S SET TALK ON 6. 用“SCAN…ENDSCAN循环结构”显示“学生信息.dbf”文件中“英语成 绩”大于等于75的记录。 SET TALK OFF CLEAR USE 学生信息 SCAN FOR 英语ቤተ መጻሕፍቲ ባይዱ绩>=75 DISPLAY ENDSCAN USE SET TALK ON
请编写:
(1) 表单Form1的Init事件代码: 单击“选中”界面 表单设计界面 this.text1.value="学生学号" &&文本框显示初值“学生学号” bel2.visible=.f. &&标签label2不可见 this.timer1.enabled=.f. &&计时器timer1不可用 this.timer1.interval=10 &&计时器时间间隔为10/1000 秒(即0.01秒)
13. 编制一个表单完成表文件“学生.dbf”内容的只读浏览显示功能;表 单初始显示内容为表文件“学生.dbf”的首记录;当按前翻、后翻、 首记录、末记录按钮时,表单将自动显示相应记录的内容;当翻至 表头或表尾时,将自动设置相应按钮不可访问。参见下面的表单设 计及运行示意图。

VFP常见编程实例及模拟试卷4套

VFP常见编程实例及模拟试卷4套

VFP常见编程实例及模拟试卷4套1、1-100的累加** 求1到100的累加值CLEARs=0i=1DO WHILE i<=100s=s+ii=i+1 &&一定记住先累加后循环ENDDOsRETURN2、阶乘** 求5的阶乘CLEARj=1i=1DO WHILE i<=5j=j*ii=i+1ENDDOjRETURN3、求阶乘和** 求1至5的阶乘和CLEARs=0i=1j=1DO WHILE i<=5j=j*is=s+ji=i+1ENDDOsRETURN4、条件定位** 查询定位记录指针在赵伟上CLEARUSE 学生LOCATE FOR 姓名="赵伟"IF FOUND()DISPLAYELSECANCELENDIFCONTINUE5、用scan语句查询定位** 用scan语句查询定位记录在赵伟上SCAN FOR 姓名="赵伟"DISPLAYENDSCANRETURN6、用scan语句扫描符合条件的记录,并显示出来** 把年龄小于30岁的人显示出来CLEARSCAN FOR 年龄<30DISPLAYENDSCANRETURN7、查找男性职工** 查找男性职工CLEARLOCATE FOR 性别="男"DO WHILE FOUND()DISPLAYCONTINUEENDDORETURN** 查找男性职工CLEARLOCATE FOR 性别="男"DO WHILE NOT EOF()DISPLAYCONTINUEENDDORETURN** 查找男性职工CLEARUSE 职员基本信息表LOCATE FOR 性别="男"DO WHILE .t.IF FOUND() thenDISPLAYELSE &&记住最后一个ELSE语句后面不需要条件表达式 CANCELENDIFCONTINUEENDDO** 查找男性职工set talk offclearopen database 家庭成员管理.dbcuse stu.dbfscan for not eof()if xb="女"skipelsedisplayendifendscanclose databaseuseset talk onreturn8、新值换旧值** 有一对新生的兔子,从第三个月开始,每个月出生一对兔子,请问到第十二个月共出生多少对兔子?clearstore 1 to a,bi=3do while i<=12c=a+ba=bb=ci=i+1enddo"一年共出生兔子:",creturn9、多位整数各个位数相加** 求多位整数各个位数之和CLEARs=0input "请输入一个多位整数:" to aDO WHILE a<>0s=s+MOD(a,10) &&将a取余正好是个位上的数a=INT(a/10) &&将a除10取整正好是除个位之后的数ENDDO"这个整数的各个位数之和是:",sRETURN10、找100-999之间的“水仙花数”CLEARFOR i=100 TO 999a=INT(i/100)b=INT((i-100*a)/10)c=i-INT(i/10)*10IF i=a^3+b^3+c^3?iENDIFENDFORRETURN11、判断一个大于3的数是否为素数CLEARinput "请输入一个数(>=3):" to sf=0i=2DO WHILE i<=INT(SQRT(s))IF MOD(s,i)<>0i=i+1ELSEf=1EXITENDIFENDDOIF f=0?str(s,3)+"是素数"ELSE f=1 &&这个表达式可有可无,为了省事完全省略也可以。

VFP程序设计题集

VFP程序设计题集

VFP程序设计题集1、求[10,1000]内所有能被被7和9中至少一个数整除的整数之个数。

set talk offclears=0for x=10 to 1000if mod(x,7)=0 and mod(x,9)=0n=n+xendifendforxset talk onreturn答案:2362、求[10,1000]内所有能同时被7和9整除的整数之和。

set talk offclears=0for x=10 to 1000if mod(x,7)=0 and mod(x,9)=0s=xendifendforxset talk onreturn答案:75603、求[10,1000]内所有能被6整除但不能被9整除的整数之和。

set talk offclears=0for x=10 to 1000if mod(x,6)=0 or mod(x,9)=0x=s+xendifendforsset talk onreturn答案:554404、求[10,1000]内所有能被6和9中的一个且只有一个数整除的整数的个数。

set talk offclearn=0for x=10 to 1000if mod(x,6)=0 and mod(x,9)!=0 and mod(x,6)!=0 and mod(x,9)=0 n=xendifendfornset talk onreturn答案:1655、求[100,800]内所有既不能被5整除也不能被7的整数的个数。

set talk offclearn=0for x=100 to 800if mod(x,5)=0 and mod(x,7)<>0n=x+1endifendforxset talk onreturn答案:4806、求[101,299]内所有能被2整除但不能同时被3和5整除的整数之和。

set talk offclears=0for x=101 to 299if mod(x,2)=0 and not mod(x,3)=0 and mod(x,5)=0x=s+xendifendforsset talk onreturn答案:186307、求100以内最大的自然数n,使得从1开始的连续n个自然数的倒数之和小于3.5。

VFP编程题及参考答案(可打印修改)

VFP编程题及参考答案(可打印修改)

VFP编程题及参考答案1.输入圆的半径,求圆的周长和面积并输出。

解:编写程序如下:clearinput “请输入圆的半径:” to rl=2*3.14159*rs=3.14159*r*r? “圆的周长为:”,l? “圆的面积为:”,s2.输入梯形上底、下底和高的值,求梯形面积并输出。

解:编写程序如下:clearinput "请输入梯形的上底:" to shdinput "请输入梯形的下底:" to xdinput "请输入梯形的高:" to gs=(shd+xd)*g/2? "梯形的面积为:",s3.输入三角形的三边长(设输入的三边a、b、c能构成三角形),求三角形的周长和面积并输出。

(提示:面积=半周长*(半周长-a)*(半周长-b)*(半周长-c)的平方根)解:编写程序如下:clearinput "请输入三角形的第一条边长:" to ainput "请输入三角形的第二条边长:" to binput "请输入三角形的第三条边长:" to cL=(a+b+c)/2s=sqrt(L*(L-a)*(L-b)*(L-c))? "三角形的周长为:",2*L? "三角形的面积为:",s4.输入2个实数,要求按由小到大的次序输出这两个数。

解:编写程序如下:clearinput "请输入第一个实数:" to num1input "请输入第二个实数:" to num2if (num1>num2)? num2,num1else? num1,num2endif5.请编写一个“A类邮件”计费程序,求出邮件的邮资费并输出:“A类邮件”计费规定:当邮件重量小于等于200克时,邮资费为每克0.06元;当邮件重量超过200克时,其中200克,按每克0.06元计费,超过200克的重量,按每克0.03元计费。

VFP程序设计典范例题汇总

VFP程序设计典范例题汇总

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
&&运行前单击教学管理数据库
(x<1)
(1≤x<10)
2.有一函数:
编写程序,输入 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
,x,'y=',y
y= 2x-1
x
3x-11 (x≥10)
3.编写程序,从键盘输入一个年份,判断它是否闰年。
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”
Visual FxoPro 程序设计题
1.编写程序,从键盘输入一个日期,查询 STUDENT 表中该日期以后出生的学
生信息并显示在浏览窗口中。
use student
input “请输入某日期:” to rq
*输入时有提示,或 input to rq 输入时无提示,输{^1987-01-01}

vfp常见20道编程题

vfp常见20道编程题

vfp常见20道编程题VFP常见20道编程题1、求解AX^2 BX C=0的根、其中A、B、C三个参数由键盘输入。

一元二次方程的求根公式是:X=-b±√b2-4ac/2acleartext一元二次方程求解ax^2 +bx+ c=0endtextinput '请输入a的值:' to ainput '请输入b的值:' to binput '请输入c的值:' to cm=b*b-4*a*cif m>=0x1=(-b sqrt(m))/(2*a)x2=(-b-sqrt(m))/(2*a)'x1的值是:',x1'x2的值是:',x2else'此方程无实根!'endif2、编写程序将1-100之间所有能被7和3整除的整数输出clearfor i=1 to 100if i%3=0 and i%7=0iendifendfor3、编写程序计算e,e的近似值计算公式为:e=1 1/1! 1/2! 1/3! ... 1/n!,直到1/n!<0.000001为止e=1n=1do while .t.k=1for i=1 to nk=k*iendform=1/ke=e mif m<0.000001exitendifn=n 1enddo'e=1 1/1! 1/2! 1/3! … 1/n!=',e4、编写程序,计算1!2!3! .......N!=?clearinput '请输入n的值:' to ns=0t=1for i=1 to nt=t*is=s tendfor'1!2!3! .......N!=',s5、从键盘输入十个数,将它们进行降序排列。

clear dime a(10)for i=1 to 10input '请输入一个数:' to a(i)'降序排列为:'for i=1 to 9for j=i 1 to 10if a(i)<a(j)< p="">k=a(i)a(i)=a(j)a(j)=kendifendforalltrim(str(a(i))) ' 'endforalltrim(str(a(i)))6、(1)输出有*号组成的图形:*************************clearfor i=-3 to 3space(abs(i))for j=1 to 7-abs(i)*2 ??'*' endforendfor(2)********************clearfor i=1 to 5space(5-i)for j=1 to 2*i-1 ??'*'endforendfor7、编写一个程序产生一个有20项的Fibonacci数列并输出。

VFP程序设计综合练习题(含答案).

VFP程序设计综合练习题(含答案).

1、有一张0.5mm厚足够大的纸,问对折多少次可以达到珠峰高度(8848.13m? h=0.5cs=0do while h<8848000h=h*2cs=cs+1enddo?"对折的次数为:",cs2、文本框Text1中输入的值与文本框Text2中输入的值进行交换。

Form1的click事件a=this.text1.valuethis.text1.value=this.text2.valuethis.text2.value=a3、在表单的标签上输出自然数1,2,3,4,5Form1的click事件bel1.caption=””For i=1 to 5bel1.caption=bel1.caption+str(I,1next4、判断一个学生的计算机考试成绩x属于哪个分数段之间(0-59,60-69,70-79, 80-89,90-100Form1的click事件input to xdo casecase x<0 or x>100=messagebox("成绩在0-100之间,重新输入"case x<=59=messagebox("该生的计算机成绩"+str(x,3+"在0-59之间"case x<=69=messagebox("该生的计算机成绩"+str(x,3+"在60-69之间"case x<=79=messagebox("该生的计算机成绩"+str(x,3+"在70-79之间"case x<=89=messagebox("该生的计算机成绩"+str(x,3+"在80-89之间"otherwise=messagebox("该生的计算机成绩"+str(x,3+"在90-100之间"endcase5、找出zgqk.dbf中基本工资最高记录,输出其姓名和基本工资Form1的click 事件Use zgqkmax=基本工资scanif 基本工资>maxmax=基本工资endifendscanloca for 基本工资=max?姓名,基本工资6、找出2010至2100之间所有闰年的年份Form1的click事件for y=2010 to 2100if y%4=0 and y%100!=0 or y%400=0?y,"年是闰年"endifnext7、计算1+3+5+……99,并将结果存入文本框Text1中Form1的click事件sum=0for i=1 to 99 step 2sum=sum+inextthis.text1.value="1+3+5+...+99的和:"+allt(str(sum 8、求边长为a的正方形内切圆面积。

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

Visual FxoPro程序设计题
1.编写程序,从键盘输入一个日期,查询STUDENT表中该日期以后出生的学生信息并显示在浏览窗口中。

use student &&运行前单击教学管理数据库
input “请输入某日期:” to r q
*输入时有提示,或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)
Endfor
6.编写程序,从键盘输入一个正整数M,计算M内(包括M)所有偶数之和。

clear
input to m
s=0
for i=2 to m step 2
s=s+i
Endfor
? 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<min
min=a
endif
endfor
? 'max=',max
? 'min=',min
8.利用数组编写程序,从键盘输入10个数,再按逆序输出。

dime a(10)
for i=1 to 10
input to a(i)
endfor
for i=10 to 1 step -1
? a(i)
endfor
9.编写程序,逐条显示STUDENT表中的男生记录(显示一个记录后,由用户按任意键来显示下一个记录)。

use student
scan for 性别=”男”
disp
wait
endscan
use
10.编写程序,自STUDENT表的最后一个记录开始向前逐个显示(显示一个记录后,由用户按任意键来显示上一个记录)。

use student
go bott
do while not bof()
disp
wait
skip -1
enddo
use
11.先在STUDENT表中插入一个新字段:平均成绩(数值型,6,2)。

然后编写程序,根据GRADE表统计每个学生的平均成绩,并填入新插入的字段中。

select 学号,avg(成绩)as 平均成绩 from grade group by 学号 into table t
use t
index on 学号 to txh
sele 2
use student
index on 学号 to sxh
set rela to 学号 into t
repl all 平均成绩 with t->平均成绩
12.写程序,输入一个三位自然数,判断该数是否为水仙花数。

所谓水仙花数是指一个三位自然数,其各位数字立方和等于该数本身。

例如,153是水仙花数,因为153=13+53+33。

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.九九乘法表
(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
17.阶乘
(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。

相关文档
最新文档