利用表设计器在考生文件夹下建立表table3,表结构如下: 学号 字符型(10) 姓名 字符型(6) 课程名 字符型(8) 分数 数值型(5,1) 然后编写程序progl.prg,从xueshen

admin2013-03-18  24

问题 利用表设计器在考生文件夹下建立表table3,表结构如下:
    学号    字符型(10)
    姓名    字符型(6)
    课程名  字符型(8)
    分数    数值型(5,1)
    然后编写程序progl.prg,从xuesheng表和cheni表中找出所有成绩不及格(分数小于60)的学生信息(学号、姓名、课程名和分数),并把这些数据保存到表table3中(若一个学生有多门课程不及格,在表table3中就会有多条记录)。表table3中的各记录应该按“分数”升序排序,分数相同则按“学号”降序排序。
    要求在程序中用SET REL ATION命令建立cheni表和xuesheng表之间的关联(同时用INDEX命令建立相关的索引),并通过DO WHILE循环语句实现规定的功能。最后运行程序。

选项

答案本大题考查了表的基本操作;程序文件的建立及运行;表间关联;表记录的插入及物理排序,条件程序结构和DO WHLIE程序结构设计。本题所涉及的知识点比较多,需要考生非常清楚解题流程。基本解题思路可按以 下步骤进行: 表的建立和程序的建立都属于比较基本的操作。本题的 关键是程序文件代码的设计。编写程序代码基本思路如下: 根据题意,首先初始化数据表table3(将记录清空, 避免下次执行程序时,重复追加记录),然后将该表复制一 个新的表文件ttt,并在新的工作区中打开该表文件。 建立表问关联。在两个不同的工作区中打开xuesheng 表和chengj i表,并为两个表建立索引,通过索引表达式对 两个表建立关联。 查找chengj i表中不及格的成绩记录。利用DO WHILE 循环对chengj i表中的记录逐条处理,通过IF条件语句判 断将不及格的记录,将其添加到ttt表中。这里特别要注意 的是不能将判断条件放在一个IF语句中,因为题目要求“若 一个学生有多门课程不及格,在表table3中就会有多条记 录”,而chengj i表中共有3门课程,因此,依次需要编 写3个IF条件语句分别判断每个科目的不及格情况。 保存查询结果。将所有不及格记录排序输出到tttl表 之后,再将tttl表的记录全部追加到table3表中。 步骤1:在命令窗口执行命令:CREATE table3,打 开数据表设计器新建表。 步骤2:根据题意,在表设计器中逐行输入每个字段的 字段名,并设置字段类型和宽度,然后单击“确定”按钮, 此时系统会弹出一个对话框询问“现在输入数据记录吗?”,本题不需要录入数据,单击“否”按钮。 步骤3:在命令窗口执行命令:MODIFY COMMAND progl,打开程序文件编辑器。 步骤4:在编辑器中输入如下程序代码: CLEAR CLOSE DATA ALL SELECT 0 USE TABLE3 DELE ALL PACK COPY TO TTT SELECT 0 USE TTT SELECT 0 USE XUESHENG INDEX ON学号TAG学号 SELECT 0 USE CHENGJI SET RELATION TO学号INTO XUESHENG GO TOP DO WHILE.NOT.EOF() IF数学<60 SELECT TTT APPEND BLANK REPLACE学号WITH XUESHENG.学 号,姓名WITH XUESHENG.姓名 REPLACE课程名WITH”数学”,分数 WITH CHENGJI.数学 SELECT CHENGJI END工F IF英语<60 SELECT TTT APPEND BLANK REPLACE学号WITH XUESHENG.学 号,姓名WITH XUESHENG.姓名 REPLACE课程名WITH”英语”,分数 WITH CHENGJI.英语 SELECT CHENGJ工 ENDIF IF信息技术<60 SELECT TTT APPEND BLANK REPLACE学号WITH XUESHENG.学 号,姓名WITH XUESHENG.姓名 REPLACE课程名WITH”信息技术”, 分数WITH CHENGJI.信息技术 SELECT CHENGJI ENDIF SKIP ENDDO SELECT TTT SORT ON分数,学号/D TO TTTI SELECT TABLE3 APPEND FROM TTT 1 步骤5:在命令窗口执行命令执行文件。

解析
转载请注明原文地址:https://kaotiyun.com/show/1Vsp777K
0

最新回复(0)