*请按照题目要求,在下面编写程序代码。
*-------------------------------------------------------
SET TALK OFF
SET LOGERRORS ON ?FUN(345) YZJ() RETURN
FUNC FUN(N) S=\
**********Program**********
********** End ********** RETURN S SET TALK ON
FUNC YZJ()
DO YZJ22 WITH FUN(785) RETURN
---------------------- sn=str(n,3) b=left(sn,1) s=subs(sn,2,1) g=right(sn,1) s=b+'+'+s+'+'+g
*------------------------------------------------------- *【程序设计】
*-------------------------------------------------------
*题目:三个数据表分别为学生库(STUDENT.DBF)、选课程库(XK.DBF) * 和课程库(KC.DBF),将所有选必修课的记录内容生成新库
* STUDENT1.DBF,新库中包括学号、姓名、课程号、课程名称、 * 课程类型字段。
* 请按照题目要求,在下面编写程序代码。
*-------------------------------------------------------
SET TALK ON
SET LOGERRORS ON CLEAR
**********Program**********
********** End **********
CLOSE DATA
SET LOGERRORS OFF SET TALK OFF ---------------------- SELE 1 USE XK SELE 2 USE KC
JOIN WITH XK TO XK1 FIELDS A.学号,课程号,课程名称,课程类型 FOR 课程号=A.课程号 .AND. 课程类型=\选修 \SELE 3 USE XK1 SELE 4
USE STUDENT
JOIN WITH XK1 TO STUDENT1 FIELDS 学号,姓名, C.课程号,C.课程名称,C.课程类型 FOR 学号=C.学号 SELE 5
USE STUDENT1 LIST
---------------------- SELE 1 USE XK SELE 2 USE KC
JOIN WITH XK TO XK1 FIELDS A.学号,课程号,课程名称,课程类型 FOR 课程号=A.课程号 .AND. 课程类型=\选修 \SELE 3 USE XK1 SELE 4
USE STUDENT
JOIN WITH XK1 TO STUDENT1 FIELDS 学号,姓名, C.课程号,C.课程名称,C.课程类型 FOR 学号=C.学号 SELE 5
USE STUDENT1 LIST
---------------------- USE STUDENT
DO WHILE .NOT. EOF()
IF 笔试>=80 .AND. 上机>=80 REPL 等级 WITH \优秀\ENDIF SKIP ENDD LIST
------------------------------------------------------- *【程序设计】
*-------------------------------------------------------
*题目:有学生数据表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**********
********** End ********** sele 2 list
close data
SET LOGERRORS OFF SET TALK OFF ---------------------- 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
*------------------------------------------------------- *【程序设计】
*-------------------------------------------------------
*题目:编程计算三位正整数num的各位上的数字之积。 * 例如,若输入:434,则输出应该是:48。 * 将结果存入变量OUT中。
* 请按照题目要求,在下面编写程序代码。
*-------------------------------------------------------
SET TALK ON
SET LOGERRORS ON ?\输入正整数num=434\num=434 OUT=-1
**********Program**********
********** End **********
DO YZJ WITH OUT SET LOGERRORS OFF SET TALK OFF ---------------------- b=int(num/100)
s=int((num-b*100)/10) g=num out=b*s*g ? out
------------------------------------------------------- *【程序设计】
*-------------------------------------------------------