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