VFP程序设计示例与练习一(整除)
- 格式:doc
- 大小:34.50 KB
- 文档页数:1
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 &&这个表达式可有可无,为了省事完全省略也可以。
一级VF程序设计题库及答案1 编程序求出1-200以内的能被7整除的数的平方和。
377986cleas=0m=0for i=1 to 200if i%7=0m=i^2s=s+mendifendfor?s2 编程序求1~99的平方根的和并输出结果。
(保留小数点两位) 661.46 cleas=0for i=1 to 99s=s+sqrt(i) 中间三步的顺序不可以更改endfor?round(s,2) 保留小数点位数设置,系统默认也为两位4 编程序统计1~1000能被3整除的数的个数。
333cleas=0for n=1 to 1000if n%3=0s=s+1endifendfor?s6 编程序求出1~200所有整数的平方和并输出结果。
2686700cleas=0for n=1 to 200s=s+n^2endfor?s7 编程序求出1到5000之间的能被5整除的前若干个偶数之和,当和大于500 时程序退出。
550Clea clears=0 s=0for n=10 to 5000 step 10 for n=1 to 5000s=s+n if n%10=0if s>500 s=s+nexit endifendif if s>500endfor exit?s endif?s8编程序求在3000以内被17或者23整除的正整数数的个数。
299 cleas=0for n=1 to 3000if n%17=0 or n%23=0s=s+1 求个数endifendfor?s11 编程序求出1-100以内的能被3整除的数的平方和。
112761cleas=0for n=1 to 100if n%3=0s=s+n^2endifendfor?s12 已知一个数列的前3个数为0,0,1,以后每个数为前3个数的和,编程序求此数列的第36个数。
334745777cleadime f(36)f(1)=0f(2)=0f(3)=1s=0for n=4 to 36f(n)=f(n-3)+f(n-2)+f(n-1)s=f(n)endfor?s13 编程序求出1-100以内的能被9整除的数的平方和。
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(Visual FoxPro)是一种基于对象的数据库管理系统和编程语言,广泛用于数据处理和应用开发。
本文将为你介绍一些VFP编程练习题,帮助你提高VFP编程技能。
练习一:计算器应用程序编写一个简单的VFP应用程序,实现基本的计算器功能。
程序应该有一个用户界面,包括数字按钮和操作符按钮。
用户可以选择数字按钮输入数字,并使用操作符按钮进行加、减、乘、除等运算。
程序应能正确处理用户输入并返回正确的计算结果。
练习二:学生成绩管理系统设计一个学生成绩管理系统,包括学生信息的录入和查询功能。
使用VFP编写程序,能够实现学生信息的添加、修改和删除,以及查询学生的成绩和排名等功能。
你可以使用数据库来存储学生信息,并使用VFP提供的数据库操作函数进行数据的读写。
练习三:图书馆管理系统开发一个简单的图书馆管理系统,能够实现图书的借阅和归还功能。
使用VFP编写程序,设计用户界面,包括图书的添加、删除和查询功能,以及借阅和归还图书的操作。
你可以使用数据库来存储图书和读者的信息,并使用VFP提供的数据库操作函数来管理数据。
练习四:商品销售分析编写一个VFP应用程序,用于对商品销售数据进行分析。
程序应能读取销售数据并对商品的销售情况进行统计和分析,包括销售额、销售量、销售排行等。
通过图形化界面展示分析结果,帮助用户更好地了解商品的销售情况,并提供数据导出等功能。
练习五:音乐播放器使用VFP编写一个简单的音乐播放器程序。
程序应具备基本的音乐播放功能,包括选择音乐文件、播放、暂停、停止等。
你可以使用VFP提供的多媒体函数来实现音乐播放功能,并设计用户界面,提供友好的操作界面和交互体验。
总结:通过完成以上VFP编程练习题,你可以提高自己的VFP编程技能,并熟悉VFP的应用开发过程。
这些练习涵盖了常见的应用场景,可以帮助你更好地理解和掌握VFP编程。
希望你能够充分利用这些练习题,不断学习和提升自己的编程技能。
【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
【程序4】题目:将一个正整数分解质因数。
例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
1.程序分析:(a> b)?a:b这是条件运算符的基本例子。
【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
1.程序分析:利用辗除法。
【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
1.程序分析:利用while语句,条件为输入的字符不为'\n '.【程序8】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
vfp练习题VFP练习题Visual FoxPro(VFP)是一种用于开发数据库应用程序的编程语言和集成开发环境(IDE)。
它具有强大的数据处理和界面设计功能,被广泛应用于企业级软件开发。
为了提高自己在VFP方面的技能,我们可以通过练习题来加深对VFP的理解和应用。
练习题一:数据表操作1. 创建一个名为"Students"的数据表,包含字段"ID"(整数类型)、"Name"(字符类型)和"Age"(整数类型)。
2. 向"Students"表中插入几条记录,包括不同的ID、姓名和年龄。
3. 编写VFP代码,查询"Students"表中年龄大于等于18岁的学生记录。
4. 编写VFP代码,根据学生的ID更新"Students"表中的姓名。
练习题二:界面设计1. 创建一个窗体,包含一个文本框和一个按钮。
2. 当用户在文本框中输入学生的姓名并点击按钮时,编写VFP代码,在"Students"表中查询并显示该学生的信息。
练习题三:报表生成1. 创建一个报表,显示"Students"表中所有学生的信息。
2. 在报表中添加一个计算字段,计算学生的年龄是否大于等于18岁,并显示"是"或"否"。
3. 在报表中添加一个汇总字段,计算学生的平均年龄。
练习题四:数据分析1. 创建一个名为"Scores"的数据表,包含字段"StudentID"(整数类型)和"Score"(整数类型)。
2. 向"Scores"表中插入几条记录,包括不同的学生ID和分数。
3. 编写VFP代码,查询"Scores"表中每个学生的平均分数,并将结果显示在一个报表中。
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"。
选择结构程序设计示例与练习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.输入三角形的三条边,求三角形的周长和面积。
程序设计操作练习题计算: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程序设计50道题最基础的知识哦1、求[10,1000]内所有能被被7和9中至少一个数整除的整数之个数。
答案:236n=0for i=10 to 1000if mod(i,7)=0 or mod(i,9)=0n=n+1endiendfn2、求[101,299]内所有能被2整除但不能同时被3和5整除的整数之和。
答案:18630s=0for i=101 to 299if mod(i,2)=0 and not (mod(i,3)=0 and mod(i,5)=0)s=s+iendiendfs3、求100以内最大的自然数n,使得从1开始的连续n个自然数的倒数之和小于3.5。
答案:18s=0for i=1 to 100s=s+1/iif s>=3.5exitendiendfi-14、求100以内最小的自然数n,使得从1开始的连续n个自然数的立方之和大于30000。
答案:25s=0for i=1 to 100s=s+i^3if s>30000exitendiendfi5、求出100以内使得算式1*2+2*3+…+n*(n+1)的值小于5000的最大的自然数n。
答案:23s=0for i=1 to 100s=s+i*(i+1)if s>=5000exitendiendfi-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.6exitendiendfi-17、某国今年的人口总数为1亿,若以每年4%的速度递增,试求出至少要再过几年该国人口总数才会翻一翻。
答案:18n=0x=1do while x<2x=x*(1+0.04)n=n+1enddon8、设等比数列:1,3,9,27,…。
求使得此数列的前n项之和大于2345678的最小的自然数n。
答案:14s=0n=0do while s<=2345678s=s+3^nn=n+1enddon9、求出45678的所有非平凡因子(即除1和它本身以外的约数)中是奇数的因子个数。
第二章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下面红色字体是赠送的精美网络散文欣赏,不需要的朋友可以下载后编辑删除!!谢谢!!!一一条猎狗将兔子赶出了窝,一直追赶他,追了很久仍没有捉到。
典型程序设计题(附参考答案)1.求1到2000之间,能被3或7整除,并且含有数字5的整数的个数、它们的和、它们的平方根的和(保留2位小数)、以及它们的平方和。
2.求能被3整除且至少有一位数字为5的三位数的个数。
3.求出只要能被2,7,9之一整除的800以内的正整数的个数。
4.求[105,625]间能同时被7和11整除的自然数之和。
求[200,600]间奇数之和。
5.编程序求出1000到2000之间同时满足除3余2和除5余3条件的数的个数。
6.输出[10,100]中除以17的余数和除以5的商相等的整数的个数。
7.统计区间[1000,9999]内所有能被3整除,且千位数字与个位数字之和为8的整数的个数。
8.求在四位数的奇数中,所有各位数字之和是25的倍数的数的和。
9.求出所有能被17整除且不含重复数字的三位数的和。
10.求1到500的偶数立方和与奇数立方和之差。
11.求3+9+27+81+243+...这样的数之和. 若累加数大于500时,则结束累加.12.求1+3+5+7+9+11+...这样的奇数之和.若累加数大于500时, 则结束累加。
13.计算S=1*5*9*13*...*k,直到累乘数k>=25中止。
14.求出1到5000之间的能被5整除的前若干个偶数之和,当和大于500时程序退出。
15.编写程序,s=1+1/2+1/3+…+1/99,保留两位小数。
16.编程求S=1*3+2*4+3*5+...+198*200。
17.设S=1+1/2+1/3+...+1/N,N为正整数。
编程求使S不超过10的最大的N18.求S=8!+9!+10!19.编写程序,求10!20.计算S=3!+5!+7!+...+N!,求直到S>=680000为止的奇数N。
21.s=1!+2!+3!+....+n! 当s大于61000时结束累加,求n。
22.数列xi各元素的值是:x1=1,x2=1+2,x3=1+2+3,.....xn=1+2+3+......+n。
Vf练习1—51、任意一个数,若能被7或3整除,则输出该数,最后释放所有的内存变量SET TALK OFFINPUT “输入一个数”TO XIF [23]?[24]ENDIF[25]RETURN1、下面程序的功能是计算1——100之间所有整数的平方和并输出结果S=0[1]DO WHILE X<100[2][3]ENDDO?SRETURN1、编程求1——1000之间被3整除又被5整除的个数及其和。
N=0S=0K=1DO WHILE [1]IF [2] AND[3][4]S=S+KENDIFK=K+1ENDDO?N,SRETURN 3、从键盘上连续输入10组数,分别输出每数和,对输入进行规定,每组数的结束标志为“0”K=1DO WHILE [7]?”请输入第”+[8] +“组数”S=0X=1DO WHILE[9]INPUT “请输入下一个数:”TO X[10]ENDDO?”第”+[11] +“组数之和”,SK=K+1ENDDORETURN4、编写程序,要求从键盘输入9个数,按从小到大的顺序排列并显示出来。
CLEAR[12]I=1DO WHILE[13]INPUT TO K(I)I=I+1ENDDOI= 1DO WHILE[14]J=[15]DO WHILE[16]IF[17]T=K(I)K(I)=K(J)K(J)=TENDIF[18]ENDDOI=I+1ENDDOI=1DO WHILE I<10[19]I=I+1ENDDORETURN3、键盘输入10个数,输入最小数SET TALK OFFCLEARK=1INPUT “请输入第1个数:”TO ADO WHILE[12]INPUT “请输入第2个数:”TO BIF[13][14]ENDIF[15][16]?“最小数”,ASET TALK ONRETURN4、从键盘输入10个数,按从小到大的顺序输出SET TALK OFFCLEAR[17]I=1DO WHILE I<=10INPUT TO M(I)ENDDOI=1DO WHILE [18]J=1DO WHILE[19]IF [20]T=M(J)M(J)=M(J+1)M(J+1)=TENDIF[21]ENDDOI=I+1ENDDOI=1DO WHILE I<=10[22]I=I+1ENDDOSET TALK ONRETURN4、计算10!+15!+20!+25!CLEARI=10T=0DO WHILE[14]S=0DO PRO1 WITH [15]T=[16]I=[17]ENDDO?TENDDORETURN子程序功能计算P=N!*子程序PRO1.PRGPARAMETERS P,NSTORE[18] TOL,PDO WHILE[19]P=[20]L=L+1ENDDO6、编写一个子程序计算N的阶乘,在主程序中计算3!+5!+7!+9!+11!。
vfp习题及答案VFP习题及答案Visual FoxPro(VFP)是一种功能强大的数据库管理系统和编程语言。
它被广泛应用于企业级应用程序的开发和维护。
为了帮助初学者更好地掌握VFP的基本知识和技巧,下面将介绍一些常见的VFP习题及其答案。
1. 问题:如何在VFP中创建一个新的数据库表?答案:要创建一个新的数据库表,可以按照以下步骤进行操作:- 打开Visual FoxPro软件。
- 在命令窗口中输入CREATE TABLE命令,后跟表名和字段列表。
- 按下回车键,即可创建一个新的数据库表。
例如,要创建一个名为"Customers"的数据库表,其中包含"CustomerID"、"FirstName"和"LastName"三个字段,可以输入以下命令:CREATE TABLE Customers (CustomerID INT, FirstName CHAR(50), LastName CHAR(50))2. 问题:如何在VFP中向数据库表中插入数据?答案:要向数据库表中插入数据,可以使用INSERT INTO命令。
以下是一个示例:INSERT INTO Customers (CustomerID, FirstName, LastName) VALUES (1, "John", "Doe")这将向"Customers"表中插入一条记录,其中CustomerID为1,FirstName为"John",LastName为"Doe"。
3. 问题:如何在VFP中查询数据库表中的数据?答案:要查询数据库表中的数据,可以使用SELECT语句。
以下是一个示例:SELECT * FROM Customers这将返回"Customers"表中的所有记录。
适用班级:0915201/101/102/103VFP 程序设计示例与练习(一) ^Q^1VFP 程序设计示例与练习一(整除)1.求[351,432]之间所有既不能被3整除又不能被7整除的整数的个数。
clearset talk off n=0for m=351 to 432 if mod(m,3)<>0 and mod(m,7)<>0 n=n+1 endif endfor ?nset talk on return2.求[1,500]中能同时满足用3除余2,用5除余3,用7除余2的所有整数之和。
clearset talk offs=0 &&变量s 用于存放和,初值为0 for m=1 to 500 if mod(m,3)=2 and mod(m,5)=3 and mod(m,7)=2 s=s+m endif endfor ?sset talk on return3.求[1,1000]中能被7或者11整除,但又不能同时被7和11整除的整数的个数。
clearset talk offn=0 &&计数器,从0开始计数 for m=1 to 1000if (mod(m,7)=0 or mod(m,11)=0) and mod(m,77)!=0 n=n+1 endif endfor ?nset talk on return4.求1000以内,同时能被3和7整除的所有自然数之和的平方根。
(按四舍五入精确到小数点后3位)clearset talk off s=0for m=1 to 1000 if mod(m,3)=0 and mod(m,7)=0 s=s+m endif endfor?round(sqrt(s),3) set talk on return5.求[1,500]中能被5或9整除的所有自然数的倒数之和。
(按四舍五入精确到小数点后2位)clearset talk off s=0for m=1 to 500 if mod(m,5)=0 or mod(m,9)=0 s=s+1/m && m 的倒数之和 endif endfor ?round(s,2) set talk on return6.求公元1年到公元2010年所有闰年的数目。
例1 编程输出如下图形cleari=0j=0for i=1 to 6??space(17-i)for j=1 to i??"◆"next j?next i例2 计算1+2+3+ … +100的和。
SET TALK OFFCLEARnSum=0i=1DO WHILE i<=100nSum = nSum + ii=i+1ENDDO?”1~100的和为:”,nSumRETURN例3 统计人才档案表中男女人数。
SET TALK OFFCLEARUSE 人才档案STORE 0 TO nMan,nWomanDO WHILE !EOF()IF 性别=”男”nMan=nMan+1ELSEnWoman=nWoman+1ENDIFSKIPENDDO? ”男人数”+STR(nMan)? ”女人数”+STR(nWoman)USESET TALK ONRETURN例4 求1~500中能同时满足用3除余2,用5除余3,用7除余2的所有整数。
CLEARFOR n=1 TO 500IF n%3=2 AND n%5=3 AND n%7=2?? n?? ” ”ENDIFENDFORSET TALK ONRETURN例5 打印九九乘法口诀表。
SET TALK OFFCLEARFOR X=1 TO 9Y=1DO WHILE Y<=XZ=X*Y??STR(Y,1)+”*”+STR(X,1)+”=”+STR(Z,2)+” ”Y=Y+1ENDDO?ENDFORRETURN例6 输入10个数,并将它们按由大到小的顺序输出。
SET TALK ONCLEARDIMENSION data[10]STORE 0.0 to dataFOR i=1 to 10 && 输入10个数,分别存放在数组的10个元素中@ i,5 SAY ”请输入第”+STR(i,2)+ ”个数: ” GET data[i] ENDFORREADFOR i=1 TO 10 && 对10个数进行排序FOR j=i TO 10IF data[i]<data[j]temp=data[i]data[i]=data[j]data[j]=tempENDIFENDFORENDFOR@ 12,5 SAY ”10个数由大到小的排列顺序为:”@ 14,5 SAY ” ”FOR i=1 TO 10 && 输出排序后的10个数??data[i]ENDFORSET TALK ONRETURN例7 根据输入的X值,计算下面分段函数的值,并显示结果。
Visual FxoPro程序设计题1.编写程序,从键盘输入一个日期,查询STUDENT表中该日期以后出生的学生信息并显示在浏览窗口中。
use student &&运行前单击教学管理数据库input “请输入某日期:” to r q*输入时有提示,或input to rq输入时无提示,输{^1987-01-01}browse for 出生日期>rq2.有一函数:x (x<1)y= 2x-1 (1≤x<10)3x-11 (x≥10)编写程序,输入x,输出y的值。
clearinput "Enter x please!" to xif x<1y=xelseif x<10y=2*x-1elsey=3*x-11endifendif? 'x=',x,'y=',y3.编写程序,从键盘输入一个年份,判断它是否闰年。
clearinput "Enter year number please!" to yif y%4=0 and y%100<>0 or y%400=0? y,"is a leap year!"else? y,"is not leap year."Endif4.编写程序,输入一个百分制成绩,要求输出成绩等级“A”、“B”、“C”、“D”、“E”。
90分以上为“A”,80~89分为“B”,70~79分为“C”,60~69分为“D”,60分以下为“E”。
input “请输入一百分制成绩” to cjdo casecase cj>=90?” A”case cj>=80?” B”case cj>=70?” C”case cj>=60?” D”otherwise?” E”endcase5.编写程序,从键盘输入一个正整数M,输出M内(包括M)所有偶数。
1.求1~108所有整数的平方和并输出结果。
#4257542.求1~135的平方根的和并输出结果。
(保留小数点两位)#1051.313.求s=1-1/2+1/3-1/4+1/5-1/6+…+1/99-1/100的值(按四舍五入方式精确到小数点后4位)#0.68824.求[351,432]之间所有既不能被3整除,又不能被8整除的整数的和。
#184135.求1000以内,同时能被3和7整除的所有自然数之和的平方根。
(按四舍五入方式精确到小数点后第二位)。
#153.916.求1到1000之内能被7或11整除,但不能同时被7和11整除的所有整数的个数。
#2087.求500以内(含500)能被5或9整除的所有自然数的倒数之和。
按四舍五入保留两位小数。
#1.488.编程序求2+4+8+16+32+…这样的数之和。
如果累加数大于9000时,则程序终止并输出结果。
#163829.编程序求出1-100以内的能被3整除的数的平方和。
#11276110.编程序求出1-4000以内能被3或者11整除的数的个数。
#157511.编程序求出1到4000之间的能被5整除的前若干个偶数之和,当和大于400时退出并输出结果。
#45012.已知S1=1,S2=1+3,S3=1+3+5,S4=1+3+5+7,…,SN=1+3+5+7+…+(2N-1),N为正整数。
编程求S1+S2+S3+S4+…+SN的值<20000时的N的最大值。
#3813.已知S=2+(2+4)+(2+4+8)+(2+4+8+16)+…,求S>6000的S的最小值。
#816614.已知S1=1, S2=1+2, S3=1+2+4, S4=1+2+4+8,S5=1+2+4+8+16,…,编制一个程序求S=S1+S2+S3+S4+S5+…+S20的值。
#209713015.已知S1=1, S2=1+3, S3=1+3+5, S4=1+3+5+7,S5=1+3+5+7+9,…,编制一个程序求S=S1+S2+S3+S4+S5+…+S20的值.#287016.已知S1=1,S2=1+2,S3=1+2+3…,SN=1+2+…n,求S20到S80之间有多少个数能被17或35整除。
适用班级:
VFP 程序设计示例与练习(一) ^Q^
1
VFP 程序设计示例与练习一(整除)
1.求[351,432]之间所有既不能被3整除又不能被7整除的整数的个数。
clear
set talk off n=0
for m=351 to 432 if mod(m,3)<>0 and mod(m,7)<>0 n=n+1 endif endfor ?n
set talk on return
2.求[1,500]中能同时满足用3除余2,用5除余3,用7除余2的所有整数之和。
clear
set talk off s=0
for m=1 to 500 if mod(m,3)=2 and mod(m,5)=3 and mod(m,7)=2 s=s+m endif endfor ?s
set talk on return
3.求[1,1000]中能被7或者11整除,但又不能同时被7和11整除的整数的个数。
clear
set talk off n=0
for m=1 to 1000
if (mod(m,7)=0 or mod(m,11)=0) and mod(m,77)!=0 n=n+1 endif endfor ?n
set talk on return
4.求1000以内,同时能被3和7整除的所有自然数之和的平方根。
(按四舍五入精确到小数点后3位)
clear
set talk off s=0
for m=1 to 1000 if mod(m,3)=0 and mod(m,7)=0 s=s+m endif endfor
?round(sqrt(s),2) set talk on return
5.求[1,500]中能被5或9整除的所有自然数的倒数之和。
(按四舍五入精确到小数点后2位)
clear
set talk off s=0
for m=1 to 500 if mod(m,5)=0 or mod(m,9)=0 s=s+1/m endif endfor ?round(s,2) set talk on return
6.求公元1年到公元2006年所有闰年的数目。
set talk off clear n=0 year=1
do while year<=2006
if mod(year,4)=0 and mod(year,100)!=0; or mod(year,400)=0 n=n+1 endif year=year+1 enddo
?“公元1--2006年所有闰年数为:”,n set talk on return
【练习】
1. 求[1,1000]中同时满足用3除余1,用4除余2,用5除余3的整数的个数。
(答案:16)
2. 求[100,400]中满足用5除余1或者用7除余5的所有偶数之和。
(答案:11696)
3. 在[125,521]中,设所有既不能被3整除又不能被7整除的整数之和为S1,所有既能被3整除又能被7整除的所有整数之和为S2,求|S1-S2|。
(答案:67307)
4. 求[11,30]中所有既不能被2整除又不能被3整除的所有整数之积; (答案:770201575)
5. 求9999以内,能被11或者21整除的所有自然数之和的倒数。
(按四舍五入精确到小数点后10位); (答案:0.0000001489)
6.求公元100年到公元2000年所有能被3整除的闰年的数目. (答案:153)。