2002年(秋)Visual FoxPro二級考試上機試卷 (VFP05)
(本試卷上機考試時間為70分鐘)
說明:1.考試語言環(huán)境為Visual FoxPro 5.0/6.0 2. 運行考試軟盤A中的“上機考試”應用程序文件以輸入考生的準考證號、姓名、試卷代號。 3. 啟動VFP系統(tǒng)后,首先在命令窗口中執(zhí)行命令: set default to A: 以設置默認的工作目錄,然后再開始作題。 |
一、 項目、數(shù)據(jù)庫和表操作(12分) 打開軟盤根目錄下的項目文件TEST,在該項目中已有一數(shù)據(jù)庫SJK。 1. 按如下要求修改SJK中課程(KC)表的結(jié)構(gòu): (1) 將必修課(bxk)字段的標題設置為“必修課”; (2) 設置學分(xf)字段的有效性(驗證)規(guī)則:大于等于0小于等于6; (3) 設置xf字段的有效性(驗證)信息:某一門課的學分不能大于6。 (4) 為課程代號(kcdh)字段設置輸入掩碼:接受4個字節(jié)的字符,且只接受數(shù)字字符; (5) 創(chuàng)建一個普通索引xfkcdh,要求先按xf字段排序,xf相同的再按kcdh字段排序; 2. 為KC表添加編輯說明為“課程基本信息表”。 3. 把軟盤根目錄中的表文件GZB.DBF添加為TEST項目中的自由表。 4. 修改GZB表中所有記錄的住房公積金(zfgj)字段的值,規(guī)定為:住房公積金為基本工資(jbgz)的8%。 5. 為KC表設置刪除觸發(fā)器:不允許刪除。 6. SJK中KC表已存在主索引kcdh,索引表達式為kcdh,CJ表已存在普通索引cjkcdh,索引表達式為kcdh。以KC表為主表,CJ表為子表按kcdh建立永久關(guān)系,并設置KC表和CJ表之間的參照完整性:更新級聯(lián)。
二、 設計查詢(8分) 在TEST項目中已存在查詢chaxun,按如下要求修改該查詢: 基于教師(JS)表和工資(GZ)表查詢每個教師的基本工資(JBGZ)、崗位津貼(GWJT)、綜合津貼(ZHJT)以及前三項之和(即,基本工資、崗位津貼及綜合津貼之和)。要求輸出字段為:gh、xm、xb、jbgz、gwjt、zhjt、前三項之和,查詢結(jié)果按gh的降序排序,且只輸出前三項之和大于等于3000的記錄。
三、 設計菜單(5分) TEST項目中已存在菜單menu,其中已定義了“文件”菜單欄及其中的“恢復系統(tǒng)菜單”項。按如下要求設計菜單,完成后的運行效果如圖1所示。

1. 在“文件”菜單中創(chuàng)建“瀏覽表”菜單項; 2. 為“瀏覽表”菜單項創(chuàng)建子菜單,子菜單中包含“教師表”、“課程表”和“學生表”菜單項; 3. 為“教師表”菜單項創(chuàng)建過程,執(zhí)行如下兩行命令: USE JS BROWSE 4. 在“瀏覽表”和“恢復系統(tǒng)菜單”菜單項之間插入分組線; 5. 創(chuàng)建“編輯”菜單欄,并設置熱鍵“ALT+E”。
四、 設計表單(10分) TEST項目中已存在表單formE,用來瀏覽學生信息,數(shù)據(jù)源是學生表(XS)。按如下要求修改表單,完成后表單的運行界面如圖2所示。 1. 修改表格,使表格不顯示刪除標記,表格數(shù)據(jù)只讀; 2. 將表格第一列的列標頭的標題“xh”改為“學號”,居中對齊,前景色為藍色(0,0,255) 3. 已知學生表已建有按學號排序的索引xsxh。設置表格第一列列標頭的有關(guān)事件代碼,使得當單擊該列標頭時完成如下功能:(1)表格中的數(shù)據(jù)按xsxh索引的順序排序;(2)表格中的數(shù)據(jù)指向第一行;(3)將表單的標題改為:“按學號順序瀏覽學生信息”; 4. 項目中已包含Mylib類庫,將類庫中的cmdClose類添加到表單中適當位置。

五、 程序改錯(5分) 下列程序的功能是將二進制轉(zhuǎn)換成十進制數(shù)表示。要求: (1) 項目中有一個程序文件Pcode,將下列程序輸入到其中并進行修改; (2) 在修改程序時,不允許修改程序的總體框架和算法,不允許增加或減少語句數(shù)目。 nNumber=1011001 &&賦初值(認定它為二進制數(shù)) cNumber=ALLTRIM(STR(nNumber)) nResult=0 FOR n=LEN(cNumber) TO 1 c=LEFT(cNumber,1) IF c=’0’ nResult=nResult*2+1 ELSE nResult=nResult*2 ENDIF cNumber=SUBSTR(cNumber,2) ENDFOR WAIT WINDOWS’十進制數(shù)表示為’+STR(nResult) |