计算机等级考试二级VFP机试试题15
来源:优易学  2010-1-15 19:15:04   【优易学:中国教育考试门户网】   资料下载   IT书店

第十五套

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

    1、在考生文件夹下建立数据库STSC

    2、把自由表STUDENT、COURSE、SCORE加入到数据库中。

    3、为SCORE表的"成绩"字段建立有效性规则:成绩大于等于零,否则提示信

       息:成绩必须大于等于零

4、为STUDENT表建立主索引,索引名为PRIMARYKEY,索引表达式为学号。

本题的主要考核点:

    数据库的建立、将自由表添加到数据库中、建立有效性规则、索引的建立。

1.建立数据库的常用方法有以下三种:

在项目管理器中建议数据库

通过"新建"对话框建议数据库

使用命令交互建议数据库,命令为: CREATE DATABASE [DatabaseName|?]

其中DatabaseName给出了要建立的数据库的名称,如果不指定数据库名称或使用?号都会弹出创建对话框请用户输入数据库名称。

此处可用后两种。

2.将自由表添加到数据库中,可以在项目管理器或数据库设计器中完成。在数据库设计器中可以从"数据库"菜单或在数据库设计器上单击右键弹出菜单中选择"添加表",然后在"打开"对话框中选择要添加到当前数据库的自由表。还可用ADD TABLE命令添加一个自由表到当前数据库中。

3.建立有效性规则比较简单直接的方法是在表设计器中建立。在表设计器中首先选中要定义有效性规则的字段"成绩",在"规则"一栏中输入"成绩>=0"(或用表达式生成器生成),在"信息"栏中输入:"成绩必须大于等于零"。

4.建立索引在表设计器中的索引选项卡中完成。

二、简单应用(2小题,每题20分,计40分)

    1、在考生文件夹中有一个商品数据库COMMDB,其中有数据库表SP存放商品信

       息,使用菜单设计器制作一个名为SMENU的菜单,菜单包括"数据操作"和

       "文件"两个菜单栏。

       每个菜单栏都包括一个子菜单。菜单结构如下:

       数据操作

           数据输出

       文件

           退出

      其中:

      数据输出子菜单对应的过程完成下列操作:打开数据库COMMDB,使用SQL的

      SELECT语句查询数据库表SP中所有信息,然后关闭数据库。

      退出菜单项对应的过程含有命令SET SYSMENU TO DEFAULT,使之可以返回到

      系统菜单。

   2、在考生文件夹中有一个数据库SDB,其中有数据库表STUDENT2、SC和

      COURSE2。三个表如下所示:

      STUDENT2(学号,姓名,年龄,性别,院系编号)

      SC(学号,课程号,成绩,备注)

      COURSE2(课程号,课程名,先修课号,学分)

      用SQL语句查询"数据库"课程的考试成绩在85分以上(含85分)的学生的全部信

      息并将结果按学号升序存入自由表NINE.DBF文件中。(库的结构同STUDENT2,

      并在其后加入成绩字段)

第1题,本题的主要考核点是建立菜单和foxpro中的基本命令。

新建菜单可按下列步骤:选择"文件"菜单中的"新建"命令,在"新建"对话框中选择"菜单",单击"新建文件"按钮。在 "新建菜单"对话框中选择"菜单"按钮,调出"菜单设计器"。也可用CREATE MENU命令直接调出菜单设计器。在菜单名称中填入"数据操作",结果为子菜单,单击编辑;在子菜单的菜单名称中输入"�数据输出",结果为过程。在过程中输入下列命令:

open data commdb

select * from sp

close all

文件菜单创建过程同上。

第2题  本题的主要考核点是SQL语句查询。

SELECT Student2.*, Sc.成绩;

 FROM  sdb!student2 INNER JOIN sdb!sc;

    INNER JOIN sdb!course2 ;

   ON  Sc.课程号 = Course2.课程号 ;

   ON  Student2.学号 = Sc.学号;

 WHERE Course2.课程名 IN ("数据库");

   AND Sc.成绩 >= 85;

 ORDER BY Student2.学号;

 INTO TABLE nine.dbf

三、综合应用(1小题,计30分)

    考生文件夹下有学生管理数据库stu_nine,数据库中有score1表,其库结构是学

    号C(10)、少数民族L、优秀干部L、三好生L、考试成绩I、总成绩I。其中,前

    五项已有数据

    请编写并运行符合下列要求的程序:

    设计一个名为form_stu的表单,表单中有两个命令按钮,按钮的名称分别为

    cmdYes和cmdNo,标题分别为"计算"和"关闭"。

    程序运行时,单击"计算"按钮应完成下列操作

   (1)计算每一个学生的总成绩。总成绩的计算方法是:考试成绩+加分,加分的规

      则是:如果该生是少数民族(相应数据字段为 .T.)加分5分,优秀干部加分10

      分,三好生加分20分,加分不累计,取最高的。例如,如果该生既是少数民

      族又是三好生,加分为20分。如果都不是,总成绩=考试成绩

   (2)根据上面的计算结果,生成一个新的自由表 ZCJ,该表只包括学号和总成绩

      两项,并按总成绩的升序排序,如果总成绩相等,则按学号的升序排序。

      单击"关闭"按钮,程序终止运行。

本题主要考核点:

表单的建立、程序设计中循环结构、条件结构的应用、SELECT语句的应用等知识点

解题思路:

第一步:利用表单设计器建立所要求的表单,将在表单上添加两个按钮控件。分别设置两个按钮控件的标题和名字属性。

第二步:双击标题为"计算"的按钮控件,在新打开的窗口中添加此按钮的CLICK事件代码:

        SET TALK OFF   &&在程序运行下关闭命令结果的显示

        OPEN DATABASE STU_NINE    &&打开数据库文件

        USE SCORE1                   &&打开成绩表

        DO WHILE NOT EOF()          &&遍历成绩表中的每一条记录

            STORE 0 TO JF             &&对变量JF赋值0

            DO CASE                  

                CASE 三好生

                      JF=20

                CASE 优秀干部

                      JF=10

                CASE 少数民族

                      JF=5

                OTHERWISE

                      JF=0

            ENDCASE

            &&DO CASE…..ENDCASE条件语句中每次仅运行其中的一组命令。

            &&如果第一个 CASE 条件表达式 中条件表达式为.T.,则执行第一个CASE

            &&和第二个CASE之间的语句,而即使下面的有满足条件的CASE也不再执行

            &&如果所有的CASE条件都不满足,则执行OTHERWISE与ENDCASE之间的语句

            &&所以这里要将"三好生"放在第一个CASE的位置;"优秀干部"话在第二个CASE中

            &&"少数民族"放在第三个CASE中

            REPLACE 总成绩 WITH 考试成绩+JF

            &&用当前的成绩与可以加的分之和做为总成绩

            SKIP

        ENDDO

        SELECT 学号,总成绩 FROM SCORE1 ORDER BY 总成绩,学号;

        INTO TABLE ZCJ

        &&利用ORDER BY 子句可以将查询结果集按一定的顺序进行排序

        &&默认是以升序进行排序,如果要以降序进行排序,需在排序依据的后面加DESC

        &&在排序的时候可以指定多个排序的依据,根据优先级的不同依次放在ORDER BY 的后面

        &&利用INTO TABLE 表名 可以将结果集放入一个永久表中

CLOSE ALL

        SET TALK ON   &&恢复命令结果的显示

第三步:双击标题为"关闭"的按钮控件,在新打开的窗口中添加此按钮的CLICK事件代码:

        THISFORM.RELEASE             &&退出本表单

第四步:以文件名form_stu保存表单,并运行表单

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训