江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
2010秋江蘇二級Visual FoxPro上機試卷

2010秋二級Visual FoxPro上機試卷

(本試卷完成時間為70分鐘)

考試說明:

1.首先登錄考生信息,然后啟動VFP并在命令窗口中執行下列命令,以設置默認的工作

目錄:SET DEFA TO T:

2.除非題目要求,否則不要對T盤上的文件進行重命名、復制和刪除操作。

一、項目、數據庫和表操作(12)

打開T盤根目錄中的項目文件JXGL,在該項目中已有一數據庫JXSJ

1.JXSJ數據庫中按如下表格所示的結構創建AB,并按表格中的要求設置相關屬性。

  字段名

數據類型

    寬度

    字段標題

    RQ

    D

 

    日期

    SCSL

    N

    6

    售出門票數量

    SJRS

    N

    6

    實際參觀人數

    BZ

    M

 

    備注

 

(1)設置AB表的表注釋:參觀人數;

(2)設置日期字段的默認值:當前系統日期;

(3)設置日期字段的顯示類:微調框;

(4)設置記錄有效性規則:實際參觀人數小于或等于售出門票數量;

(5)創建普通索引,索引名為abcd,要求按實際參觀人數與售出門票數量之比排序。

2.在AB表中輸入如下記錄:

  RQ

    SCSL

    SJRS

    BZ

(默認值)

  240100

  198808

  全天下雨

 

3.給KC表中所有學分大于或等于5的記錄加刪除標記。

4.js表已存在主索引GH,索引表達式為GHKCAP表已存在普通索引GH,索引表達式為GH。以js表為主表、KCAP表為子表,根據GH建立永久關系,并設置兩表之間的參照完整性:更新級聯、刪除級聯。

二、設計查詢(8)

  已知教師表(JS)含有工號(gh,c)、姓名(xm,C)等字段;自由表圖書借閱表(JYB)含有讀者號(dzh,c)、分類號(flh,C)、借閱日期(jyrq,D)、還書日期(hsrq,D)等字段,教師的讀者號與工號相同。按如下要求修改JXGL項目中的查詢CHAXUN:

    基于JS表和JYB表查詢教師借書情況,計算過期罰款信息。要求:查詢輸出字段為dzh

xm、罰款額;查詢結果按罰款額降序排序;輸出去向為文本文件TEMP

    :罰款計算方法為30天以上超過部分每本每天0.10,未還書者(即還書日期為空的

記錄)不統計。

  三、設計菜單(5)

  JXGL項目中已存在菜單MENU,其中已定義了"文件"菜單欄及其中的"退出菜單"項。按如下要求設計菜單,菜單運行后的效果如圖1所示。

  1."文件"菜單欄右側創建"數據管理"菜單欄。

   

2."數據管理"菜單欄下創建子菜單"查詢""數據備份"

 

  3."查詢"菜單項設置快捷鍵:F12

  4.在菜單項"查詢""數據備份"之間插入分組線。

  5."數據備份"菜單項設置過程代碼:

    d=GETFILE("dbf"."*.dbf")

    USE &d

    COPY To bf1

  四、設計表單(10)

  表單F101A用于統計輸入文本中各類字符的個數。按下列要求修改表單,修改后表單運

行時如圖2所示.

   

1.修改表單的有關屬性,使表單的標題為"字符數統計",并設置字數統計的三個文本框禁用。

2.適當加大Shape1形狀的高度,在其區域內增加一個標簽控件LabelSum和一個文本框控件Text4,并設置Label_Sum的標題為"總字符數:"

3.編寫"清空"按鈕的Click事件代碼,2條語句實現如下功能:(1)清除編輯框Edit1中的文本;(2)使"字數統計"矩形區域內的4個文本框的值均置零。

4.表單已定義了一個Count()方法,用來對Edit1編輯框中的文本進行字數統計。編寫"統計"按鈕的Click事件代碼,以實現:先調用表單的Count()方法,然后將文本框Text1Text2Text3的值相加后顯示在文本框Text4中。

    五、程序改錯(5)

    下列程序的功能是找出100~999以內同時滿足以下條件的數:個位數字與十位數字之和與10的模等于百位數;該數是素數(僅能被1和本身整除的數稱為"素數’’)。例如,10121l239等。要求:

    (1)將下列程序輸入到項目中的程序文件PCODE,并對其中的2條錯誤語句進行修改;

    (2)在修改程序時,不允許修改程序的總體框架和算法,不允許增加或減少語句數目。

    CLEAR

    FOR i=1 To 999

    yn=.T.

    FOR j=3 TO i-1  

      IF MOD(j,i)=0   

         yn=.F.

         EXIT

      ENDIF  

    ENDFOR 

    IF yn

      s=STR(i,3)

      s1=SUBS(s,3,1)

      s2=SUBS(s,2,1)

      s3=SUBS(s,1,1) 

      IF MOD(VAL(s1)+VAL(s2))=VAL(s3)

        ?i  

      ENDIF

    ENDIF

  ENDFOR   

    參考答案

一、項目、數據庫和表操作

索引表達式;SJRS/SCSL

有效性規則:SJRS<=SCSL 

二、設計查詢

  SELECT Jyb.dzh,Js.xm,SUM(IIF(hsrq-jyrq>30,(hsrq-jyrq-30)*0.1,0.O)) AS罰款額;

    FROM jxsj!js iNNER JOIN jyb ON Js.gh=Jyb.dzh;

    WHERE EMPTY(Jyb.hsrq)<>.T.

    GROUP BY Jyb.dzh;

    ORDER BY 3 DESC;  

    TO FILE temp.txt  

三、設計菜單   

命令/過程:  

    d=GETFILE('dbf','*dbf')

    USE &d 

    COPY TO bn

.設計表單

題號

對象名

屬性/事件/方法名

屬性值/代碼

 

1

Form1

Caption

字符數統計

Text1

Text2

Text3

 

Enabled

 

.F.

 

 

2

 

Label_Sum

 

添加操作

Name

Label_Sum

Caption

總字符數

Text4

 

添加操作

3

Command1

CLICK

THISIFORM.Edit1.Value=’’

THISFORM.SETALL(‘Value’,0,’TextBox’)

4

Command2

CLICK

THISFORM.Count()

THISFORM.Text4.Value=THISFORM.Text1.Value+

  THISFORM.Text2.Value+ThisForm.Text3.Value

 

.程序改錯

  If  Mod(j,i)=0             改為:Mod(i,j)

  If Mod(Val(s1)+Val(s2))=Val(s3)  改為:Val(s2),10

彩票30选5开奖结果