2002年(秋)Visual FoxPro二級考試上機試卷 (VFP06)
(本試卷上機考試時間為70分鐘)
說明:1.考試語言環(huán)境為Visual FoxPro 5.0/6.0 2. 運行考試軟盤A中的“上機考試”應(yīng)用程序文件以輸入考生的準考證號、姓名、試卷代號。 3. 啟動VFP系統(tǒng)后,首先在命令窗口中執(zhí)行命令: set default to A: 以設(shè)置默認的工作目錄,然后再開始作題。 |
一、 項目、數(shù)據(jù)庫和表操作(12分) 打開軟盤根目錄下的項目文件TEST,在該項目中已有一數(shù)據(jù)庫SJK。 1. 按如下要求修改SJK中教師(JS)表的結(jié)構(gòu); (1) 設(shè)置工作日期(gzrq)字段的有效性(驗證)規(guī)則:工作日期的年份必須小于或等于2001年; (2) 設(shè)置gzrq字段的有效性(驗證)信息:輸入的工作日期必須合理; (3) 將簡歷(jl)字段的字段名改為bz; (4) 為工號(gh)字段設(shè)置輸入掩碼和格式:接受5個字節(jié)的字符,且第一個字符必須為大寫字母,后4個字符只接受數(shù)字字符; (5) 創(chuàng)建一個普通索引xdhzc,要求先按系代號(xdh)字段排序,系代號相同的再按職稱代號(zcdh)字段排序。 2. 把軟盤根目錄中的表文件GZB.DBF添加為TEST項目中的自由表,并為其添加說明信息為“職工工資信息”。 3. 將GZB表中所有講師的其它(qt)工資項增加50元。 4. 為JS設(shè)置刪除觸發(fā)器:僅允許刪除1955年(含1955年)以前參加工作的教師記錄。 5. SJK中JS表已存在主索引jsgh,索引表達式為gh,GZ表已存在普通索引gzgh,索引表達式為gh。以JS表為主表,GZ表為子表按gh建立永久關(guān)系,并設(shè)置JS表和GZ表之間的參照完整性:刪除級聯(lián)。
二、 設(shè)計查詢(8分) 在TEST項目中已存在查詢chaxun,按如下要求修改該查詢: 基于學生(XS)表和成績(CJ)表查詢所有學生的選課門數(shù)、總成績、平均成績。要求輸出字段為:xh、xm、xb、選課門數(shù)、總成績、平均成績,查詢結(jié)果按xh升序排序。
三、 設(shè)計菜單(5分) TEST項目中已存在菜單menu,其中已定義了“文件”菜單欄及其中的“恢復(fù)系統(tǒng)菜單”項。按如下要求設(shè)計菜單,完成后的運行效果如圖1所示。

1. 創(chuàng)建“數(shù)據(jù)處理”菜單欄; 2. 創(chuàng)建“數(shù)據(jù)處理”菜單中的菜單項:“查詢”和“統(tǒng)計”; 3. 為“統(tǒng)計”菜單設(shè)置快捷鍵“CTRL+T”; 4. 創(chuàng)建“查詢”菜單的子菜單,其中包含“學生成績”、“課程成績”和“教師工資”菜單項; 5. 在“課程成績”和“教師工資”菜單項之間插入分組線。
四、 設(shè)計表單(10分) TEST項目中已存在表單formF,用來瀏覽學生信息,數(shù)據(jù)源是學生表(XS)。按如下要求修改表單,完成后的運行界面如圖2所示。 1. 將表單數(shù)據(jù)環(huán)境中的xs表的主控索引設(shè)置為“xdh”; 2. 將表單的窗口類型(WindowType)設(shè)置為“模式”窗口,將表單數(shù)據(jù)的緩沖模式設(shè)置為“開放式”; 3. 在表單的空白處創(chuàng)建一個名為“LBLZP”標簽控件,使其能根據(jù)內(nèi)容長度自動調(diào)節(jié)尺寸,創(chuàng)建一個名為“OLBZP”的OLE綁定型控件,使其能顯示學生表照片字段(xs.zp); 4. 編寫表格控件的有關(guān)事件代碼,要求:當光標在表格的行之間移動后,能使LBLZP標簽?zāi)軇討B(tài)顯示學生的姓名,刷新表單以使OLBZP控件能動態(tài)顯示學生的照片。

五、 程序改錯(5分) 下列程序的功能是計算分數(shù)數(shù)列2/1,3/2,5/3,……,m/n,m+n/m的前20項之和。要求:(1)項目中有一個程序文件Pcode,將下列程序輸入到其中并進行修 (2)在修改程序時,不允許修改程序的總體框架和算法,不允許增加或減少語句數(shù)目。 nSum=0 m=2 &&數(shù)列中第一項的分子 n=1 &&數(shù)列中第一項的分母 FOR x=1 TO 20 nSum=nSum+m/x y=m m=m+n n=y ENDDO WAIT WINDOWS’前20項之和為’+STR(nSum,10,2) |