VFP程序设计填空改错试题及答案_第1页
VFP程序设计填空改错试题及答案_第2页
VFP程序设计填空改错试题及答案_第3页
VFP程序设计填空改错试题及答案_第4页
VFP程序设计填空改错试题及答案_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、题2 单表程序设计1 02题2 单表程序设计 *-*【程序设计】 *-*题目:设表 RSDA.DBF 结构为:学号(C,5) ,姓名(C,6) , * 职称(C,6)统计出 RSDA.DBF 表中职称为"工程师"的 * 人数。 (利用 DO WHILEENDDO 循环语句实现) 。 * 将人数存入变量 Y 中 * 请按照题目要求,在下面编写程序代码。 *-SET TALK OFFSET LOGERRORS ON Y=-1*Program*use rsda store 0 to slocate for 职称="工程师"do while not eof()

2、s=s+1 continueenddo?"共有工程师"+str(s,3)+"名"use Y=S* End *DO YZJ9 WITH Y SET TALK OFF RETURN *-*【程序设计】 *-*题目:有学生数据表 student.dbf,其中编号字段的值从 1 开始 * 连续排列。欲按编号的 1,4,7,10,.规律抽取学生 * 参加比赛,并将满足条件的记录保存到 st1.dbf 中,请编 * 程完成。 * (用 do while .endd 和 scatter、gather 语句完成) * 请按照题目要求,在下面编写程序代码。 *-SET T

3、ALK ONSET LOGERRORS ONclearsele 1use studentsele 2use st1 zap*Program*sele 1do while .not. eof()if mod(编号,3)=1scatter to arrysele 2appe blan gather from arryEndifsele 1skipendd* End *sele 2list close dataSET LOGERRORS OFFSET TALK OFF *-*【程序设计】 *-*题目:编程以物理连接方法求学生刘一各门功课的考试成绩, * 已知数据表 STUDENT.DBF 和 STU

4、DY.DBF。新生成的数据 * 表名为 SG.DBF。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ON*Program*SELE 1USE STUDENTSELE 2USE STUDYSELE 1JOIN WITH STUDY TO SGFOR 学号=STUDY.学号 .AND. 姓名="刘一" FIELDS 学号,姓 名,STUDY.课程号,STUDY.成绩 SELE 3 USE SG LIST* End *CLOSE DATASET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:计

5、算机等级考试数据表为 STUDENT.DBF,凡笔试和上机成绩 * 均达到 80 分以上者,应在等级字段中填入"优秀"字样。 * 请用 DO WHILE .ENDDO 语句编写。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ONCLEAR*Program*USE STUDENTDO WHILE .NOT.EOF()IF 笔试>=80 .AND. 上机>=80REPL 等级 WITH "优秀"ENDIFSKIPENDDLIST* End *CLOSE DATASET LOGERRORS OFF

6、SET TALK OFF*-*【程序设计】 *-*题目:根据已知工资表.dbf 的内容,按性别汇总工资成绩,存于汇 * 总.dbf 表中 * 请按照题目要求,在下面编写程序代码。*-SET TALK ON SET LOGERRORS ON clear *Program* use 工资表 inde on 性别 to sy total on 性别 to 汇总.dbf fields 工资 use 汇总 list * End * close data SET LOGERRORS OFF SET TALK OFF *-*【程序设计】 *-*题目:三个数据表分别为学生库(STUDENT.DBF)、选课程库

7、(XK.DBF) * 和课程库(KC.DBF),将所有选必修课的记录内容生成新库 * STUDENT1.DBF,新库中包括学号、姓名、课程号、课程名称、 * 课程类型字段。 * 请按照题目要求,在下面编写程序代码。 *- SET TALK ONSET LOGERRORS ONCLEAR*Program*SELE 1USE XKSELE 2USE KCJOIN WITH XK TO XK1FIELDSA.学号,课程号,课程名称,课程类型 FOR 课程号=A.课程 号 .AND. 课程类型="选修 " SELE 3B.USE XK1 SELE 4 USE STUDENT JOI

8、N WITH XK1 TO STUDENT1 FIELDS 学号,姓名, C.课程号,C.课程名称,C.课程类型 FOR 学号=C.学号 SELE 5 USE * End * CLOSE DATA SET LOGERRORS OFF SET TALK OFF *-*【程序设计】 *-*题目:编程判断一个整数 w 的各位数字平方之和能否 * 被 5 整除, 可以被 5 整除则返回 1,否则返回 0。 * 将结果存入变量 OUT 中,要求用 Do While 语句实现。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ON? "输入一个整数

9、:w=39"OUT=-1w=39*Program*s=0do while w>0s=s+(w%10)*(w%10)w=int(w/10)Enddoif s%5=0out=1elseout=0endif? Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程求一个大于 10 的 n 位整数的后 n-1 位的数。 * 将结果存入变量 OUT 中,使用 Do While 语句实现。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ON SET LOGERRORS ON OUT=

10、-1 ? "输入一个大于 10 的整数:w=8765" w=8765 *Program*n=0i=1do while(w>10)n=n+i*(w%10)w=int(w/10)i=i*10Enddo?nout=n* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程求对某一正数的值保留 2 位小数,并对第三位 * 进行四舍五入。 * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ONh=234.5367OUT

11、=-1*Program*i=0i=int(h*1000)%10)if i>=5out=int(h*100+1)/100elseout=int(h*100)/100endif? Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程找出一个大于给定整数且紧随这个整数的素数。 * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ON? "给定的整数为 68"OUT=-1*Program*i=69do whi

12、le i>=68for k=2 to i-1if i%k=0exitendifendforif i=kexitendifi=i+1enddo?i out=I* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程当 n=10 时,计算如下表达式 a10 的值。 * a1=1,a2=1/(1+a1),a3=1/(1+a2), * .an=1/(1+a(n-1)。 * 将结果存入变量 OUT 中,要求用 For 循环语句实现。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGE

13、RRORS ONOUT=-1*Program*a=1for i=1 to 9a=1.0/(1+a)endforout=a? Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程求自然数 345 各位数字的积。 * (要求使用循环语句求解,使用 Do While 语句实现。) * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *- SET TALK ONSET LOGERRORS ONn=345OUT=-1*Program*s=1do while n>0d=n%10s=s*

14、dn=int(n/10)enddoout=s? Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程当 n=10 时,计算如下表达式 a10 的值。 * a1=1,a2=1/(1+a1),a3=1/(1+a2), * .an=1/(1+a(n-1)。 * 将结果存入变量 OUT 中,要求用 For 循环语句实现。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ONOUT=-1*Program*a=1for i=1 to 9a=1.0/(1+a)endfo

15、rout=a? Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *- *题目:编程求自然数 345 各位数字的积。 * (要求使用循环语句求解,使用 Do While 语句实现。) * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ON SET LOGERRORS ON n=345 OUT=-1 *Program* s=1 do while n>0 d=n%10 s=s*d n=int(n/10) enddo out=s ? Out * End * DO YZJ

16、 WITH OUT SET LOGERRORS OFF SET TALK OFF *-*【程序设计】 *-*题目:编程将两个两位数的正整数 a、b 合并形成一个整数放在 c 中。 * 合并的方式是:将 a 数的十位和个位数依次放在 c 数的百位和 * 个位上,b 数的十位和个位数依次放在 c 数的十位和千位上。 * 将 c 结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ONa=45b=12OUT=-1*Program*c=int(a/10)*100+a%10+int(b/10)*10+b%10*1000out=c?

17、Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程判断整数 x 是否是同构数。若是同构数,结果返回 1; * 否则返回 0。(x 的值要求不大于 100) * 所谓“同构数”是指这样的数,这个数出现在它的平方数的右边。 * 例如:输入整数 5,5 的平方数是 25,5 是 25 中右侧的数,所以 5 是 * 同构数。 。 * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ON? "输入整数 x=25 进行判断&q

18、uot; x=25OUT=-1*Program*k=x*xif k%10=x or k%100=xout=1elseout=0endif? Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程计算如下表达式的值: * y=1-1/31/5-1/71/9。 * 要求使用 for.endfor 语句来完成。 * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *- SET TALK ONSET LOGERRORS ONOUT=-1*Program*s=1for i=1 to 4s=s

19、+(-1)i/(2*i+1)endforout=s? Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程计算如下表达式的值: * y=1-1/2+1/4-1/6+1/8-1/10。 * 要求使用 for.endfor 语句来完成。 * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *- SET TALK ONSET LOGERRORS ONOUT=-1*Program*s=1for i=1 to 5s=s+(-1)i/(2*i)endfor out=s? Out* End *

20、DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OF*-*【程序设计】 *-*题目:编程求一分数序列 2/1,3/2,5/3,8/5,13/8, * 21/13的前 20 项之和,将结果存入变量 OUT 中, * 要求用 For 循环语句实现。 *-SET TALK ONSET LOGERRORS ONOUT=-1*Program*f1=1f2=1s=0for i=1 to 20f3=f1+f2f1=f2f2=f3s=s+f2/f1endfout=s? Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF

21、*-*【程序设计】 *-*题目:编程求 fibonacci 数列前 28 项的和。 * 已知数列的第一项值为 1,第二项值也为 1,从第三项开始, * 每一项均为其前面相邻两项的和。 * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ON SET LOGERRORS ON OUT=-1 *Program* store 1 to f1,f2 k=f1+f2 for i=3 to 28 f=f1+f2 k=k+f f1=f2 f2=f endf out=k ? Out * End * DO YZJ WITH OUT SET LOGERRORS OFF

22、 SET TALK OFF *-*【程序设计】 *- *题目:已知变量 x 为正整数,编程求变量 x 的位数。 * (请用 do case.case.endcase 语句完成。) * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ONx=4764OUT=-1*Program*do casecase x>9999place=5case x>999place=4case x>99place=3case x>9place=2otheplace=1endcaseout=place? Out* End

23、 *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程求 sum=3+33+333+3333+33333 的值。 * 要求使用 for.endfor 语句来完成。 * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ONOUT=-1*Program*s=0t=0d=3for i=1 to 5t=t+ds=s+td=d*10endfout=s? Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK

24、OFF*-*【程序设计】 *-*题目:编程计算正整数 num 的各位上的数字之和。 * 将结果存入变量 OUT 中,要求用 Do While 语句实现。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ON?"输入正整数 num=434" num=434OUT=-1*Program*s=0do while num<>0s=s+num%10num=int(num/10)endd? Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目

25、:编程求一个整数,它加上 100 后是一个完全平方数, * 再加上 168 又是一个完全平方数,请问该数是多少?。 * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ONOUT=-1*Program*i=1do while i<100000x=int(sqrt(i+100)y=int(sqrt(i+268)if x*x=i+100 and y*y=i+268exitEndifi=i+1enddoout=i? Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK

26、OFF*-*【程序设计】 *-*题目:编程求出 1*1+2*2+.+n*n<=1000 中满足条件 * 的最大的 n,将结果存入变量 OUT 中。 * 要求用 Do While 语句实现。 *-SET TALK ONSET LOGERRORS ONOUT=-1*Program*s=0n=1do while s<=1000n=n+1s=s+n*nenddo? Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程计算并输出给定整数 n 的所有因子之积 * (不包括 1 与自身) 。 * 将结果存

27、入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ON? "输入一个整数:n=855" n=855OUT=-1*Program*store 1 to sfor i=2 to n-1if(n%i=0)s=s*iendifendfor? "s=",sout=s* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程求一个大于 100 的 n 位整数的后 n-2 位的数。 * 将结果存入变量 OUT 中。 * 请

28、按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ONOUT=-1? "输入一个大于 100 的整数:w=56789" w=56789*Program*n=0i=1do while(w>100)n=n+i*(w%10)w=int(w/10)i=i*10enddo?n* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程找出一个小于给定整数且紧随这个整数的素数。 * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *-SET

29、 TALK ONSET LOGERRORS ON? "给定的整数为 71"OUT=-1*Program*i=69do while i<71for k=2 to i-1if i%k=0exitendifendforif i=kexitendifi=i-1enddo?iout=I* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程求对某一正数的值保留 3 位小数,并对第 4 位 * 进行四舍五入。 * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *-SET T

30、ALK ONSET LOGERRORS ON? "输入一个正数:h=234.5367" h=234.5367OUT=-1*Program*i=0i=int(h*10000)%10)if i>=5out=int(h*1000+1)/1000elseout=int(h*1000)/1000Endif? Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程已知下列各项:a1=1,a2=1/(1+a1),a3=1/(1+a2), * .an=1/(1+a(n-1)。当 n=10 时,计

31、算如下表达式的值 * s=a1+a2+.+a10。 * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ONOUT=-1*Program*a=1s=1for i=1 to 9a=1.0/(1+a)s=s+aendforout=a? Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程已知下列各项:a1=1,a2=1/(1+a1),a3=1/(1+a2), * .an=1/(1+a(n-1)。当 n=10 时,计算如下表达式的值

32、 * s=a1-a2+a3-a4.-a10。 * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ONOUT=-1*Program*a=1s=1for i=1 to 9a=1.0/(1+a)s=s+a*(-1)iendforout=a? Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程求序列 s=2/1-3/2+5/3-8/5+13/8-21/13+34/21 的值。 * 要求使用 for.endfor 语句来完成。 *

33、将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ONOUT=-1*Program*f1=1f2=1s=0for i=1 to 7f3=f1+f2f1=f2f2=f3s=s+(-1)(i+1)*f2/f1endfout=s? Out* End *DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF*-*【程序设计】 *-*题目:编程求 fibonacci 数列第 28 项的值。 * 已知数列的第一项值为 1,第二项值也为 1,从第三项开始, * 每一项均为其前面相邻两项的和。 * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *-SET TALK ONSET LOGERRORS ONOUT=-1*Program*store 1 to f1,f2f=f1+f2for i=3 to 27f1=f2f2=ff=f1+f2endfout=f? Out* End *DO YZJ

温馨提示

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

评论

0/150

提交评论