VFP期末考试题型(带答案)_第1页
VFP期末考试题型(带答案)_第2页
VFP期末考试题型(带答案)_第3页
VFP期末考试题型(带答案)_第4页
VFP期末考试题型(带答案)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库技术与应用(VFP)期末考试题型一、判断题1 删除数据库时库表也一定被删除。F2修改表的结构必须以独占或非只读方式打开表。T3执行GO TOP后,RECNO()的值一定等于1。F4一个表只能有一个M型和G型字段。F5 VFP执行命令USE,就是把内存中对当前表所作的修改保存到外存的表文件中。F6建立关联的两个表都必须先建立索引。F7 VFP有交互操作与程序执行两类工作方式。T8表文件的所有字段的值均存放在表文件文件(.DBF)中。F9 LIST与DISP命令的功能完全一样F10 RETURN 命令和 CANCEL 命令的功能相同。F11 VFP中只能引用一维或二维数组,但数组中各个元素的

2、值的类型可以不同。T12 在浏览窗口中,可以为记录加注删除标记。也可以取消删除标记。T13 结构复合索引文件是打开表时自动打开。T14 LOCATE命令和SEEK命令都需要事先对表进行索引。F15视图文件是保存数据工作期所设置的工作环境的文件。T16 LOOP语句使执行转向循环语句头部继续循环。T17 不允许将用户画的一幅画放入到表文件的记录中。F18 照片字段的类型可以修改为C型的。F19 只有数据库表才能建立主索引。T二、编程填空题(要求从三大类型的程序中各选其一,即不会选两个同类型的程序题)(一)求和类型的程序(二)统计个数的类型(三)其他类型(四)关于质数(素数)1、计算A到B中所有素

3、数的和?程序:SET TALK OFF ClEAR s=0 FOR i=A TO B STEP 2 prime=1 FOR j=2 TO i-1 IF MOD(i,j)=0 Prime=0 EXIT ENDIF ENDFOR IF prime=1 s=s+i ENDIF ENDFOR ? “A到B之间所有素数之和为:“,s SET TALK ON RETURN2、计算A到B内素数的个数SET TALK OFFCLEARSum=0FOR i=A TO B prime=.T. DO SUBA WITH i IF prime Sum=sum+1 ENDIFENDFOR? “A到B内素数的个数为:“,

4、sumSET TALK ONRETURNPROCEDURE SUBAPARAMETERS XFOR j=2 TO INT(SQRT(X) IF MOD(x,j)=0 prime=.F. EXIT ENDIFENDFORRETURN具体题目:1、 求10,1000内所有能被被7和9中至少一个数整除的整数之个数。答案:236n=0for i=10 to 1000if mod(i,7)=0 or mod(i,9)=0 n=n+1endiendf?n2、 求101,299内所有能被2整除但不能同时被3和5整除的整数之和。答案:18630s=0for i=101 to 299if mod(i,2)=0

5、and not (mod(i,3)=0 and mod(i,5)=0) s=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+i3if s30000exitendiendf?i5、求出100以内使得算式1*2+2*3+n*(n+1)的值小于5000的最大的自然数n。答案:23s=0for i=1

6、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/i2if s=1.6exitendiendf?i-17、某国今年的人口总数为1亿,若以每年4%的速度递增,试求出至少要再过几年该国人口总数才会翻一翻。答案:18n=0x=1do while x2x=x*(1+0.04)n=n+1enddo?n8、设等比数列:1,3,9,27,。求使得此数列的前n项之和大于2345678的最小的自然数n。答案:14s=0n

7、=0do while s=2345678s=s+3nn=n+1enddo?n9、求出45678的所有非平凡因子(即除1和它本身以外的约数)中是奇数的因子个数。答案:7n=0s=45678for i=3 to 22839 step 2 if mod(s,i)=0 n=n+1 endifendfor?n10、求出203267的所有真因子(即小于它本身的约数)中最大的因子数。答案:6557s=203267for i=1 to int(203267/3)if mod(s,i)=0n=i endifendfor?n11、求出20677和42067的最大公约数。答案:713for i=20677 to 1

8、 step -1 if mod(20677,i)=0 and mod(42067,i)=0exit endifendfor?i12、求前1,100内能被6或8整除的所有自然数的平方根的和(将第1位小数四舍五入,结果只保留整数)。答案:162s=0for i=1 to 100 if mod(i,6)=0 or mod(i,8)=0s=s+sqrt(i) endifendfor?round(s,0)13、求所有符合算式ab*ba=2701的最小的两位数ab(即a*10+b)。其中a、b是19之间的一位整数。答案:37for a=1 to 9for b=1 to 9 if (a*10+b)*(b*1

9、0+a)=2701?a*10+b return endifendforendfor14、已知数列:1,2,4,7,11,16,,其规律是相邻两项之差依次是1,2,3,4,5,。试求出此数列中大于5000的最小的项。答案:5051a=1n=1do while a5000 a=a+n n=n+1enddo?a15、已知数列f(n):f(1)=1,f(2)=4,当n=3,4,5,时,f(n)=3*f(n-1)-f(n-2)。试求出100以内最小的自然数n使得此数列的第n项大于87654321。答案:20Dimension f(100)f(1)=1f(2)=4n=2do while f(n) 8765

10、4321n=n+1f(n)=3*f(n-1)-f(n-2)enddo?n16、一球从100米高处落至平地,并且连续多次再反弹再落下,假设每次反弹的高度都是前一高度的3/4倍,试求出最大的自然数n,使得此球从开始下落至第n次着地时在垂直方向所经过的总路程不超过690米。答案:15h=100s=100n=1do while s690h=h*3/4s=s+2*hn=n+1enddo?n-117、设有用26个字母表示的26个表达式:a=1,b=1/(a+1),c=1/(b+2),z=1/(y+25)。试求出这26个字母中其值小于0.1的字母个数。答案:16a=1n=0for i=1 to 25a=1/

11、(a+i)if a0.1n=n+1endifendfor?n18、回文指的是正读和反读都一样的一串字符,如121、1221。试求出1421,4112内所有回文数的和。答案:74250s=0for i=1421 to 4112if int(i/1000)=i%10 and int(i/100)%10= int(i%100/10)s=s+iendifendfor?s19、求在100,999内所有不含数字0且各位数字之积被96整除的数之和。答案:26640s=0for a=1 to 9for b=1 to 9for c=1 to 9 if(mod(a*b*c,96)=0)s=s+a*100+b*10

12、+c endiendfendfendf?s20、将大于1000且能被4和6中至少一个数整除的所有整数按从小到大顺序排列后,求前面20个数之和。答案:20610a=1001n=0s=0do while n20if mod(a,4)=0 or mod(a,6)=0s=s+an=n+1endifa=a+1enddo?s21、若一个自然数恰好是它的平方的末后几位数,则称此数为自同构数。如5和76都是自同构数,因为它们的平方分别是25和5776。求2,99999内所有自同构数之和。(提示:若x是m位同构数,则x的平方除以10的m次方的余数就是x)答案:101114s=0for i=2 to 999999

13、if mod(i*i,10)=i or mod(i*i,100)=i or mod(i*i,1000)=i or mod(i*i,10000)=i or mod(i*i,100000)=is=s+iendifendfor?s22、求满足条件A*B=54321且使A+B的值最小的自然数对A、B中较小的一个数。(提示:设A=B,当A越大时A+B越小)答案:57s1=54322for i=1 to int(sqrt(54321) if(54321%i=0 )s=i+54321/iif(s0if(c%2=1)n=n+1endifc=int(c/2)enddo?n25、对自然数A、B、C,若ABC且A*

14、A+B*B=C*C,则称A,B,C为一组勾股弦数,其中A、B、C分别称为勾、股、弦。试求出弦为25000的勾股弦数组的个数。答案:5n=0for b=12500 to 25000 for a=1 to b-1if a*a+b*b=25000*25000n=n+1endif endforendfor ?n 26、求方程3x-7y=1在条件|x|100且|y|75364321exitendifendfor?n28、求100200内的所有素数的个数。(素质是指只能被1和本身整除的数) 答案:21n=0for i=100 to 200for j=2 to i-1if(i%j=0) exitendife

15、ndforif j=in=n+1endifendfor?n29、求100010000内的第50个素数。(素质是指只能被1和本身整除的数)答案:1361n=0for i=1000 to 10000for j=2 to i-1if(i%j=0) exitendifendforif j=in=n+1endifif n=50exitendifendfor?i30、编写程序,计算10000以内有多少个这样的数,其个位数为6且该数能被9整除。答案:111n=0for i=1 to 10000 if i%10=6 and i%9=0n=n+1endifendfor?n31、设某四位数的各位数字的平方和等于1

16、00,问共有多少个这种四位数?答案:49n=0for i=1000 to 9999a=int(i/1000)b=int(i/100)%10c=int(i/10)%10d=i%10if a2+b2+c2+d2=100n=n+1endifendfor?n32、把一张一元钞票,换成一分、二分和五分硬币,每种至少11枚,问有多少种方案?答案:13n=0for a=11 to 20for b=11 to 50for c=11 to 100 ifa*5+b*2+c=100 n=n+1 endifendfor endforendfor?n33、把一张一元钞票,换成一分、二分和五分硬币,每种至少1枚,问兑换后

17、硬币总数最多的与硬币总数最少的枚数之差是多少?答案:73max=3min=300for a=1 to 20for b=1 to 50for c=1 to 100ifa*5+b*2+c=100 s=a+b+cif(smax) max=sendifif(smin)min=sendifendifendfor endforendfor?max-min34、找满足以下条件:X2+Y2=412 且X+Y之值最大的二个正整数X,Y, 求X+Y之值.答案:49max=41for x=1 to 41for y=x to 41ifx*x+y*y=41*41 and max500exit endifendifend

18、for?s40、一个数如果刚好与它所有的因子之和相等,则称该数为一个完数,如:6=1+2+3,则6就是一个完数。求出200到500之间所有的完数之和。答案:496sum=0for i=200 to 500s=0for j=1 to i-1if i%j=0s=s+jendifendforif s=isum=sum+iendifendfor?sum41、编写程序,求在5000以内能被17或者23整除的正整数的个数。答案:499n=0for i=1 to 5000if i%17=0 or i%23=0n=n+1endifendfor?n42、编写程序,求四位数的偶数中,所有各位数字之和是15的倍数的

19、数的个数。答案:306n=0for i=1000 to 9999 step 2a=int(i/1000)b=int(i/100)%10c=int(i/10)%10d=i%10if (a+b+c+d)%15=0n=n+1endifendfor?n43、编写程序,计算在050的范围内有多少个数,其每位数的乘积大于每位数的和。答案:23n=0for i=0 to 50a=int(i/10)b=i%10if a*ba+bn=n+1endifendfor?n 44、用一元纸币兑换一分、两分和五分的硬币,要求兑换硬币的总数为60枚,问共有多少种换法?(注:在兑换中,一分、两分或五分的硬币数可以为0枚)答案

20、:11n=0for a=0 to 20for b=0 to 50c=60-a-b ifa*5+b*2+c=100 n=n+1 endif endforendfor?n45、编写程序,求出100到500之间同时满足除5余4和除7余2条件的数的个数。答案:12n=0for i=100 to 500if i%5=4 and i%7=2n=n+1endifendfor?n 46、有5羊4犬3鸡2兔值钱1496,4羊2犬6鸡3兔值钱1175,3羊1犬7鸡5兔值钱958,2羊3犬5鸡1兔值钱861,求鸡值多少钱?答案:23for a=1 to 300for b=1 to 300for c=1 to 170

21、d=861-2*a-3*b-5*cif 4*a+2*b+6*c+3*d=1175 and 3*a+b+7*c+5*d=958 and 5*a+4*b+3*c+2*d=1496?creturnendifendforendforendfor47、编写程序,求出3到100之间的所有非偶数非素数的数之和。答案:1441s=0for i=3 to 100 step 2for j=2 to i-1 if i%j=0exitendifendforif jis=s+iendifendfor?s48、有50个学生一起买小吃,共花钱200元,其中每个大学生花5元,每个中学生花3元,每个小学生花2元,问大、中、小学

22、生的人数分配共有多少种不同的解(去掉某类学生为0的)?答案:8n=0for x=1 to 40for y=1 to 70 z=50-x-y if x*5+y*3+z*2=200n=n+1 endifendforendfor?n49、编写程序,统计10009999之间的所有满足以下条件的四位数的个数。该数是一个完全平方数,且其第1、2位数字之和为10,第3、4位数字之积为18。答案:1k=0n1=int(sqrt(1000)for n=n1 to 99m=n*na=int(m/1000)b=int(m/100)%10c=int(m/10)%10d=m%10if a+b=10 and c*d=18

23、k=k+1endifendfor?k50、编写程序,求一正整数等差数列的前五项的立方和,该数列前四项之和是26、之积是880。答案:4720for a=1 to 5for d=1 to 4if4*a+6*d=26 and a*(a+d)*(a+2*d)*(a+3*d)=880 ?a3+ (a+d)3+(a+2*d)3+(a+3*d)3+(a+4*d)3endifendforendfor51、求所有水仙花数的个数。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。Store 0 to a,b,cStore 0 to sFor i=100 to 999A=mod(i,10)B=int(m

24、od(I,100)/10)C=int(i/100)If i=a3+b3+c3S=s+1EndifEndfor?“水仙花总数为:”,sReturn52、求1000到10000之间的回文数(1001、3883、4554、7007、9999等),并求它们的和。s=0?1000到10000之间的回文数有:for i=1000 to 10000 m=alltrim(str(i) zx= dx= for j=1 to 4 zx=zx+substr(m,j,1) dx=dx+substr(m,5-j,1) endfor if zx=dx ?m+space(3) s=s+i endifendfor?它们的和是

25、:,s53、编程计算所有三位数百位数等于个位数减去十位数的数的和=1798554、计算10到4000中所有素数的个数=54655、计算3到1000中所有素数的和=76125856、求出1234,4321内中间两位数之和等于首尾两个数字之积的数的个数=12557、编程计算s=1+1/3+1/5+1/49。参考答案:clears=0for i=1 to 49 step 2 s=s+1/iendfor?sRetu答案:2.591258、编程计算100到1000之间能被4除余1的所有数之和。参考答案:clears=0for i=100 to 1000 if i%4=1 s=s+i endiendf?s

26、Retu答案:12352559、计算100到500中所有素数的和。(所谓素数是指除了1和它本身外,没有任何因子被该数整除)参考答案:cleas=0for i=100 to 500 prime=.t.for j=2 to i-1 if i%j=0 prime=.f.exit endif endf if prime=.t. s=s+i endiendf?sRetu答案:2047660、编程计算1/4!+1/8!+1/10! clea &主程序?1/fac(4)+1/fac(8)+1/fac(10)retufunc fac &fac创建一个求阶乘的函数para is=1for J=1 to is=s

27、*Jendforreturn 答案:0.001461、求所有五位数中,千位数字等于个位数字的数之和。clears=0for i=10000 to 99999 if i%10=int(i/1000)%10 s=s+I endifendf?sretu答案:49499550062、统计100到1000中能被5或9整除的所有数的个数。clea s=0 I=100DO WHILE I=b s=s+1 endif endfor ?s retu答案:5400065、已知数列的前三个数分别为1,1,2,以后每个数为前三个数之和,求第20项的值及前20项之和cleadime a(20)a(1)=1a(2)=1a

28、(3)=2s=a(1)+a(2)+a(3)I=4DO WHILE I21a(i)=a(i-1)+a(i-2)+a(i-3)s=s+a(i)I=I+1endDO?a(20),sReturn答案:66012 14466466、 已知s=1*2*3*n,当s超过300000时的n值。clea i=1s=1do while s=0),直到s180000为止,计算此时k的值。clea s=0k=0do while s=800 AND A=1300 AND A=1800 AND A=2300 B=A-2300 X=B*0.2+500*0.15+500*0.1+500*0.05 ENDCASE RETURN

29、TAX SKIP 注意大小写要与所给出的程序一致!2计算分段函数的值:当x0时,y=5;当x0 Y=(1) CASE X80 ?(1) elseif a60 ?不及格(2)?中等EndifEndifreturn“优良” ?之后的输出内容要加定界符 或者“”或者else4下面程序的功能是完成工资查询,请填空:CLEARSET TALK OFFUSE employeeACCPT 请输入职工号 To numLOCATE FOR 职工号=(1) IF(2) DISPLAY 姓名,工资ELSE ? 职工号输入错误!ENDIFUSESET TALK ONNumFound()5计一个程序的代码,当x=0时候

30、,y=3x+4 当 0X100时,Y=5X+6Set talk offclearinput x= to xdo case case (1) y=3*x+4 case 0x and x100 y=5*x+6endcase? ySet talk onreturnX0时,y=10;当x0 Y=10 CASE X0 Y= 2*X+3 OTHERWISE (2)ENDCASE? Y=,YRETURNDO CASE Y=17.费用收取WAIT 要将水电费字段清零吗? TO PIF UPPER(P)=(1)REPLACE ALL 水电费 WITH 0ENDIFGO (2)BROWS FIELDS 姓名, 水

31、电费USESET TALK ONRETURN“”Y TOP8成绩录入SET TALK OFFUSE STUDENTDO WHILE .NOT. EOF()IF 笔试=80 AND 上机=80 REPLACE等级 WITH “优秀”ENDIFNKSKIPENDDOUSESET TALK ONRETURN9输入成绩,统计考试总人数、不同分数段的人数、考试成绩分数段分布百分比数。分数分为五段:不及格、6069、7079、8089,90100。如果输入:111 将结束统计。 Set talk offClearstore 0 to k1,k2,k3,k4,k5do while .t.INPUT 输入成绩

32、: to xdo casecase (1)x=90k5=k5+1case x=80k4=k4+1case x=70K3=K3+1case x=60k2=k2+1case x60k1=K1+1case x=111exitotherwise?输入错误!请重新输入分数!EndcaseENDDOk =k1+k2+k3+k4+k5? 不及格人数:,k1,k1/k*100,%? 分数6069人数:,k2,k2/k*100,% ? 分数7079人数:,k3,k3/k*100,% ? 分数8089人数:,k4,k4/k*100,%?分数90100人数:,k5,k5/k*100,%? 总人数:,(2)NYkRe

33、turn10程序功能:求150所有整数的立方和。SET TALK OFF CLEAR (1) s=0 X= 1DO WHILE X5时,y=x-5;当x0时,y=15;当x0Y= (1) CASE X0 Y= -5 OTHERWISE Y=0 ENDCASE ? ”Y=”, y RETURN答案: (1) 15 (2) Y13设eee.dbf为职工数据表,姓名为一个字段名,查找名为“王林”的职工,若找到显示该员工信息,否则显示“查无此人”信息。SET TALK OFF (1) LOCATE FOR 姓名=”王林”IF (2) DISPELSE?” 查无此人”ENDIFUSESET TALK O

34、N答案: (1) USE EEE (2) FOUND()14下面程序将“春光明媚”先纵向显示出来然后再横向显示“明媚春光” 请填空完成该程序:Set talk offClearSTORE “春光明媚” TO XYN=1DO WHILE N8?SUBSTR( 1 )N=N+2ENDDO? SUBSTR( 2 )?SUBSTR(XY,1,4)Return答案:(1) XY,N,2 (2) XY,5,415输入一个三位整数,将其反向输出。如输入123,输出321。set talk offinput 请输入一个三位数 to (1) (2)=100*mod(a,10)+10*mod(int(a/10),

35、10)+ int(a/100)?breturn答案:(1) a(2) b16子程序调用主程序:t1.prgSET TALK OFFSTORE NH TO k1,k2DO t2 ?k1+k2 屏幕上显示的结果是 (1) RETURN子程序:t2.prgPRIVATE k1k1=k2+100?k1 屏幕上显示的结果是 (2) RETURN答案:(1) NHNH (2) NH10017子程序调用主程序:z.prgSET TALK OFFSTORE 4 TO y1, y2, y3y1=y1+1? y1+y2+y3 &屏幕上显示的结果是 (1) DO z1? y1+y2+y3 &屏幕上显示的结果是 (2

36、) RETURN子程序:z1.prgy2=y2+1DO z2y1=y1+1RETURN子程序:z2.prgy3=y3+1RETURN TO MASTER答案:(1) 13(2) 1518下面的程序实现了多次在“aaa.dbf”表中查找记录的操作。请在建立了aaa.dbf表的基础上,任意输入一位员工的“编号”,若查找到相应的记录则显示,否则给出提示“无此人!”;根据提示输入“N”或“n”则结束程序的运行。SET TALK OFFCLEARUSEaaa.dbfDO WHILE .T. CLEAR ACCEPT 请输入员工编号: TO ZHGNO LOCATE FOR 编号= ZHGNO IF (1

37、) DISPLAY 编号,姓名,部门代号,职称,基本工资 ELSE ?无此人! ENDIF WAIT 继续查询?(Y/N): TO P IF UPPER(P) Y USE EXIT ENDIFENDDOSET TALK ONRETURN答案:(1) NOT EOF() (2) Y19下面程序输出如图所示的图形,请将程序补充完整。*Set talk offclearFOR N=4 TO 1 STEP -1? (1) (3-N)FOR M=1 TO 2*N-1? (2) ENDFORENDFORSet talk onreturn答案:(1) SPACE (2) * 四、表单操作考试题型1按要求在考生文件夹下完成下列操作:1)按下图设计一表单文件formcalc1。设置表单(名称为form1)标题为“人民币兑换美元”。2)表单中添加两个标签,设置第一个标签(label1) 标题为 “输入人民币”,第二个标签(label2) 标题为 “兑换为美元”。 3)添加两

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论