foxpro程序设计示例与练习三(因子)

合集下载

Visual FoxPro程序设计实习教程与习题集

Visual FoxPro程序设计实习教程与习题集
2.求出所有男职工的人数和基本工资总额,并分别赋值给CN和SN,利用上述两个内存变量计算出男职工的平均工资。
count for性别='男' to cn
sum基本工资for性别='男' to sn
?sn/cn
3.计算所有职务为科长的平均年龄。
average year(date())-year(出生日期) for职务='科长'
list
2)按“职务”索引,索引标记为ZW,并显示结果。
index on职务tag zw
list
3)按“出生日期”的降序索引,索引标记为CSRQ,并显示结果。
index on出生日期tag csrq
list
4)按“性别”和“职务”索引,索引标记为XBZW,并显示结果。
index on性别+职务tag xbzw
1)筛选出65年以前出生的所有职务为“科员”的职工记录,并显示当前记录。
执行GO TOP命令后,再显示当前记录,查看两者的区别。
set filter to year(出生日期)<1965 and职务='科员'
display
go top
display
2)筛选出工资在400~500元之间的职工记录,并显示筛选结果。
set filter to基本工资>=400 and基本工资<=500
list
《实习教程》第10单元数据表的统计(参考答案)
准备:打开数据表ZGGZ.DBF,以下操作为对该数据表进行。
use zggz
1.分别统计数据表中已婚的男职工和未婚的女职工人数。
count for婚否and性别='男'

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 &&这个表达式可有可无,为了省事完全省略也可以。

Visual_Foxpro数据库与程序设计及练习册答案 中国石油大学 第三版 张新 韩作生

Visual_Foxpro数据库与程序设计及练习册答案 中国石油大学 第三版 张新 韩作生

Visual Foxpro 实用教程课本(第三版)及实验教材部分课后题答案说明:1 。

本材料仅供学习参考,不代表任何考试题目意向;2 。

所给定的题目答案只是常规解法,不一定是最佳答案。

刘乃文第一章:课本习题一P10一.单选题1. B 2. A 3. C 4. D 5. C 6. B 7. A 实验教程补充习题P11. 选择题(1)A (2)B (3)B (4)D(5)C (6)D (7)D (8)C(9)B (10)B (11)D (12)B 2. 填空题(1)数据内容数据形式(2)人工管理阶段文件系统管理阶段数据库系统管理阶段(3)计算机系统数据库数据库管理系统有关人员(4)实体型(5)事物之间的联系(6)关系模型(7)属性记录(8)关系(9)选择投影连接(10)多对多第二章:课本习题二P42一.单选题1. B 2. D 3. B 4.D 5. B 6. D 7. D 8. C 9. B 10.B 11. A 12.C 13.B 14. A二.计算题1.(1) .T. (2) .F. (3) .T.2.(1) age<15 .and. height>=1.8(2) zhch=”教授” .and. age<40 .or. age<35 .and. zhch=”副教授”3. (1) .T. (2) .F. (3 )353.00 (4 ).F.(5) .F. (6) 223.22324. (1)2000.01.18 (2) D (3) 3 (4) C (5) 8 (6) 71 (7) 525. (1) .F. (2) .T. (3) .F. (4) 7 (5) _管理_87计算中心管理实验教程补充习题P31. 选择题(1)B (2)C (3)D (4)A(5)A (6)C (7)A (8)D(9)B (10)D (11)C (12)A (13)C (14)A (15)D2. 填空题(1)32 (2)Enter(3)选项(4)菜单命令程序(5);(6).pjx(7)代码(8)从项目管理器中移去从磁盘上删除(9)函数>算术运算>关系运算>逻辑运算(10)N (11).T.(12)337.201(13)15 (14)字符型(15)-1第三章:课本习题三P88:二.单选题1. B 2. 无答案3. C 4. B 5. D 6. C7. C 8. D 9. C 10. C 11. B实验教程补充习题P211. 选择题(1)C (2)A (3)A (4)B(5)C (6)B (7)B (8)B(9)A (10)D (11)D (12)C (13)B (14)B (15)A (16)D (17)C (18)C (19)C (20)D (21)D (22)B (23)B (24)D (25)B (26)C (27)A (28)C (29)C (30)D2. 填空题(1)LIST连续不分屏显示信息DISPLAY采用分屏显示信息(2)各字段宽度存放逻辑删除标记(3)已经打开并且正在使用的数据表(4)第5条记录最后一条记录后面(此时EOF()函数的值为.T.)(5)DELETE PACK(6)单入口索引文件结构化复合索引文件非结构化(独立)复合索引文件(7)自由表数据库表(8)新数据表(9)Memo (10)6位(11)按索引顺序排列(12)DELETE FOR SUBSTR(分类号,1,1)="I"(13)GO 8DELETE NEXT 8PACK(14)数据表名(15)主索引(16)LIST FOR 婚否=.T.(17)数据库(18)CONTINUE (19)默认值(20).dbf第四章:课本习题四P129二.选择题1. D 2. A 3. C 4. A三.填空题1 union 2 .NULL. 3 逻辑A VG、SUM 5 INTO CURSOR实验教程补充习题P361. 选择题(1)B (2)B (3)B (4)C(5)B (6)D(7)D (8)A (9)C (10)B (11)D (12)B (13)C (14)B (15)C (16)C (17)B (18)B (19)D (20)B (21)A (22)B (23)D (24)A (25)C (26)A (27)C (28)B (29)D (30)C (31)B (32)B (33)C (34)B (35)B (36)A (37)C (38)D (39)C (40)D (41)A (42)B (43)B (44)C (45)A (46)D (47)C (48)D (49)A (50)B (51)D (52)D (53)B2. 填空题(1)条件(2)视图(3)符合条件(4)INSERT SELECT UPDATE ALTER TABLE(5)降序升序(6)UPDATE GZB SET补贴=补贴+800 WHERE 职称="副教授"(7)SELECT * FROM RSGL INNER JOIN RSGZ ON RSGL.编号=RSGZ.编号(8)A VG(工资) GROUP BY职称(9)UNION (10)NULL (11)逻辑(12)A VG SUM(13)INTO ARRAY 14. ORDER BY15. 更新(16)本地视图远程视图17. 字段筛选(18)①SELECT *FROM STUD1 WHERE获奖次数>5 AND性别="男"②SET 获奖次数>=5③INTO STUD2 V ALUES("991201","VFP程序设计")④SELECT 学号,姓名,总成绩FROM stud1 WHERE 总成绩=(SELECT MAX(总成绩)FROM stud1)⑤SELECT 学号,姓名,总成绩FROM stud1 WHERE 学号IN(SELECT 学号FROM stud2 WHERE 选课="操作系统")⑥SELECT * TOP 3 FROM STUD1 ORDER BY 总成绩DESC(19)Order By(20)职称IS NULL(21)WHERE 实发工资BETWEEN 800 AND 1000 或者WHERE 实发工资>=800 AND实发工资<=1000 (22)%(23)GROUP BY(24)DISTINCT(25)数据查询第五章课本习题五P171注意:171页最后一行中,DO a.prg 改为DO main.prg二.单选题 1. A 2. A 3. A 4. D 5.A三.填空1. 1101 C 或字符型2. 上海市南京市济南市青岛市四.填空“0”,ssubstr(s,1,n-1)+substr(s,n+1)五.根据要求设计程序1.用两种语句格式实现用IF 实现:SET TALK OFFCLEA ALLCLEAINPUT “INPUT A NUMBER TO X :”TO XINPUT “INPUT A NUMBER TO Y :”TO YINPUT “INPUT A NUMBER TO Z :”TO ZIF X>YIF Y>Z?X,Y,ZELSEIF X>Z?X,Z,YELSE?Z,X,YENDIFENDIFELSE && X<YIF Y<Z?Z,Y,XELSEIF X>Z?Y,X,ZELSE?Y,Z,XENDIFENDIFENDIFSET TALK ONRETU用CASE 实现(此种要求有若干种实现方式,只给出一种):SET TALK OFFCLEA ALL &&清自定义变量,关闭和本程序不相关的其他文件CLEA &&清屏INPUT “INPUT A NUMBER TO X :”TO XINPUT “INPUT A NUMBER TO Y :”TO YINPUT “INPUT A NUMBER TO Z :”TO ZDO CASECASE X>YDO CASECASE Y>Z?X,Y,ZCASE X>Z?X,Z,YOTHER?Z,X,YENDCASEOTHER &&X<YDO CASECASE X>Z?Y,X,ZCASE Y>Z?Y,Z,XOTHER?Z,Y,XENDCASEENDCASESET TALK ONRETU2.求0-999的水仙花数SET TALK OFFCLEACLEA ALLFOR I=0 TO 999A=VAL(LEFT(STR(I,3),1))B= V AL(SUBSTR(STR(I,3),2,1))C=V AL(RIGHT(STR(I,3),1))IF A^3+B^3+C^3=I?IENDIFENDFORSET TALK ONRETU3.利用循环和CASE语句实现SET TALK OFFCLEACLEA ALLDO WHILE .T.INPUT " INPUT A NUMBER TO X:" TO XIF X=0EXITENDIFDO CASECASE X=1?'壹'CASE X=2?'贰'CASE X=3?'叁'CASE X=4?'肆'CASE X=5?'五'CASE X=6?'陆'CASE X=7?'柒'CASE X=8?'捌'CASE X=9?'玖'ENDCASEENDDOSET TALK ONRETU4.注意ASC码的判别SET TALK OFFCLEACLEA ALLACCE 'INPUT A SERIAL OF CHARACTERS TO S:' TO S NZM=0 &&字母个数NSZ=0 &&数字个数NKG=0 &&空格个数FOR I=1 TO LEN(S)C=UPPER(SUBSTR(S,I,1))IF ASC(C)<91 AND ASC(C)>64NZM=NZM+1ENDIFIF ASC(C)<58 AND ASC(C)>47NSZ=NSZ+1ENDIFIF ASC(C)=32NKG=NKG+1ENDIFENDFOR?'字母个数为:',NZM?'数字个数为:',NSZ?'空格个数为:',NKG?'其他字符个数为:',LEN(S)-NZM-NSZ-NKGSET TALK ONRETU5.本题使用依附自定义函数实现依附自定义函数方式SET TALK OFFCLEACLEA ALLINPUT ' INPUT A NUMBER TO TO R:' TO XINPUT ' INPUT A NUMBER TO TO r:' TO y?AREA(X)-AREA(Y)SET TALK ONRETUFUNCTION AREAPARA RRETU PI()*R*RENDFUNC子程序方式*主程序MAIN.PRGSET TALK OFFCLEACLEA ALLINPUT ' INPUT A NUMBER TO TO R:' TO XINPUT ' INPUT A NUMBER TO TO r:' TO y?AREA(X)-AREA(Y)SET TALK ONRETU*子程序AREA.PRGPARA RRETU PI()*R*RRETU6 平行四边形打印(本程序有若干种不同的实现方式,行列数可以自己改动)SET TALK OFFCLEACLEA ALL?SPACE(7)FOR I=1 TO 12??"*"ENDFORFOR I=1 TO 6?SPACE(7-I)+"*"+SPACE(10)+"*"ENDFOR?FOR I=1 TO 11??"*"ENDFORSET TALK ONRETU7. 假设表已经存在。

vfp编程练习题

vfp编程练习题

vfp编程练习题VFP(Visual FoxPro)是一种基于对象的数据库管理系统和编程语言,广泛用于数据处理和应用开发。

本文将为你介绍一些VFP编程练习题,帮助你提高VFP编程技能。

练习一:计算器应用程序编写一个简单的VFP应用程序,实现基本的计算器功能。

程序应该有一个用户界面,包括数字按钮和操作符按钮。

用户可以选择数字按钮输入数字,并使用操作符按钮进行加、减、乘、除等运算。

程序应能正确处理用户输入并返回正确的计算结果。

练习二:学生成绩管理系统设计一个学生成绩管理系统,包括学生信息的录入和查询功能。

使用VFP编写程序,能够实现学生信息的添加、修改和删除,以及查询学生的成绩和排名等功能。

你可以使用数据库来存储学生信息,并使用VFP提供的数据库操作函数进行数据的读写。

练习三:图书馆管理系统开发一个简单的图书馆管理系统,能够实现图书的借阅和归还功能。

使用VFP编写程序,设计用户界面,包括图书的添加、删除和查询功能,以及借阅和归还图书的操作。

你可以使用数据库来存储图书和读者的信息,并使用VFP提供的数据库操作函数来管理数据。

练习四:商品销售分析编写一个VFP应用程序,用于对商品销售数据进行分析。

程序应能读取销售数据并对商品的销售情况进行统计和分析,包括销售额、销售量、销售排行等。

通过图形化界面展示分析结果,帮助用户更好地了解商品的销售情况,并提供数据导出等功能。

练习五:音乐播放器使用VFP编写一个简单的音乐播放器程序。

程序应具备基本的音乐播放功能,包括选择音乐文件、播放、暂停、停止等。

你可以使用VFP提供的多媒体函数来实现音乐播放功能,并设计用户界面,提供友好的操作界面和交互体验。

总结:通过完成以上VFP编程练习题,你可以提高自己的VFP编程技能,并熟悉VFP的应用开发过程。

这些练习涵盖了常见的应用场景,可以帮助你更好地理解和掌握VFP编程。

希望你能够充分利用这些练习题,不断学习和提升自己的编程技能。

Visualfoxpro程序设计练习题及答案

Visualfoxpro程序设计练习题及答案

Visual foxpro程序设计练习题求[10,1000]内所有能被被7和9中至少一个数整除的整数之个数。

答案:236n=0for i=10 to 1000if mod(i,7)=0 or mod(i,9)=0n=n+1endiendf?n求[101,299]内所有能被2整除但不能同时被3和5整除的整数之和。

答案:18630s=0for i=101 to 299if mod(i,2)=0 and mod(i,3)<>0 or mod(i,5)<>0s=s+iendiendf?s3、求100以内最大的自然数n,使得从1开始的连续n个自然数的倒数之和小于3.5。

答案:18s=0for i=1 to 100s=s+1/iif s>=3.5exitendiendf?i-14、求100以内最小的自然数n,使得从1开始的连续n个自然数的立方之和大于30000。

答案:25s=0for i=1 to 100s=s+i^3if s>30000exitendiendf?i5、求出100以内使得算式1*2+2*3+…+n*(n+1)的值小于5000的最大的自然数n。

答案:23s=0for i=1 to 100s=s+i*(i+1)if s>=5000exitendiendf?i-16、求出100以内使得算式1/(1*1)+1/(2*2)+…+1/(n*n)的值小于1.6的最大的自然数n。

答案:21s=0for i=1 to 100s=s+1/i^2if s>=1.6exitendiendf?i-17、某国今年的人口总数为1亿,若以每年4%的速度递增,试求出至少要再过几年该国人口总数才会翻一翻。

答案:18n=0x=1do while x<2x=x*(1+0.04)n=n+1enddo?n8、设等比数列:1,3,9,27,…。

求使得此数列的前n项之和大于2345678的最小的自然数n。

vfp 练习题

vfp 练习题

vfp 练习题VFP 练习题Visual FoxPro (VFP) 是一种被广泛使用的数据库管理系统和编程语言,它具有强大的数据处理和界面设计功能。

对于想要提升自己在 VFP 方面技能的开发者来说,练习题是一种非常有效的学习方法。

通过解决一系列的练习题,开发者们可以加深对 VFP 的理解并提高自己的编程能力。

练习题一:数据查询与筛选在 VFP 中,数据查询是一个常见且重要的操作。

通过练习题,我们可以学习如何使用 VFP 查询语言来获取所需的数据。

例如,可以设计一个练习题,要求开发者查询一个学生信息表,找出所有年龄在 18 到 25 岁之间的学生,并按照成绩从高到低排序。

这个练习题可以帮助开发者熟悉 VFP 的查询语法,并了解如何使用排序功能。

练习题二:表格操作与关联在实际的应用中,经常需要对表格进行增删改查的操作。

通过设计一个练习题,要求开发者实现对一个员工信息表的增删改查功能,可以让开发者熟悉 VFP 中的表格操作命令,如 APPEND、DELETE、EDIT 等,并了解如何通过关联两个表格来实现更复杂的查询。

练习题三:报表设计与打印在许多应用中,生成漂亮且格式良好的报表是非常重要的。

通过设计一个练习题,要求开发者设计一个销售报表,包括销售额、销售数量等信息,并能够将报表打印出来。

这个练习题可以帮助开发者熟悉 VFP 中的报表设计工具,如报表设计器,以及打印命令,如 REPORT FORM 和 SET PRINTER TO。

练习题四:界面设计与用户交互良好的界面设计和用户交互是一个应用的重要组成部分。

通过设计一个练习题,要求开发者设计一个简单的学生信息管理系统,包括添加学生、修改学生信息、删除学生等功能,并能够通过界面与用户进行交互。

这个练习题可以帮助开发者熟悉 VFP 中的界面设计工具,如表单设计器,以及如何与用户进行交互,如MESSAGEBOX 和 INPUTBOX。

练习题五:错误处理与调试在开发过程中,错误处理和调试是非常重要的技能。

VF程序设计经典例题

VF程序设计经典例题

1. 求园的面积(要求判断半径是否合理)CleaInpu ‘r=’ to rIf r>0S=3.14*r*r?sElse?’半径错误!’Endif2. 求分段函数Y 的值Clea Inpu ‘x=’If x>0Y=2*x+5ElseIf x=0Y=xElseY=abs(x)EndifEndif?y3. 输入一个百分制成绩判断其等级(优/良/中/及格/不及格)CleaInpu ‘cj=’ to cjDo caseCase cj>=90?’优’Case cj>=80?’良’Case cj>=70?’中’Case cj>=60?’及格’Orth?’不及格’Endcase4. 输入若干个(个数不定)百分制成绩判断其等级(优/良/中/及格/不及格)CleaInpu ‘请输入处理几个人的成绩:’ to nFor i=1 to nInpu ‘cj=’ to cjDo case2x +5 x>0 x x=0 | x | x<0Case cj>=90?’优’Case cj>=80?’良’Case cj>=70?’中’Case cj>=60?’及格’Orth?’不及格’Endcaseendfor5.求S=1+2+3. . . . . .+100CleaS=0For i=1 to 100S=s+iEndfor?s6.求S=1×2×3. . . . . .×100Cleap=1For i=1 to 100p=p*iEndfor?p7.求S=1+3+5.. . . . .+99CleaS=0For i=1 to 99 step 2S=s+iEndfor?s8.求S=1-2+3-4. . . . . .-100CleaS=0For i=1 to 100S=s+(-1)^(i+1)*iEndfor?s9.求S=1+1/2+2/3+3/5. . . . . .前10项之和CleaS=0A=1B=1For i=1 to 10S=s+a/bT=aA=bB=t+bEndfor?s10. 求S =1!+2!+3!. . . . . .+10!CleaS=0P=1For i=1 to 10P=p*iS=s+pEndfor?s11. 对学生表中所有入学成绩≥650分的学生免去贷款CleaUse 学生Scan for 入学成绩>=650 .and. 贷款否=.t.Repl 贷款否 with .f.EndscanUse12. 输出图形Clea For i=1 to 4For j=1 to i??’*’Endfor?EndforCleaFor i=1 to 4For j=1 to 4-i??’ ’ &&有一个空格EndforFor j=1 to 2*i-1??’*’* **** * ******** **** ** *** *** ******* *** *** ** ***** ****** ** **** * ******* ***** *?EndforCleaFor i=1 to 4For j=1 to 4-i??’’&&有一个空格EndforFor j=1 to i??’*’Endfor?Endfor13.判断一个整数是否素数CleaInpu ‘x=’ to xFor i=2 to x-1If mod(x,i)<>0LoopElseExitEndifEndforIf i>x-1?x,’是素数’Else?x,’不是素数’Endif14.判断十个整数是否素数CleaFor j=1 to 10Inpu ‘x=’ to xFor i=2 to x-1If mod(x,i)<>0LoopElseExitEndifEndforIf i>x-1?x,’是素数’Else?x,’不是素数’Endif15.找出两个数的大数和小数CleaInpu ‘x=’ to xInpu ‘y’to yIf x>y?x,’大’,y,’小’Else?y,’大’,x,’小’Endif16.找出三个数的最大数和最小数CleaInpu ‘x=’ to xInpu ‘y’to yInpu ‘z’to zIf x<yt=xx=yy=tElseIf x<zt=xx=zz=tendifendifif y<zt=yy=zz=tendif?x,’是最大数’,z,’是最小数’17.找出十个数的最大数和最小数CleaDime a(10)For i=1 to 10Inpu to a(i)EndforMax=a(1)Min=a(1)For i=2 to 10If max<a(i)Max=a(i)ElseIf min>a(i).Min=a(i)EndifEndifEndfor?max,min18.找出2×3矩阵中的最大数和最小数cleadime a(2,3)for i=1 to 2for j=1 to 3input ‘a(‘+str(I,2)+’,’+str(j,2)+’)=’to a(I,j) endforendformax=a(1,1)min=a(1,1)for i=1 to 2for j=1 to 3if max<a(I,j)max= a(I,j)elseif min> a(I,j)min= a(I,j)endifendifendforendfor?’max=’,max,’min=’,min19.对三个整数从大到小排序ClearInput ‘a=’ to aInput ‘b=’ to bInput ‘c=’ to cIf a<bT=aA=bB=tElseIf a<ct=aA=cc=tendifendifIf b<cT=bA=cc=tendif?a,b,c20.对十个整数从大到小排序(用选择法和起泡法两种方法)选择法:ClearDime a(10)For i=1 to 10Input to a(i)EndforFor i=1 to 9Max=a(i)Num=iFor j=i+1 to 10If max<a(j)max=a(j)Num=jEndifEndforIf i<>numt=A(i)a(i)=a(num)a(num)=tEndifEndforFor i=1 to 10??a(i),' 'Endfor起泡法:ClearDime a(10)For i=1 to 10Input to a(i)EndforFor i=1 to 9For j=1 to 10-iIf a(j)<a(j+1)t=A(j)a(j)=a(j+1)a(j+1)=tEndifendforEndforEndfor21.输出Fibonacci(斐波那契)数列的前十项ClearDime a(10)a(1)=1a(2)=1For i=3 to 10a(i)=a(i-1)+a(i-2)EndforFor i=1 to 10??A(i)Endfor22.输出杨辉三角的前十行ClearDime a(10,10)For i=1 to 10A(I,1)=1A(I,i)=1EndforFor i=3 to 10For j=2 to i-1A(I,j)=a(i-1,j)+a(i-1,j-1)EndforEndforFor i=1 to 10For j=1 to i??A(I,j)Endfor?Endfor23.对2×3矩阵转置CleaDime a(2,3),b(3,2)for i=1 to 2for j=1 to 3input to a(I,j)endforendforfor i=1 to 3for j=1 to 2b(I,j)=a(j,i)endforendfor??b(I,j)Endfor?endfor24.求三位数中的所有水仙花数(即指一个三位数,其各位数字立方和等于该数本身)Cleafor x=100 to 999a=int(x/100)b=mod(int(x/10),10)c=mod(x,10)if x==a*a*a+b*b*b+c*c*c?xEndifendfor25.求100以内的所有完数(即一个数恰好等于除它本身外的所有因子之和)Cleafor i=3 to 100s=0for j=1 to i-1if mod(i,j)==0s=s+jendifendforif i==s?iendif26.已知三角形的三边(从键盘输入),求其面积(S^2=p(p-a)(p-b)(p-c), p=(a+b+c)/2)Clearinput 'a=' to ainput 'b=' to binput 'c=' to cif a+b>c and a+c>b and b+c>ap=(a+b+c)/2s=sqrt(p*(p-a)*(p-b)*(p-c))?selse?'三边不能组成三角形'Endif27.求二元方程的根(分三种情况:两个不等实根,两个相等实根,无实根)cleainpu 'a=' to a &&a<>0inpu 'b=' to b &&b<>0inpu 'c=' to ci=b*b-4*a*cif i<0?"方程无实根!"elseif i==0r=(-b)/(2*a)?"方程有两个相等实数根:",relsex1=(-b+sqrt(i))/(2*a)x2=(-b-sqrt(i))/(2*a)?"方程有两个不相等实数根:",x1,x2endifendif28.输入任意一个五位整数,前后对应位置上的数据进行交换重新排列(即逆序排列)(例:25984→48952)cleadime a(5)inpu to ba(1)=int(b/10000)a(2)=mod(int(b/1000),10)a(3)=mod(int(b/100),10)a(4)=mod(int(b/10),10)a(5)=mod(b,10)for i=1 to int(5/2)t=a(i)a(i)=a(6-i)a(6-i)=tendforc=a(1)*10000+a(2)*1000+a(3)*100+a(4)*10+a(5)?b,c29.找出一个3x3矩阵的“鞍点”,即该位置上的元素在该行上最大,在该列上最小(也有可能没有鞍点)cleadime a(3,3)flag=.t.for i=1 to 3for j=1 to 3input 'a('+str(I,2)+','+str(j,2)+')=' to a(i,j)endforendforfor i=1 to 3max=a(i,1)col=1for j=2 to 3if max<a(i,j)max=a(i,j)col=jendifendformin=a(1,col)row=1for k=2 to 3if min>a(k,col)min=a(k,col)row=kendifendforif max==min?a(row,col),'是鞍点,在',row,'行',col,'列'flag=.f.endifendforif flag==.t.?'无鞍点'endif30.求S(n)=a+aa+aaa+...+aaa....aaa(其中有n个a)之值,a是一个数字,n和a由键盘键入(例如:2+22+222+22222+22222,此时n=5)cleainpu 'a=' to ainpu 'n=' to ns=0t=afor i=1 to ns=s+tt=a+t*10endfor?s31.把一张一元钞票,换成一分、二分和五分硬币,每种至少11枚,问有多少种方案? 13cleas=0for a=11 to 100for b=11 to 50for c=11 to 20if a+2*b+5*c=100s=s+1endifendforendfornext?s32.一只猴子一天从山上摘来一袋桃子,从这天开始,它每天都要把袋中的桃子平分为二堆,吃掉其中的一堆,然后再从剩下的桃中拿出一个解谗,等到第10天,它发现袋中只有一只桃可吃啦,问猴子总共摘了多少桃。

vfp数据库程序设计程序示例

vfp数据库程序设计程序示例

vfp数据库程序设计程序示例如何进行VFP数据库程序设计的示例。

请注意,vfp数据库是Visual FoxPro数据库的缩写。

第一步:理解VFP数据库编程的基础知识在进行VFP数据库程序设计之前,我们需要先理解VFP数据库编程的基础知识。

VFP数据库是一种关系型数据库,它使用表格来组织和管理数据。

每个表格包含一系列的字段,并且可以在表格之间建立关系。

VFP数据库还支持SQL查询语言,可以方便地查询和操作数据。

第二步:创建数据库在VFP中创建数据库非常简单。

首先,打开VFP软件,在菜单栏中选择"数据库",然后选择"新建"。

接下来,为数据库指定一个名称,选择保存位置,并点击"确定"。

数据库创建成功后,我们可以在VFP软件中看到它的图标。

第三步:创建表格在VFP数据库中,表格用于存储和管理数据。

要创建一个表格,首先确保数据库窗口处于活动状态。

然后,在数据库窗口中右键单击,选择"新建",然后选择"表格"。

接下来,为表格指定一个名称,并定义字段。

在每个字段中,我们可以定义字段名称、字段类型、字段长度以及其他属性。

创建完所有字段后,点击"确定" 完成表格创建。

第四步:插入数据在VFP数据库中插入数据十分简单。

首先,双击要插入数据的表格,打开表格编辑窗口。

然后,在表格编辑窗口中,点击"插入"按钮。

接下来,输入要插入的数据,每个字段占一列,然后点击"确定" 完成数据插入。

可以重复这个过程,插入更多的数据。

第五步:查询数据VFP数据库支持使用SQL查询语言来查询和操作数据。

在VFP软件中的菜单栏中选择"工具",然后选择"查询",打开查询编辑器。

在查询编辑器中,我们可以输入SQL查询语句。

例如,要查询某个表格中所有记录的所有字段,可以使用以下SQL查询语句:"SELECT * FROM table_name"。

Visual FoxPro 程序设计教程课本习题(带答案)

Visual FoxPro 程序设计教程课本习题(带答案)

习题1一、单选题1. 在数据管理技术发展过程中,没有专门的软件对数据进行管理的阶段是(A )。

A. 人工管理阶段B. 文件系统阶段C. 人工管理阶段和文件系统阶段D. 文件系统阶段和数据库阶段2. 数据库系统与文件系统的主要区别是(B )。

A. 数据库系统复杂,而文件系统简单B. 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决C. 文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件D. 文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量3. 数据库系统的核心是(C )。

A. 数据库B. 操作系统C. 数据库管理系统D. 文件4. 在下述关于数据库系统的叙述中,正确的是(B )。

A. 数据库中只存在数据项之间的联系B. 数据库的数据项之间和记录之间都存在联系C. 数据库的数据项之间无联系,记录之间存在联系D. 数据库的数据项之间和记录之间都不存在联系5. 在下列4个选项中,不属于基本关系运算的是(D )。

A. 连接B. 投影C. 选择D. 比较6. 如果一个部门只能有一个经理,而且一个经理不能同时担任其他部门的职务,部门和经理两个实体之间的联系属于(A )。

A. 一对一联系B. 一对多联系C. 多对多联系D. 多对一联系7. 设有关系R1和R2,经过关系运算得到结果S,则S是(D )。

A. 元组B. 关系模式C. 数据库D. 关系8. 下面的(D )不是数据库技术的主要特点。

A. 数据的结构化B. 数据的冗余度小C. 较高的数据独立性D. 程序的标准化9. 对关系执行投影运算后,元组的个数与原关系中元组的个数(D )。

A. 相同B. 小于原关系C. 大于原关系D. 不大于原关系10. 用于实现数据库各种数据操作的软件称为(C )。

A. 数据软件B. 操作系统C. 数据库管理系统D. 编译程序11. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是(A )。

VFP程序设计示例与练习

VFP程序设计示例与练习

选择结构程序设计示例与练习1.从键盘输入一个正整数,判断这个数的奇偶性。

输出这个数以及判断结果。

SET TALK OFFCLEARINPUT ‘请输入一个正整数:’ TO XIF INT(X/2)=X/2‘是偶数’ENDIFIF INT(X/2)!=X/2‘是奇数’ENDIFSET TALK ONRETURN【练习】(1)请用IF……ELSE……ENDIF语句实现;2. 输入一个年份,判断其是否闰年,输出这个年份以及判断结果。

SET TALK OFFCLEARINPUT ‘请输入一个年份:’ TO YRIF MOD(YR,4)=0 AND MOD(YR,100)!=0 OR;MOD(YR,400)=0Note 上面两行是关于闰年的判断,因为太长,所以写Note 成了两行,第一行末尾用了分号,表示和下一行Note 是一个命令YR,‘是闰年’ELSEYR,‘不是闰年’ENDIFSET TALK ONRETURN【练习】(1)从键盘输入一个正整数,判断这个数是否是3的倍数,若是,则输出这个数,否则,输出“不是3的倍数”;(2)从键盘输入一个正整数,判断这个数是否能被3、4同时整除。

输出同(1);(3)从键盘输入一个正整数,判断这个数是否能被4和5整除,同时又不能被6整除。

输出同(1);(4)从键盘输入一个正整数,如果这个数同时能被3、5整除,或者同时能被2、7整除,则输出“YES!”,否则输出“NO!”3.输入一个大写字母,求该字母的ASCII值;(要求判断该字母是否为大写字母,若不是,则输出“输入错误,该字母不是大写字母!”)CLEARSET COLLATE TO ‘MACHINE’ACCEPT ‘请输入一个大写字母:’ TO CH IF CH>=‘A’ AND CH<=‘Z’“字母&CH.的ASCII值是:”,ASC(CH)ELSE‘输入错误,该字母不是大写字母!’ENDIFRETURN【练习】(1)输入一个小写字母,做同样判断;(2)输入一个大小为100—10000的整数,并将该数转换为字符串输出;(要求判断该数的大小,若不符合要求,则输出“输入数据不符合要求”)4.输入三角形的三条边,求三角形的周长和面积。

VisualFoxPro程序设计基础实例

VisualFoxPro程序设计基础实例

V i s u a l F o x P r o程序设计基础实例(共14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--Visual FoxPro程序设计基础实例▲表文件情况:学生成绩数据库的表文件结构为:字段名字段类型宽度小数位学号字符型 6姓名字符型 10英语数值型 6 2高等数学数值型 6 2计算机应用数值型 6 2总分数值型 7 2平均分数值型 6 2建立表文件结构显示如下:输入一些学生成绩。

例2-1计算表中的平均分和总分的程序set talk offCLOSE ALLUSE c:\000\CJREPLACE ALL 总分 WITH 英语+数学+计算机应用REPLACE ALL 平均分 WITH 总分/3LIST执行结果为:例2-2 统计成绩表中平均分大于90分的所有学生数目。

SET TALK OFFCLEARUSE c:\000\CJM=0SCAN FOR 平均分>90DISPLAYM=M+1ENDSCAN"总数为:",MUSERETURN执行结果:例2-3 统计成绩表中所有英语大于等于75分的学生数目。

SET TALK OFFUSE C:\000\CJMCOUNT=0FOR REC=1 TO RECCOUNT() && RECCOUNT() 为该库中的记录数 GO RECIF 英语<75LOOPENDIFDISPLAYMCOUNT=MCOUNT+1ENDFOR"英语成绩不小于75分的总数为:", MCOUNTUSERETURN执行结果:例2-4 显示表中英语成绩小于90分的学生。

SET TALK OFFCLEARUSE CJDO . ( ** 或DO ) )IF 英语>=90SKIP (或** LOOP )ENDIFDISPLAYWAIT"按任一键继续显示.…"SKIPENDDOUSERETURN执行结果:例2-5 对成绩表查询,若首记录的平均分数大于60分,则显示及格;成绩不及格”否则显示不及格。

VFP练习册(第三版)参考答案

VFP练习册(第三版)参考答案

第二章Visual FoxPro 语言基础第3章结构化与面向对象程序设计二、填空题1.MOD(N,7)=0,n=n+12.mi<>0,str(ma,2)3.!=,n=n+14.substr(编号,2,1)=”1”,skip5.i=2,i=i+1,A6.num=0,for 存款金额>250000,endscan7.Month(生日)=7 or Month(生日)=9,endscan8.mn(6),scatter to mn ,skip9.thisform.text1.value,y=””,right(x,2)10.i=1 to j ,alltr(str(j*i))+space(2)11.pdtime(time()),T,otherwise三、读程序写结果1、2422、张海东 总分 352 GOOD 李妍 总分 334 GOOD 34 5、tHIS IS A cpu6、1321 7、 15 5 8、赵维 季石雨 9、 10、 N=2412、20018、计算机等级二级VISUAL FOX PRO 19、良好 20、不是 秋 21、黄英 女 532.0022、王丽娜 李霞 23、6 24、西部开发在重庆 25、113952574998111121 3626、m=10 n=2 27、dk1913 881088.56 28、四、编程题,略第4章 数据库与表的基本操作 答案一、选择题1、A2、 B3、 C4、B5、B6、B7、A8、A9、B 10、B 11、C 12、C 13、C 14、D 15、B 16、D 17、D 18、D 19、A 20、B21、B 22、D 23、C 24、B 25、C 26、A 27、B 28、C 29、B 30、C 31、D 5881024第5章数据表的维护答案一选择题BCBBB DCABC CACBD BCDBB DCDCB DCBBC DACBD DDCBB ABCDD BBDCBB第六章查询和统计1、选择题(1)-(10) ACADD DBACD(11)-(20) DACBC ADBDD(21)-(30) DCAAC DABAA(31)-(40) AADBD BCABA(41)-(47) ACCDA AC2、填空题(1)最高(2)HA VING(3)A VG(成绩)(4)INTO CURSOR(5)TO(6)LIKE(7)AGE IS NULL(8)IS NULL(9)GROUP BY(10)DISTINCT(11)DESC(12)NULL(13)UNION(14)查询或数据查询(15)SUM(工资)(16)E.学号=S.班长(17)>= 或>=ANY(18)连接(19)TO FILE(20)COUNT(*)>1(21)成绩DESC(22)IN(23)IN(24)升序排列和降序排列(25)GROUP BY(26)GROUP BY(27)全部(28)UPDATE(29)INSERT INTO(30)WHERE(31)FROM(32)INSERT INTO(33)SET AGE=AGE+1(34)DELETE FROM(35)年龄N(3)(36)DROP COLUMN(37)RENAME(38)ALTER3、程序填空题(1)[1]NOT 性别 [2]T=T+1(2)[5]年龄>=40 [6]NOT EOF() 或FOUND() [7]CONTINUE(3)[11]NUM=0 [12] FOR 存款金额>250000 [13] ENDSCAN(4)[14] MONTH(生日)=7 OR MONTH(生日)=9 [15]ENDSCAN4、读程序写结果(1)0058 计算机基础高等教育(2)女89(3)学号姓名平均成绩765526 李小林845、程序设计(1)text1的valid事件代码:x=alltrim(thisform.text1.value)locate for 学号=xif found()thisform.text2.value=姓名bel4.caption=str(高等数学)elsemessagebox("没有该学生")endif(2)kc=bo1.valueselect max(kc) from xscj into array aselect min(kc) from xscj into array bselect avg(kc) from xscj into array cthisform.text1.value=a(1)thisform.text2.value=b(1)thisform.text3.value=c(1)(3)【查询】按钮的click事件代码:set talk offxh=alltrim(box1.value)select 姓名from xscj where 学号=xh into array bsbel3.caption=bs(1)select xscj.学号,高等数学+计算机+英语as 总分,家庭通讯地址from xscj,txl where xscj.学号=txl.学号and xscj.学号=xh into cursor lsbthisform.grid1.recordsource="lsb"(4)【查询】按钮的click事件代码:update xscj set 平均分=(高等数学+计算机+英语)/3x=val(thisform.text1.value)y=val(thisform.text2.value)select xscj.学号,姓名,平均分,家长姓名from xscj,txl where xscj.学号=txl.学号and 平均分>=x and 平均分<=y into cursor lsbthisform.grid1.recordsource="lsb"第七章报表设计1、选择题DCDB2、填空题一对多、MODIFY等级考试样题参考答案一、单选题1~5 A C D C A 6~10 D B B C A11~15 D D B A B 10~20 B A B B D21~25 C D B B D 26~30 C C A C B31~35 D A A B C 36~40 C A A A D二、判断题1~5 ×××√× 6~10 √××√×三、填空题①int(x/100)%10 ② x%10③学号=xh ④ bel3.caption=姓名⑤ i=2 ⑥ i=i+1 ⑦alltrim(str(n))⑧ zf(数学,语文) ⑨ skip ⑩ sx+yw四、读程序1、Text1: 李四 text2: 王五2、label2: p(2)=4 p(3)=16 label3: b=223、s(0)= 0.00S(10)= 50.00S(20)= 250.004、第一次:节日已过去7天第二次:距离节日还有-1天五、程序设计thisform.list1.clearuse xsxh=alltrim(thisform.text1.value)locate for 学号=xhif found()bel3.caption=姓名sele 课程名,成绩from xs,xk where xs.学号=xk.学号and xs.学号=xh into dbf xxuse xxscanthisform.list1.additem(课程名)thisform.list1.additem(str(成绩,5,1))endscanelsebel3.caption="查无此人!"endifclose all201201 二级VFP 笔试试题参考答案(A)2012年第一次重庆计算机二级上机第一套答案一,数据库及表操作(40)二基于表的表单(30分)(1)添加数据环境,combo1与stu的姓名字段绑定(5分)Combo1的interactivechange事件代码:a=this.valueselect stu.学号,课程名,成绩 from stu,score where stu.学号=score.学号and 姓名=a into cursor mmthisform.grid1.recordsource="mm"(2)添加数据环境,combo1与stu的电话字段绑定(5分)Combo1的interactivechange事件代码:a=left(this.value,3)select 学号,姓名,寝室,电话 from stu where left(电话,3)=a into cursor mm thisform.grid1.recordsource="mm"thisform.text1.value=a(3)添加数据环境,list1 的Columncount属性改为2与stu的学号和姓名字段绑定(5分)List1的interactivechange事件代码:a=this.valueselect sum(成绩),count(*) from score where 学号=a into array t thisform.text1.value=allt(str(t(1)))thisform.text2.value=allt(str(t(2)))三、表单设计(30)界面设计(5分)Command1的click事件代码:a=thisform.text1.valueif a=-1thisform.releaseendifif mod(a,8)=0bel2.caption=allt(str(a))+”是8的倍数!”elsebel2.caption=allt(str(a))+”不是8的倍数!”endif2012年第一次重庆计算机二级上机第二套答案二,数据库及表操作(40分)二基于表的表单(30分)(1)添加数据环境,combo1手工输入销售季度(5分)Combo1的interactivechange事件代码:a=this.valueselect salelocate for 销售季度=athisform.edit1.value=thisform.edit1.value+客户代表+chr(13)do while not eof()continuethisform.edit1.value=thisform.edit1.value+客户代表+chr(13)enddo(2)添加数据环境,combo1与商品编号绑定(5分)Combo1的interactivechange事件代码:a=this.valueselect 热销商品名称,规格,单价 from products where 商品编号=a;into array tbel1.caption=t(1)thisform.text1.value=t(2)thisform.text2.value=allt(str(t(3)))(3)添加数据环境,(3分)Command1的click事件代码:select 热销商品名称,sum(销售数量*单价) from products,sale where products.商品编号=sale.商品编号 group by 商品编号 into cursor mm thisform.grid1.recordsource="mm"三、表单设计(30)界面设计(5分)Text3的 gotfocus事件代码:a=thisform.text1.valueb= thisform.text2.valuedo casecase thisform.optiongroup1.value=1c=a+bcase thisform.optiongroup1.value=2c=a/bcase thisform.optiongroup1.value=3c=a**bcase thisform.optiongroup1.value=4c=a%bendcasethisform.text3.value=round(c,1)201202 二级VFP 笔试试题参考答案(B)n=this.valuek=0do while n<>1if n%2=0thisform.edit1.value= thisform.edit1.value+str(n)+”/2=”+str(n/2)+chr(13) n=n/2elsethisform.edit1.value=thisform.edit1.value+str(n)+”*3+1=”+str(n*3+1)+chr(13)n=n*3+1endifk=k+1enddothisform.text2.value=k201202 Visual Foxpro 上机考试题(参考答案)第一套一、(40分)二、(注意:只有界面正确不给分)(1)(10分)参考答案:update jsgz set 实发工资=round(基本工资+各种补贴-住房公积金-其他扣款合计,1)thisform.grid1.recordsourcetype=0thisform.grid1.recordsource="jsgz"(2)(10分)参考答案:gh=thisform.list1.valuelocate for 教师工号=ghthisform.text1.value=姓名thisform.text2.valu e=职称thi bel4.caption="出生年月:"+str(year(出生日期),4)+"年"+str(month(出生日期),2)+"月"if 婚否bel5.caption="婚姻状况:已婚"elsebel5.caption="婚姻状况:未婚"endif(3)(10分)参考答案:thisform.grid1.recordsourcetype=4thisform.grid1.recordsource="select 姓名as 教师姓名,职称,基本工资,实发工资from jsb,jsgz where jsb.教师工号=jsgz.教师工号 into cursor xx"三、(30分)参考答案:1.界面及环境设计(5分)Form1的Load事件代码:public s,ns=0n=02. Text1的Lostfocus事件代码:(20分)x=val(thisform.text1.value)if x<>0s=s+xn=n+1thisform.text1.value=""elsebel3.caption=alltr(str(n))bel5.caption=alltr(str(s/n,10,2))endif3.Form1的dblclick事件代码(5分)Thisform.release第二套一、(40分)二、(注意:只有界面正确不给分)(1)(10分)参考答案:select 1use 服装清单表index on 服装代码tag dmselect 2use 客户消费表set relation to 服装代码into areplace all 实价with a.现价*数量thisform.grid1.recordsourcetype=4thisform.grid1.recordsource="select 客户代码,品名as 服装品名,现价,数量,实价from 服装清单表a,客户消费表b where a.服装代码=b.服装代码into cursor xx" (2)(10分)参考答案:locate for 服装代码=alltrim(bo1.value)thisform.grid1.recordsourcetype=4thisform.grid1.recordsource="select 支付方式,count(*) as 销售笔数,sum(实价) as 总实价from 客户消费表where 服装代码=alltrim(bo1.value) group by 支付方式 into cursor xx" thisform.refresh(3)(10分)参考答案:delete from 客户消费表 where 客户代码=alltrim(bo1.value) and 购买时间<thisform.text1.value三、(30分)参考答案:1.界面设计(5分)2.“计算”按钮的click事件代码 (20分)x=thisform.text1.valuex1=int(x/100)x2=int(mod(x,100)/10)x3=mod(x,10)if thisform.optiongroup1.value=1y=x1^2+x2^2+x3^2elsey=x1^3+x2^3+x3^3endifbel3.caption=alltrim(str(y))3.Form1的dblclick事件代码 (5分)Thisform.release2013年四月笔试(A)参考答案第一套一、建立数据库、数据表和表间的永久关系(共40分)1、建立数据库(5分)2、2个数据表的索引和表间的永久关系(15分)。

Visual FoxPro编程题解举例

Visual FoxPro编程题解举例

x =l && 设 X为 物不 知数 中 的数 ,并赋
初 值 &&
会 ,大女儿 回家所 需天数为 :’ , a
?s p a c e ( 1 0 ) + 第 ’ + l t r i m( s t r ( n ) + 1 次 三 人 相
y =l &&设 Y为循环变量 ,并赋初值 && d o wh i l e x < =1 0 0 && 设 定数 为 1 0 0 ,根
e n d i f
c = c +1
e nd i f
x = x +l
e nd d o b = b+l
e n d d o
r e t u
e nd d o
a =a +1
s e tt a l kO i l
【 关 键 词 】编 程 融 和 兴 趣
计算机运行程序得到结果 : 2 3 当我们将程序 中语句 “ d o wh i l e x < = 1 0 0 ” 中1 0 0换为更大的值 时,我 可以快 速地 得到更
理 与运 算 等 方 面的软 件 。其 编程 部 分运 用 命 令较 多 ,组织 逻 辑思 维难度 大,在 教 学上 是难 点。学 生 学 习起 来 容 易感 觉枯燥 乏味 没 有 兴趣 ,甚 至 会 失去 信 心。 因此 我们 可 以先 择 一 些有趣 的题 目来 活跃课 堂气氛, 比如我 “ 物不知数” 等这 样 的 经典 数 学题 目,我 们 在 编程 时把 古人 智 慧和现 代 科技 的 加 以融 和 ,即 学到 了计 算机 软件 知识 又 感 受到 了古人 圣 贤的聪 明 智慧 ,从 而激 发 学生 的 学 习主动 性,提 高学 习兴趣 。
会 ,二女儿 回家所需天数为:’ . b
?s p a c e ( 1 0 ) + ’ 第’ + l t r i m( s t r ( n ) ) + ’ 次 三 人 相

vf程序设计练习及答案

vf程序设计练习及答案

程序设计操作练习题计算:T=1!+2!+3!+…+10!。

T=0for i=1 to 10S=1for j=1 to iS=S*jendforT=T+Sendfor?"1!+2!+....10!=",T1.某商场的日销售表RQ.DBF包含:营业员代号(DH,N,6)、品名(PM,C,6)、数量(SL,N,2)、单价(DJ,C,7,2)、营业额(YEE,N,9,2),每一笔销售构成数据表中的一条记录,营业额字段为0,编程查询某个营业员全天营业额的程序。

例如:DH PM SL DJ YYE011201 洗衣机 4 1820.00011201 电饭锅8 298.00020301 空调 5 4500.00011201 空调 3 4500.00020301 MP3 1458.00CLEAUSE RQREPL ALL YYE WITH SL*DJ &&营业额=单价*数量D="" && 初始化变量DAccept "请输入营业员代号:" TO DS=0Locate for DH=DDo while Not eof()S=S+YYEContEnddo@12,10 SAY "营业额为:"+STR(S,8,2)RETU3. 逐条显示RSGL.DBF中的记录,显示完一条记录后暂停,出现提示“继续吗(Y/N)?”,用户输入Y(y)则继续显示下一条记录,输入N(n)退出。

clearset talk offuse rsgldo while .not. eof()disp 编号,姓名,性别,职称&&可以使用?输出wait "继续吗(Y/N)?" to YNif UPPER(YN)="N"ExitEndifSkipEnddoUseSet talk onReturn4显示RSGL.DBF中在1966年以后出生的职工记录。

vf程序设计课后答案

vf程序设计课后答案

vf程序设计课后答案【篇一:vfp数据库程序设计基础课后作业(三)参考答案】一、根据题目要求,对进行books.dbf进行数据统计,写出相应的vfp命令1、统计类别为“计算机”的图书共有几种。

use c:\documents and settings\administrator\桌面\ books.dbfcount all for 类别=计算机 to x?x2、统计所有书籍的平均页数。

average 页数 to x3、统计高等教育出版社出版的图书的价格总和。

sum 价格 for 出版单位=高等教育出版社4、统计会计类图书价格最高是多少,最低是多少?calculate max(价格),min(价格) for 类别=会计二、根据题目要求,编写vfp程序1、编写一个程序,根据输入的长方形的长和宽,计算长方形的周长和面积。

clearlocal c,sinput 请输入长方形的长: to xinput 请输入长方形的宽: to yc=2*(x+y)s=x*y?长方形的周长为:,c?长方形的面积为:,s例1:设计程序先用xxxx年xx月xx日显示当前日期的年月日,再用星期x显示星期,然后用xx时xx分xx秒显示当前时间(共分三行显示)。

?alltrim(str(year(date())))+年+ alltrim(str(month(date())))+月+ alltrim(str(day(date())))+日?cdow(date())?alltrim(str(hour(datetime())))+时+alltrim(str(minute(datetime())))+分+alltrim(str(sec(datetime())))+秒3、编写一个程序,程序的功能是根据5个评委所给分数,计算并输出“最后得分”,具体计算方法是去掉一个最高分、去掉一个最低分,再对其余得分求平均。

clearlocal dfinput 1号评委给分: to x1input 2号评委给分: to x2input 3号评委给分: to x3input 4号评委给分: to x4input 2号评委给分: to x5df =((x1+x2+x3+x4+x5)-max(x1,x2,x3,x4,x5)-min(x1,x2,x3,x4,x5))/3?最后得分:,df【篇二:vf程序设计教程题及答案】明数据与信息的区别和联系。

vfp程序设计课后习题参考答案

vfp程序设计课后习题参考答案

第二章VFP语言元素一选择题1 C2 A3 D4 B5 D6 A7 D8 B9 B 10 C二填空题1、11.252、 13、XBASE4、FOXBASE5、职称=‟工程师‟ and (年龄>60 or 年龄<30)6、.f.7、.f.8、189、35610、2010第三章数据表与数据库一选择题1 A2 B3 A4 A5 B6 D7 C8 C9 C 10 C11 B 12 B 13 D 14 B 15 B 16B 17 D 18 C 19 A20 C二填空题1、自由表2、 33、LIST DISPLAY LIST DISPLAY4、EOF() RENO()5、表尾6、GO 2 DELETE NEXT 47、SET DA TABASE TO 数据库名8、表文件表文件9、升序降序不区分大小写字母10、永久关系第四章查询与视图一选择题1 D2 A3 A4 D5 D6 B7 C8 C9 D 10 B二填空题1、数据2、本地视图远程视图3、DELETE FROM <表名> [WHERE <条件>4、左外连接右外连接全连接5、不能6、77、A VG SUM8、条件9、DISTINCT10、修改第八章VFP程序设计一选择题1 C2 C3 A4 C5 C二填空题1、S=S*X X=X+12、S1=S1*I S2=S2+I3、S=S+X*X4、I<=15 I=I+1阶段性测试一一选择题1 A2 C3 B4 B5 D6 B7 D8 B9 B 10 A 11 D 12 B 13 D 14 A15 C 16 A17 A18 A19 D 20 B 21 C 22 A23 C 24 D 25 B二填空题1、112、.T.3、3 24、GO 3 LIST NEXT 35、.T.6、主关键字7、数据类型8、.T. .F.三书写命令1、SA VE TO ABC ALL LIKE XY*2、LIST FIELDS 姓名,联系电话FOR 姓名=‟王‟3、LIST FOR 少数民族=.T. YEAR(出生日期)>19904、INDEX ON 价格TAG JG DESCENDING5、REPLACE ALL …高教出版社‟ WITH …高等教育出版社‟6、REPLACE ALL 工资WITH 工资+1007、LIST MEMORY LIKE ?G*8、SORT TO TUSU ON 图书名/A9、LOCA TE FOR 专业=‟计算机‟10、CONTINUE阶段性测试二一选择题1 C2 D3 C4 D5 D6 D7 A8 C9 C 10 D11 C 12 B 13 C 14 C或D 15 B 16 C 17 A18 A19 D 20 B21 B 22 D 23 D 24 C 25 D二书写命令1、SORT TO BJJG 班级/D,籍贯/A FIELDS 姓名,性别,班级,籍贯FOR 性别=‟女‟2、INDEX ON 学号TO STU3、INDEX ON 性别TAG XB DESCENDING4、INDEX ON 出生日期TAG csrq OF CSRQ ASCENDING FOR 性别=‟男‟5、INDEX ON 出生日期TAG CSRQ ASCENDNG LIST NEXT 36、CALCULA TE MAX(考试成绩),MIN(考试成绩),A VG(考试成绩) FOR 课程代号=‟S1008‟7、COUNT FOR 课程代号=‟Y2003‟ TO A8、INDEX ON 课程代号TAG KCDH TOTAL TO KCDH ON 课程代号FIELDS 平时成;绩,考试成绩9、REPLACE ALL 平时成绩WITH 平时成绩+5 FOR 平时成绩>=75 AND 平时成绩<=8010、COPY TO abc FIELDS 学号,姓名,出生日期,籍贯三书写命令(使用SQL语句)1、CREA TE TABLE 学生表(学号C(11),姓名C(10),性别C(2),出生日期D(8))2、ALTER TABLE 学生表ALTER 学号C(10) ADD 籍贯C(20)3、INSERT INTO 学生表V ALUES(…2008010125‟,‟陈燕‟,‟女‟,{^1990/05/07},‟广西‟)4、ALTER TABLE 学生表RENAME 出身日期TO 出生年月5、DELETE FROM 学生表WHERE 姓名=‟张‟6、UPDA TE 学生表SET 籍贯=‟广东‟ WHERE 姓名=‟陈燕‟7、ALTER TABLE 学生表DROP 出生日期8、SELECT * FROM 学生表WHERE 性别=‟男‟ AND 籍贯!=湖南9、SELECT a.学号,a.姓名,b.课程代号FROM 学生基本情况表a INNER JOIN 学生成绩;表b ON a..学号=b.学号WHERE 课程代号IN(…1101‟,‟1102‟)10、SELECT * FROM 学生基本情况表WHERE 姓名=‟李‟ AND YEAR(出生日期)=1990下面红色字体是赠送的精美网络散文欣赏,不需要的朋友可以下载后编辑删除!!谢谢!!!一一条猎狗将兔子赶出了窝,一直追赶他,追了很久仍没有捉到。

VisualFoxpro编程实例[整理版]

VisualFoxpro编程实例[整理版]

实验五Visual Foxpro编程实践一. 实验目的与要求掌握利用Visual Foxpro编制开发自己的应用程序的实践知识,并学会在程序调试中自行发现问题和修改程序代码,最终完成应用程序的无错运行。

二. 相关知识利用Visual Foxpro自行开发编制应用程序的步骤:1.设置好系统的工作环境(尤其注意工作目录的默认设置)。

2.如果是初次进行,应当先建立一个项目,为该项目命名,激活项目管理器。

如果是接着上次的工作进行,则打开上次工作的本项目,同样也激活项目管理器。

3.在项目管理器的“数据”→“数据库”下面创建一个数据库,并命名(如已创建,则跳过本步骤)。

4.在项目管理器的“数据”→“数据库”→“表”下面进行数据表的创建或修改工作,并输入少量的正确数据以便将来的运行调试(如果已经创建了数据表,则跳过本步骤)。

5.在项目管理器的“文档”下面创建该应用程序所用到的所有表单,设计好各表单的界面并为表单里的控件填写程序代码.(注意为表单添加各自的数据环境,否则会出错!)6.试运行各表单,发现问题后重新修改有问题的表单的代码,反复调试和修改直至最后能无错运行。

7.将应用程序打包发布或制作成安装文件。

三. 实验内容与步骤本次实验以一个简单的学生成绩管理系统为例。

首先,对该系统作一个简单的介绍:该应用系统为完成学生信息和成绩的管理系统,主要有以下几个应用模块:(1)用户登录管理:系统具有管理员功能,只有取得管理员权限的人才能使用本系统。

(2)数据添加功能:对学生基本信息、教师基本信息、班级信息、课程信息、学生成绩信息进行添加录入。

(3)数据查询功能:对上述信息的基本查询。

(4)数据修改功能:对上述信息可进行修改工作。

(5)统计操作:可分别按个人成绩、单科成绩统计出最高成绩、最低成绩和平均成绩等。

(6)打印功能:对上述信息可进行打印。

实验步骤如下:1.数据库设计:首先设置好系统的运行环境和工作目录,然后建立项目,为项目命名为“学生成绩管理系统”,激活项目管理器,并在在项目管理器的“数据”→“数据库”下面创建一个数据库,命名为“学生成绩管理”,在“数据库”的“表”下面创建以下各数据表:(1)用户信息表user (表名命名为user即可,不要加汉字。

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

适用班级:1004501/1004502 VFP程序设计示例与练习(三)^Q^ VFP程序设计示例与练习三(因子)
1.从键盘输入一个正整数m,求m的不同因子有多少个
clear
set talk off
input ‘请输入一个正整数:’ to m
t=0 &&计数器,统计m所含因子的个数
for i=1 to m
if mod(m,i)=0 &&若为真,则找到一个因子
t=t+1
endif
endfor
? t
set talk on
return
2.从键盘输入一个正整数m,求m的真因子共有多少个(真因子是指除m以外的所有因子)clear
set talk off
input ‘请输入一个正整数:’ to m
t=0 &&计数器,统计m所含因子的个数
for i=1 to int(m/2) &&也可以写成i=1 to m-1 if mod(m,i)=0
t=t+1
endif
endfor
? t
set talk on
return
3.某整数N的所有真因子之和为S,若S<N,则称N为盈数。

从键盘输入一个正整数N,判断N 是否盈数。

clear
set talk off
input ‘请输入一个正整数:’ to n
s=0 &&存放因子之和
for i=1 to int(n/2) &&同例2
if mod(n,i)=0
s=s+i
endif
endfor
if s<n
?‘n是盈数’
else
? ‘n不是盈数’
endif
set talk on
return
4.某整数N的所有真因子之和为S,若S=N,则称N为完数,求[1,1000]中有多少个完数。

clea
set talk off
t=0
for n=1 to 1000
s=0 &&注意,对每个数求因子之前,因子的和为0
for i=1 to int(n/2) &&求每个数的真因子及其和if mod(n,i)=0
s=s+i
endif
endfor
if s=n &&是完数的条件
t=t+1
endif
endfor
?t
set talk on
return
5.求出18000中含有质因数的个数(相同的重复计数,例如,180中含有5个质因数:2、2、3、3、5)。

(质因数,质因子,即素数因子)clear
x=18000
n=0 &&计数器,记录质因子个数
k=2
do while x>1 &&求解过程中x的值会越来越小if mod(x,k)=0
n=n+1 &&每次求得的第一个因子肯定为质因子
x=int(x/k) &&求得第一个因子后即改变x的值
loop
*求得第一个因子后即离开循环求新x的第一个因子endif
k=k+1 &&若k不是约数,则继续判断k+1 enddo
? n
【练习】
1.写程序,求[1,1000]中有多少个盈数?
(答案:751)2.某整数N的所有真因子之和为S,若S>N,则称N为亏数。

求[100,1000]中最小的亏数是几。

(答案:100)3.若某整数N的所有因子之和是N的倍数,则称N为多因子完备数,如28,其所有因子之和为56。

求[1,500]之间有多少个因子完备数。

(答案:5)4.求[100,500]中含有偶数个真因子的整数共有多少个。

(答案:13)5.有些整数刚好是其因子个数的整数倍,如24有8个因子。

[1,300]中有多少个能被其因子数目整除的数?(答案:35)6.求[100,999]中含有偶数个质因子的整数的个数(相同的质因子重复计数)(答案:444)(提示:内外层循环变量不能相同!)。

相关文档
最新文档