江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
2012春江蘇省計算機二級VFP上機真題1

   2012春江蘇省高校計算機等級考試

    二級VFP上機真題

二級     Visual  Foxpro上機試卷

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

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

   目錄:

   set defa to T:

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

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

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

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

屬性。

字段名

數據類型

寬度

字段標題

RQ

D

8

日期

LGMC

C

20

旅館名稱

XJ

C

4

星級

RZL

N

6(小數2)

入住率

 (1)設置表的注釋:世博會期間上海旅館入住率統計表;

(2)設置XJ字段的默認值:三星;

(3)設置LGMC字段的顯示類:下拉列表框;

(4)設置RZL字段的有效性規則:大于等于0且小于等于100;

(5)創建索引名為ABCD的普通索引,要求按日期排序,日期相同時按入住率排序

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

RQ

LGMC

XJ

RZL

2010-05-10

錦江之星

零星

90

3.計算JYBFK字段的值:借閱天數超過30天的按超過天數罰款(借閱天數根據借閱日期JYRQ與還書日期HSRQ計算),學生(LX字段的值為X)超期每天罰0.1,教師(LX字段的值為J)超期每天罰0.2

4.YXZY表與JS表具有相同的字段YXZYDM,YXZY表為主表,JS表為子表,根據YXZYDM建立永久關系,并設置兩表之間的參照完整性:更新級聯、插入限制。

.設計查詢(8)

    已知課程安排表(KCAP.DBF)存儲了每個學期各班級所上的課程信息,其中含學期編碼

(XQBM,C)、班級編號(BJBH,c)等字段;課程表(KC.DBF)存儲了每門課程的信息,其中含課

程代碼(KCDM,C),學分(XF,N)等字段,按如下要求修改JXGL項目中的查詢CHAXUN:

    基于KCAP表和KC,查詢每學年(XQBM字段的前13個字節內容指定),每個班級

的課程門數和總學分。要求輸出字段依次為學年、BJBH、課程門數、總學分,查詢結果按學年排序,輸出去向為臨時表(表名為ABCD)  

 三、設計菜單

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

  1."文件"菜單欄修改為"文件管理",并設置其訪問鍵"F"

  2."文件管理"菜單欄中添加菜單項"新建""打開""關閉"(其中"新建""打開"為系統菜單項),并在"打開""關閉""關閉""退出菜單"之間設置分組線。

  3."關閉"菜單項創建子菜單"數據庫"""

  4.""菜單項設置"跳過"條件,使該菜單項不可用。  

  5."數據庫"菜單項設置命令,命令的功能是關閉所有已打開的數據庫。

  四、設計表單(10)

  表單FRM12E用于文字縮放演示。按下列要求修改表單,修改后的表單運行時如圖2所示。

 

  1.設置表單的標題為"文字縮放"

  2.添加標簽對象Label1,并設置相關屬性:標題為"等級考試",且能根據標題內容自動調節大小。

  3.添加兩個命令按鈕,并按圖2所示設置標題為"縮小""放大",

   同時設置"縮小"命令按鈕的有關屬性使其不可使用

  4."放大"命令按鈕編寫Click事件代碼:調用表單的方法XXX(已創建)

  5.將表單的XXX方法程序代碼,復制到"縮小"命令按鈕的Click事件代碼中,修改程序

    代碼的前3,實現:

  (1)"縮小"命令按鈕不可使用,“放大"命令按鈕可使用;

  (2)標簽對象標題逐漸縮小顯示。

  五、程序改錯(5)

  下列程序中PrintPrime過程的功能是查找所有小于自然數nMax的素數,并按每行nCol

素數顯示在主窗口中。素數是大于1且只能被1和自身整除的整數,2357等。判斷一個自然數N是否是素數的方法是:N除以從2到大于N的最小整數之間的每一個整數j,

若所有的j都不能整除N,N為素數。要求:

  1.項目中有一個程序文件Pcode,T盤中VFP01.TXT中的程序代碼復制到其中并進行

修改。

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

1    CLEAR

2    DO PrintPrime(400,5)  

3    PROCEDURE PrintPrime

4      PARA nMax,nCol

5      i=0    &&記錄素數個數

6      FOR n=2 TO nMax

7        Flag=.T.

8        FOR j=2 TO INT(SQRT(n))

9          IF n%j=0

10           Flag=.F.

11           RETURN

12         ENDIF

13      ENDFOR

14      IF FLag

15        ?? n

16        i=i+1

17        IF MOD(i,nCol)=0

18           ?

19        ENDIF

20      ENDIF

21    ENDFOR

22  ENDPROC

    參考答案

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

    LGMC字段的顯示類:Listbox

    RZL字段的有效性規則:BETWEEN(RZL,0,100)

    ABCD索引表達式:DTOC(RQ,1)+STR(RZL,6,2)

    UPDATE JYB SET FK=IIF(LX='X',0.1,0.2)*IIF(HSRQ-JYRQ>30,HSRQ-JYRQ-30,0)

    二、設計查詢

    SELECT LEFT(ALLT(XQBM),13)AS 學年,KCAP.BJBH,COUNT($) AS課程門數,;

       SUM(XF) AS 總學分;

     FROM JXSJ!KCAP INNER JOIN JXSJ!KC;

          ON KCAP.KCDM=KC.KCDM;

      GROUP BY 1,KCAP.BJBH;

      ORDER BY 1;

      INTO CURSOR ABCD

  三、設計菜單

  ""菜單項設置"跳過"條件:.T.

  為“數據庫"菜單項設置命令:CLOSE DATABASE ALL

  .設計表單

題號

對象名

屬性/事件/方法名

屬性值/代碼

1

Forml

Caption屬性  

文字縮放

 

2

 

Labell

Caption屬性

等級考試

AutoSize屬性

.T.

 

3

Commandl

Caption屬性

放大

 

Command2

Caption屬性

縮小

Enabled屬性

.F.  

4

Commandl

Click事件

ThisForm.XXX

Command2

Click事件

ThisForm.Command2.Enabled=.F.

ThisForm.Commandl.Enabled=.T.

For i=40 to 9 step  -1

    ThisForm.Labell.FontSize=i

    =INKEY(0.3)

EndFor

 

 

五、程序改錯

  2   DO printPrime(400,5)      該為    PrintPrime With 400,5

  11  Return                    改為    Exit

彩票30选5开奖结果