江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
2010秋VFP上機典型試題

真正考試時, 啟動VFP軟件后,首先輸入Set Default to T:,注意:不能丟,

平時練習時應輸入set default to 考生文件夾

注意:項目管理器應從VFP軟件中打開,不能從別的地方打開,打開方式:啟動VFP軟件à文件à打開à項目

上機考試題型總結:

題型1:對表進行設置

例題:

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

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

字段名

數據類型

寬度

字段標題

Cdcs

C

40

傳遞城市

Cdrq

D

 

傳遞日期

Cdrs

I

 

火炬手人數

Cdlxt

G

 

傳遞路線圖

Cdjs

M

 

傳遞介紹

 

(1)設置TAB表的注釋:火炬傳遞城市信息表;

  操作:Tab表的選項卡中的表注釋中輸入火炬傳遞城市信息表

(2)設置Cdrq字段的有效性規則及信息:傳遞日期必須在200888(對現有數據不驗證此規則)

  操作:選中cdrq字段, 在有效性規則中輸入cdrq<{^2008-8-8},在信息輸入框中輸入傳遞日期必須在200888”,注意, 這里的””一定是英文狀態下輸入的,并且信息必須要加””

(3)Cdrs字段的默認值設置為100,Cdcs設置為南京,Cdrq設置為200888

  操作:選中cdrs,在默認值中輸入100,因為cdrs是數值型的,所以直接輸入100,選中cdcs,在默認值中直接輸入南京”,cdcs是字符型的,所以要加雙引號,選中cdrq,在默認值中輸入{^2008-8-8}

(4)cdcs自動刪除前導空格, cdcs拖放到表單時自動顯示文本框(TextBox),輸入cdcs中的值自動轉換為大寫字母,Cdcs字段創建主索引,索引名為abcd。按CdcsCdrq創建普通索引cdef

  操作:選中cdcs,在格式中輸入T,在顯示類中選中TextBox,自動轉換為大寫,在格式原有的T之后增加!,

切換到索引選項卡,索引名輸入abcd,選中主索引,索引表達式輸入cdcs,增加一個索引,索引名輸入cdef,選中普通索引,索引表達式為cdcs+dtoc(cdrq,1),因為cdrq是日期型的所以要轉換成字符型

(5)設置xs表中的xh只能寫入數字,允許輸入空值

  操作:選中xh字段,在輸入掩碼中輸入129,因為xh的寬度是12,一個9是一個數值字符

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

Cdcs

Cdrq

Cdrs

Cdlxt

Cdjs

南京

2008/05/27

208

(插入lxt.jpg文件)

南京這個城市

操作:->追加新記錄,然后錄入,特別是在輸入cdrq,應輸入05/27/2008.因為默認情況下是按照月--年來組織數據的,在輸入cdlxt,雙擊à編輯à插入對象à由文件創建à瀏覽

3.設置CJ表的更新觸發器,要求課程代碼為60023”的記錄不允許修改。為js表設置刪除觸發器,禁止刪除

   操作:在更新觸發器中輸入:kcdm!=”60023”,在刪除觸發器中輸入.f.,因為觸發器返回.t.表示允許執行操作,返回.f.不允許執行操作

4.已知JS表已存在主索引gh,索引表達式為gh,KCAP表已存在普通索引gh,索引表達式為gh,JS表為主表,KCAP表為子表按gh建立永久關系,并設置兩表之間的參照完整性:插入限制,更新級聯,刪除限制

   操作:選中JXSJ數據庫,點擊修改,出現數據庫設計器,找到JS表與KCAP,然后選中JS表的索引gh,拖放至KCAP表的索引gh,會出現一條連接線,即建立永久關系,選中連接線,右擊,選中參照完整性,出現參照完整性生成器,選擇更新選項卡,選中其中的級聯,選中刪除選項卡,選中其中的限制,選中插入選項卡,選中其中的限制,按確定(注意:如果右擊參照完整性出現一個錯誤提示框,則要執行系統菜單數據庫à清理數據庫)

5.更新xs表中籍貫為江蘇南京的更改為江蘇省南京

  操作:在命令窗口輸入 update xs set jg=”江蘇省南京” where jg=”江蘇南京

6.kc表移出jxsj數據庫,使其成為自由表

   操作:選中kc,然后右擊刪除-->移去

7.修改項目test的信息,附加圖標pc.ico,城市為"南京"

   操作:選中任意一個表-->右擊-->項目信息-->項目-->附加圖標

8.修改yxzy表設置yxzydminputMask屬性,使該字段的數值只能為數字字符

   操作:打開yxzy,選中yxzydm,選中輸入掩碼: 輸入999999,因為yxzydm的寬度為6

9.利用項目管理器操作為xs編輯說明"人事表"

   操作:選中xs,右擊編輯說明-->輸入人事表

10.js表設置為包含狀態

   操作:選中js,右擊-->包含

11.js表增加一個備注型字段(bz),并將所有職稱(zc)"教授"記錄的bz字段設置為"學科帶頭人"

   操作:增加一個備注字段,在命令窗口輸入:

   update js set bz="學科帶頭人" where zc="教授"

12.dmb表中lx字段值為"民族"的記錄復制到ab,并添加到jxsj數據庫

    操作:在命令窗口輸入

         use  dmb

         copy to ab for lx="民族"

         在項目管理器中選擇"添加"-->ab

 

題型2查詢

查詢時最終要看查詢的生成命令是否與標準答案一致

例題:已知js表存儲了每名教師的基本信息, 包含文化程度代碼(whcd,c),出生日期(csrq,D),工作日期(gzrq,D)等字段,視圖whcd為文化程度代碼與名稱對照表,含文化程度代碼(dm,c)和文化程度名稱(mc,c)等字段,按如下要求修改jxgl項目中的查詢chaxun:

  基于js表和whcd試圖,統計各類文化程度的男性人數和工作時的平均年齡,要求:輸出文化程度代碼、文化程度名稱、人數和工作時的平均年齡(字段名依次分別為dm,mc,rspjnl),查詢結果按平均年齡降序排序輸出前3條數據,且僅輸出人數大于等于2個人的,輸出去向為表文件temp,(:教師工作時的年齡為工作日期的年份減去出生日期的年份)

 

操作:

(1)選中項目管理器中的chaxun,點擊修改”,打開添加表或試圖”,js與視圖whcd(在右下方有視圖選項)加入到查詢設計器中,這時會彈出聯接條件”,因為js表與whcd視圖都有文化程度代碼,所以要依次選中js表中的whcdwhcd視圖中的dm,類型為內部聯接”,單擊確定

(2)字段選項卡中的可用字段依次選中whcd.dm  whcd.mcà添加至選定字段

  因為人數要通過函數生成,所以在函數和表達式中輸入Count(*) as rs添加至選定字段

  平均年齡也要通過函數生成,函數和表達式中輸入Avg(year(gzrq)-year(csrq)) as pjnl添加至選定字段

(3)聯接選項卡中前面已經設置了js表與whcd聯接起來的條件,所以無需再設置,如果在(1)中沒有設置聯接條件”,那么就要進行設置,在類型中選中Inner join,字段名輸入js.whcd,條件輸入”=”,值輸入whcd.dm

(4)篩選選項卡中選擇js.xb,條件”=”,實例

(5)排序依據選項卡中選擇pjnl添加至選定字段”,在排序選項中選擇降序

(6)分組依據選項卡中選擇whcd.dm,因為要求人數大于2的顯示,滿足條件中選擇rs  >=,實例中輸入2

(7)”雜項選項卡,列在前面的記錄中的對號去掉,然后在記錄個數中輸入3

(8)右擊查詢設計器空白區,選擇輸出設置”,選中表,輸入temp, (:有時候輸出文本文件,選擇屏幕à文本文件à輸入文件名)

(9)右擊查詢設計器空白區,選擇查看SQL語句”,比對生成的語句是否與標準答案一樣

SELECT TOP 3 Whcd.*, count(*) as rs,;

  avg(year(gzrq)-year(csrq)) as pjnl ;

 FROM  jxsj!js INNER JOIN jxsj!whcd ;

   ON  Js.whcd = Whcd.dm;

 WHERE Js.xb = "";

 GROUP BY Whcd.dm;

 HAVING rs >= 2;

 ORDER BY 4 DESC;

 INTO TABLE temp.dbf

 

題型3:設計菜單

JXGL項目中已存在菜單MENU,已定義了系統管理菜單欄及其中的恢復系統菜單菜單項。按如下要求設計菜單,完成后的運行效果如圖1所示。

  1.創建教材信息菜單欄,其訪問鍵為J,子菜單為編輯瀏覽統計”,分組線如圖所示,"系統管理"菜單欄中插入VFP系統菜單"導入""導出"

  2.編輯菜單項設置跳過條件,使該菜單項不可用;

  3.統計菜單創建子菜單出版社出版年月”;

  4.出版社菜單項設置快捷鍵CTRL+B,并為其設置過程代碼:首先清除屏幕(即主窗口),然后運行查詢文件CHAXUN.QPR,為瀏覽菜單設置命令Select * from jc

  5.將下述代碼添加到菜單的適當位置,使運行該菜單時,首先執行此代碼,代碼如下:

    if used(“js”)

        select js

    endif

  6. 將下述代碼添加到菜單的適當位置,使運行該菜單時,最后執行此代碼,代碼如下:

     close tables all

 7."瀏覽"菜單設置命令,瀏覽xs表中jg為江蘇的全部數據

操作步驟:

(1)在項目管理器的"其他"選項卡中選中菜單menu,單擊"修改","系統管理"下方添加"教材信息(\<J)",選擇"子菜單"-->創建,在打開的輸入欄中依次輸入編輯,瀏覽,\-,統計  (:\-是分組標記),切換到系統管理選擇旁邊的"插入欄",依次選擇"導入""導出"

(2)點擊"編輯""選項",進入新選項卡, 在跳過中輸入.t.

(3)選中"統計",選擇"子菜單"-->創建,在打開的輸入欄中依次輸入出版社和出版年月

(4)點擊"出版社""選項",進入新選項卡, 選中快捷方式,直接按CTRL的同時在選中B,有時需要按F12,那么就直接按F12就可以了

   選中"出版社",選擇"過程"-->創建,輸入

   clear

   do chaxun.qpr

(5)選擇顯示à常規選項à設置(出現空白框)à確定à在空白框中輸入代碼

(6) 選擇顯示à常規選項à清理(出現空白框)à確定à在空白框中輸入代碼

(7) 操作:選中"瀏覽",選擇"命令"-->創建,輸入select * from xs where jg="江蘇"

題型4:設計表單

表單F081E的功能是:用鼠標在表單上寫漢字等操作。按下列要求修改表單,修改后表單運行時如圖2所示。

  1.設置表單的有關屬性,使其標題為鼠標寫字”,字號為19,前景顏色為紅色,字體為華文行楷,邊框樣式屬性為固定對話框”,背景顏色為黃色。無最小化,最大化按鈕,表單自動居中,設置表單的圖標為PC.ICO

  2.如圖2所示在表單的上部添加一個標簽控件,用來顯示鼠標的位置,并將其對象名修改為COORD,背景樣式設置為透明

  3.在表單的下部添加一個文本框控件(對象名為Textl)和計時器控件(對象名為Timerl),并設置計時器控件的有關屬性,使得表單運行時觸發計時器事件的間隔時間為5秒。

  4.編寫計時器控件的Timer事件代碼,實現在文本框中顯示當前的系統日期和時間。

  5.在表單的下方加一個命令按鈕為,標題為退出”,編寫其Click事件代碼,功能是釋放表單

  6.拖放一個命令按鈕組至表單,按鈕個數為3,然后設置其為水平布局

操作步驟:

(1)在項目管理器打開文檔選項卡-->表單

(2)選中F081e,點擊旁邊的修改

(3)選中表單,然后在屬性窗口Caption輸入鼠標寫字,按回車鍵,再選中FontSize屬性,設置為19,FontName屬性設置為華文行楷,再選中

  ForeColor(前景顏色),BackColor(背景顏色),

BorderStyle屬性設置2為固定對話框,MaxButton設置為.F.無最大化,MinButton設置為.F.無最小化按鈕,

AutoCenter設置.T.,ICO設置為PC.ICO

(4)從表單控件工具欄將標簽控件拖放至表單上,

Name屬性修改為Coord,BackStyle屬性修改為透明

(5)從表單控件工具欄將文本框控件與計時器控件拖放至表單上,將計時器的InterVal屬性設置5000

(6)雙擊計時器,Timer事件中輸入如下代碼

ThisForm.text1.value=datetime()

(7)從表單控件工具欄將命令按鈕控件拖放至表單上,

將命令按鈕的Caption屬性改為退出,雙擊該命令按鈕

進入其Click事件,輸入如下代碼:

  ThisForm.Release

(8)從表單控件工具欄將命令按鈕組控件拖放至表單上,選中該命令按鈕組,在屬性窗口設置其ButtonCount3,右擊-->生成器-->布局-->水平

常見表單的設置:

常見表單屬性:

AlwaysOnTop 總在打開窗口之上

AlwaysOnBottom  總在其他打開窗口之下

AutoCenter      居中對齊

BackColor       背景顏色

BorderStyle     0無邊框  1單線邊框  2固定對話框  3可調邊框

Caption         表單標題

ControlBox      無最大化、最小化、關閉按紐

Enabled        是否對事件觸發,返回.t.能對事件觸發

Fontname        字體

FontSize        字體大小

ForeColor       前景顏色

ICON            圖標

MaxButton        是否有最大化按紐,.t.表示有,.f.表示沒有

MinButton        是否有最小化按紐,.t.表示有,.f.表示沒有

Name             名稱

width            表單寬度

Height           表單高度

常見方法:

thisform.release   釋放表單

 

 

題型5:程序改錯

操作:在項目管理器中選中代碼à程序àpcodeà修改,然后將代碼錄入,通過調試來進行修改,程序中設置了兩個錯誤點,錄入給1,一個錯誤點2

例題:下列程序的功能是:輸入一個由ASCII碼字符和GB2312字符集中漢字字符組成的字符串后,統計并顯示出現次數最多的10個字符及其出現次數。要求:

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

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

    CLEAR

    ACCEPT '請輸入:' TO cccc    &&該語句功能是交互式地輸入數據(字符串)

    n=LEN(cccc)

    IF n=0

      RETURN

    ENDIF      

    CREATE CURSOR TEMP (cc c(2),nn i)  &&創建臨時表存儲字符及出現的次數

    FOR i=1 TO n

      c=SUBS(CCCC,i,1)

      IF ASC(c)>127    &&漢字字符

         c=SUBS(cccc,i,2)

         i=2

      ENDIF

      LOCATE FOR cc=c

      IF EOF()

        INSERT INTO TEMP(cc,nn) VALUE(c,1)

      Other

        REPLACE nn WITH nn+1

      ENDIF

    ENDFOR

    SELECT TOP 10 cc,nn FROM temp ORDER BY 2 DESC

 

彩票30选5开奖结果