题2 单表程序设计1 02
题2 单表程序设计 *------------------------------------------------------*【程序设计】 *------------------------------------------------------*题目:设表 RSDA.DBF 结构为:学号(C,5) ,姓名(C,6) , * 职称(C,6)统计出 RSDA.DBF 表中职称为\工程师\的 * 人数。 (利用 DO WHILE??ENDDO 循环语句实现) 。 * 将人数存入变量 Y 中 * 请按照题目要求,在下面编写程序代码。 *------------------------------------------------------ SET TALK OFF
SET LOGERRORS ON Y=-1
**********Program********** use rsda store 0 to s
locate for 职称=\工程师\
do while not eof() s=s+1 continue enddo
?\共有工程师\名%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 TALK ON
SET LOGERRORS ON clear sele 1
use student sele 2
use st1 zap
**********Program********** sele 1
do while .not. eof() if mod(编号,3)=1 scatter to arry sele 2
appe blan gather from arry Endif sele 1 skip endd
********** End ********** sele 2
list close data
SET LOGERRORS OFF
SET TALK OFF *------------------------------------------------------* 【程序设计】 *------------------------------------------------------*题目:编程以物理连接方法求学生刘一各门功课的考试成绩, * 已知数据表 STUDENT.DBF 和 STUDY.DBF。新生成的数据 * 表名为 SG.DBF。 * 请按照题目要求,在下面编写程序代码。 *------------------------------------------------------ SET TALK ON
SET LOGERRORS ON
**********Program********** SELE 1
USE STUDENT SELE 2 USE STUDY SELE 1
JOIN WITH STUDY TO SG
FOR 学号=STUDY.学号 .AND. 姓名=\刘一\FIELDS 学号,姓 名,STUDY.课程号,STUDY.成绩 SELE 3 USE SG LIST
********** End ********** CLOSE DATA
SET LOGERRORS OFF SET TALK OFF
*------------------------------------------------------*【程序设计】 *------------------------------------------------------*题目:计算机等级考试数据表为 STUDENT.DBF,凡笔试和上机成绩 * 均达到 80 分以上者,应在等级字段中填入\优秀\字样。 * 请用 DO WHILE ...ENDDO 语句编写。 * 请按照题目要求,在下面编写程序代码。 *------------------------------------------------------ SET TALK ON
SET LOGERRORS ON CLEAR
**********Program********** USE STUDENT DO WHILE .NOT. EOF()
IF 笔试>=80 .AND. 上机>=80 REPL 等级 WITH \优秀\ENDIF SKIP ENDD LIST
********** End ********** CLOSE DATA
SET LOGERRORS OFF 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)、选课程库(XK.DBF) * 和课程库(KC.DBF),将所有选必修课的记录内容生成新库 * STUDENT1.DBF,新库中包括学号、姓名、课程号、课程名称、 * 课程类型字段。 * 请按照题目要求,在下面编写程序代码。 *------------------------------------------------------ SET TALK ON SET LOGERRORS ON CLEAR
**********Program********** SELE 1 USE XK SELE 2 USE KC
JOIN WITH XK TO XK1 FIELDS
A.学号,课程号,课程名称,课程类型 FOR 课程号=A.课程 号 .AND. 课程类型=\选修 \B.USE XK1 SELE 4 USE STUDENT JOIN 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 ON
SET LOGERRORS ON
? \输入一个整数:w=39\OUT=-1 w=39
**********Program********** s=0
do while w>0
s=s+(w)*(w) w=int(w/10) Enddo if s%5=0 out=1 else out=0 endif
? Out
********** End ********** DO YZJ WITH OUT SET LOGERRORS OFF SET TALK OFF
*------------------------------------------------------*
【程序设计】 *------------------------------------------------------*题目:编程求一个大于 10 的 n 位整数的后 n-1 位的数。 * 将结果存入变量 OUT 中,使用 Do While 语句实现。 * 请按照题目要求,在下面编写程序代码。 *------------------------------------------------------SET TALK ON SET LOGERRORS ON OUT=-1 ? \输入一个大于 10 的整数:w=8765\w=8765 **********Program********** n=0 i=1
do while(w>10) n=n+i*(w) w=int(w/10) i=i*10 Enddo ?n out=n
********** End ********** DO YZJ WITH OUT SET LOGERRORS OFF SET TALK OFF
*------------------------------------------------------*
【程序设计】 *------------------------------------------------------*题目:编程求对某一正数的值保留 2 位小数,并对第三位 * 进行四舍五入。 * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *------------------------------------------------------ SET TALK ON
SET LOGERRORS ON h=234.5367 OUT=-1
**********Program********** i=0
i=int((h*1000)) if i>=5
out=int(h*100+1)/100 else
out=int(h*100)/100 endif ? Out
********** End ********** DO YZJ WITH OUT SET LOGERRORS OFF
SET TALK OFF
*------------------------------------------------------* 【程序设计】 *------------------------------------------------------*题目:编程找出一个大于给定整数且紧随这个整数的素数。 * 将结果存入变量 OUT 中。 * 请按照题目要求,在下面编写程序代码。 *------------------------------------------------------ SET TALK ON
SET LOGERRORS ON ? \给定的整数为 68\OUT=-1
**********Program********** i=69
do while i>=68 for k=2 to i-1 if i%k=0 exit endif endfor if i=k exit endif i=i+1 enddo ?i out=I
********** End ********** DO YZJ WITH OUT SET LOGERRORS OFF SET 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 ON
SET LOGERRORS ON OUT=-1
**********Program********** a=1
for i=1 to 9 a=1.0/(1+a) endfor out=a ? Out
********** End ********** DO YZJ WITH OUT
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VFP程序设计填空改错试题及答案在线全文阅读。
相关推荐: