2003年(秋)Visual FoxPro 二級考試上機試卷(VFP08)
(本試卷上機考試時間為70分鐘)
說明:1.運行考試軟盤A中的“上機考試”應(yīng)用程序文件以輸入考生的準考證號、姓名、試卷代號。 2. 啟動VFP系統(tǒng)后,首先在命令窗口中執(zhí)行命令: set default to A: 以設(shè)置默認的工作目錄,然后再開始作題。 |
一. 項目、數(shù)據(jù)庫和表操作(12分) 打開軟盤根目錄下的項目文件TEST,在該項目中已有一數(shù)據(jù)庫SJK。 1. 按如下要求修改SJK中教師(JS)表的結(jié)構(gòu)。 。1) 設(shè)置csrq字段的有關(guān)屬性,使得JS表在瀏覽器窗口中,該字段的列表頭顯示為:出生日期。 。2) 設(shè)置系代號(xdh)字段的輸入掩碼,使xdh字段只能輸入兩個數(shù)字字符。 (3) 設(shè)置xdh字段的顯示類為列表框。 (4) 設(shè)置簡歷(jl)字段允許輸入空格NULL。 。5) 創(chuàng)建一個普通索引,索引名為GL,要求按工齡降序排序(工齡按工作日期(gzrq)字段至當前日期的年數(shù)計),并要求該索引能篩選出工齡在10年及10年以上的記錄。 2. 把軟盤根目錄中的XS.TXT文件添加到TEST項目中的適當位置,并將其設(shè)置為“排除”狀態(tài)。 3. 向JS表中增加一條工號(gh)為“B0007”、出生日期(csrq)為“1976年2月14日”的記錄。 4. 修改JS表中各個教師的簡歷(jl)字段中,將工號(gh)、姓名(xm)和性別(xb)字段的值連接成字符串后填充到JS表中各個教師記錄的jl字段中。例如:工號為“B0007”、姓名為“張三”、性別為“男”的教師記錄,填充后的jl字段的值為“B0007張三 男”。 5. 為JS表設(shè)置插入觸發(fā)器:只允許插入工號首字母為P以及P以前的字母(A~P)。 6. 已知JS表已存在主索引jsgh,索引表達式為gh,RK表已存在普通索引rkgh,索引表達式為gh。已JS表為主表,RK表為子表按gh建立永久關(guān)系,并設(shè)置JS表和RK表之間的參照完整性:刪除級聯(lián)。
二.設(shè)計查詢(8分)
在TEST項目中已存在查詢CHAXUN,且在SJK中包含一個名為JSZCRK的視圖,該視圖中包含教師的職稱和任課情況。假定課程(KC)字段表示的是周課時數(shù),一學期為20周。按如下要求修改查詢: 基于JSZCRK視圖和課程(KC)表查詢各類職稱教師一學期的平均課時數(shù)。要求輸出字段為:zc,教師數(shù),總課數(shù),平均課時,查詢結(jié)果按平均課時降序排序。
三.設(shè)計菜單(5分)
項目TEST中已存在菜單MENUH,按如下要求修改菜單,完成后的運行效果如圖1所示。
1. 為“系統(tǒng)”菜單欄下的“退出”菜單項設(shè)置快捷鍵“ALT+R”。 2. 為“學生檔案管理”菜單欄設(shè)置子菜單,該子菜單包括二個菜單項“學生基本信息錄入”和“學生變動信息錄入”,并用分隔線隔開。 |
 |
3. 為“學生成績管理”菜單欄下的“不及格成績查詢”菜單項設(shè)置SQL命令,當執(zhí)行該菜單項時顯示成績(CJ)表中所有成績(cj)低于60分的學生的學號(xh),課程代號(kcdh)和成績(cj)。 4. 為“學生變動信息錄入”菜單項設(shè)置提示信息,學生進校以后的各種獎勵和處分,當選擇該菜單項時,在狀態(tài)欄中顯示該提示信息。 5. 在“系統(tǒng)”菜單欄下插入系統(tǒng)菜單“打印預覽”。
四.設(shè)計表單(10分)
TEST項目中已存在表單FORMH,該表單可以完成類似于Windows記事本的功能。其 實現(xiàn)的餓基本思想為:打開時將文本文件的內(nèi)容放入臨時表中,保存時將臨時表內(nèi)容放入文本文件中,已知在表單的Load事件中已經(jīng)定義了一個臨時表TEXTFILE,根據(jù)下列要求對表單進行修改,完成以后運行表單,效果如圖所示。
1. 表單在運行時不可以最大化。 2. 將編輯框的字體屬性設(shè)為“楷體”。 3. 為“保存”按鈕設(shè)置訪問鍵“ALT+S”。 4. 添加一個名為cmdSaveAs命令按鈕,其標題為“另存為”,位置如圖2所示。 5. 完善“打開”按鈕的Click事件代碼,當打開一個文本文件時,將文本文件的名字用括號括起來以后加在表單的標題后面,如圖所示。 6. 表單中已經(jīng)定義了一個新方法us-SaveAs,為“另存為”按鈕編寫Click事件代碼,當點擊該按鈕時調(diào)用該方法。 完成修改以后,運行表單,畫面顯示如圖2所示,單擊“打開”按鈕,會彈出一個對話框,選擇一個已存在的文本文件(如當前目錄下沒有,也可以到其它目錄下選擇),確 定以后,被選擇的文本文件就會顯示在編輯框中,編輯以后可以按“保存”按鈕,也可 以按“另存為”按鈕保存為其他文本文件。 |
 |
五.程序改錯(5分)
下列程序的功能是:將一個英文字符串中的相同字符調(diào)整到一起。例如:對于字符串“ASDSYDA”顯示“AASSDDY”。要求: 1. 項目中有一個程序文件PCODE,將下列程序輸入到其中并進行修改。 2. 在修改程序時,不允許修改程序的總體框架和算法,不允許增加或減少語句數(shù)目。
cString=’ASDSYDA’ cResult=SPACE(0) FOR n=1 TO LEN(cString) c=SUBSTR(cString,n,1) m=AT(c,cResult) IF n=0 cResult=cResult+c ELSE cResult=SUBSTR(cResult,1,m)+c+SUBSTR(cResult,1,m) ENDIF ENDFOR WAIT WINDOWS’字符串處理后結(jié)果為’+cResult
|