2002年(秋)Visual FoxPro二級(jí)考試上機(jī)試卷 (VFP07)
(本試卷上機(jī)考試時(shí)間為70分鐘)
說明:1.考試語言環(huán)境為Visual FoxPro 5.0/6.0 2. 運(yùn)行考試軟盤A中的“上機(jī)考試”應(yīng)用程序文件以輸入考生的準(zhǔn)考證號(hào)、姓名、試卷代號(hào)。 3. 啟動(dòng)VFP系統(tǒng)后,首先在命令窗口中執(zhí)行命令: set default to A: 以設(shè)置默認(rèn)的工作目錄,然后再開始作題。 |
一、 項(xiàng)目、數(shù)據(jù)庫和表操作(12分) 打開軟盤根目錄下的項(xiàng)目文件TEST,在該項(xiàng)目中已有一數(shù)據(jù)庫SJK。 1. 按如下要求修改SJK中任課(RK)表的結(jié)構(gòu): (1) 為RK表增加一個(gè)備注型字段,其字段名為bz; (2) 為專業(yè)代號(hào)(zydh)字段設(shè)置標(biāo)題:專業(yè)代號(hào); (3) 為工號(hào)(gh)字段設(shè)置輸入掩碼:接受5個(gè)字節(jié)的字符,且第一個(gè)字符必須為字母,后4個(gè)字符只接受數(shù)字; (4) 在RK表中增加一條記錄,記錄內(nèi)容為:
zydh |
kcdh |
gh |
bz |
102002 |
02 |
A0001 |
暫時(shí)代課 |
(5) 創(chuàng)建一個(gè)普通索引ghkcdh,要求先按gh字段排序,gh相同的再按課程代號(hào)(kcdh)字段排序。 2. 為RK表添加編輯說明為“教師任課情況表”。 3. 把軟盤根目錄中的表文件GZB.DBF添加為TEST項(xiàng)目中的自由表。 4. 調(diào)整GZB表中所有講師的綜合津貼(zhjt),規(guī)定1994年(含1994年)以前參加工作(GZRQ)的講師每人加100元,其余的加60元。 5. 為RK表設(shè)置插入觸發(fā)器:工號(hào)為A0001的記錄允許插入,否則不允許插入。 6. SJK中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è)名為JSVIEW的視圖,該視圖中包含教師的各種基本信息,其中有教師的職稱代號(hào)(zcdh)、職稱(zc)、教師所在系的代號(hào)(xdh)、系名稱(ximing),另外在SJK的工資(GZ)表中含有教師的崗位津貼(gwjt)字段。按如下要求修改查詢: 基于JSVIEW視圖和GZ表查詢每個(gè)系各種職稱的崗位津貼最大值、最小值、平均值。要求輸出字段為:xdh、ximing、zc、崗位津貼最大值、崗位津貼最小值、崗位津貼平均值,查詢結(jié)果按xdh的升序排序。
三、 設(shè)計(jì)菜單(5分) TEST項(xiàng)目中已存在菜單menu,其中已定義了“文件”菜單欄及其中的“恢復(fù)系統(tǒng)菜單”項(xiàng)。按如下要求設(shè)計(jì)菜單,完成后的運(yùn)行效果如圖1所示。

1. 創(chuàng)建“數(shù)據(jù)處理”菜單欄,為“數(shù)據(jù)處理”菜單設(shè)置熱鍵“ALT+P”; 2. 創(chuàng)建“數(shù)據(jù)處理”菜單中的菜單欄:“查詢”和“統(tǒng)計(jì)”; 3. 為“統(tǒng)計(jì)”菜單設(shè)置命令:DO FORM FORMG; 4. 創(chuàng)建“查詢”菜單的子菜單,其中包括“成績”和“教師工資”菜單項(xiàng); 5. 在“成績”和“教師工資”菜單項(xiàng)之間插入分組線。
四、 設(shè)計(jì)表單(10分) TEST項(xiàng)目中已存在表單formG,它是一個(gè)0至100內(nèi)的猜數(shù)游戲。按如下要求修改表單,完成后表單的運(yùn)行界面如圖2所示。 1. 將文本框Text2的初始值設(shè)置為0; 2. 將“OK”命令按鈕(cmdOK)設(shè)置為默認(rèn)控件(指按下回車鍵時(shí),該命令按鈕響應(yīng)); 3. 將標(biāo)簽Label3的背景色設(shè)置為白色,且居中對(duì)齊; 4. 在表單中添加一個(gè)名為cmdShow、標(biāo)題為“看看到底是多少”的命令按鈕; 5. Text1文本框的PasswordChar屬性值為一個(gè)半角的問號(hào)“?”,使得文本框內(nèi)的每位數(shù)字都顯示為“?”。編寫cmdShow的單擊事件代碼,以使Text1文本框恢復(fù)顯示真實(shí)內(nèi)容; 6. 修改“重新開始”按鈕cmdReStart的Click事件代碼,在With…EndWith結(jié)構(gòu)中增加兩行,實(shí)現(xiàn)如下兩個(gè)功能:(1)在Text1文本框中重新生成一個(gè)0至100之間的整數(shù)(提示:利用RAND()函數(shù)生成0~1之間的隨機(jī)數(shù));(2)將標(biāo)簽Label3的文本設(shè)置為空字符串。

五、 程序改錯(cuò)(5分) 下面的程序是用于將十進(jìn)制轉(zhuǎn)換成二進(jìn)制數(shù)表示。要求: (1) 項(xiàng)目中有一個(gè)程序文件Pcode,將下列程序輸入到其中并進(jìn)行修改; (2) 在修改程序時(shí),不允許修改程序的總體框架和算法,不允許增加或減少語句數(shù)目。
nNumber=37 &&賦初值(十進(jìn)制數(shù)) cResult=SPACE(0) IF nNumber=0 DO WHILE nNumber>0 n=MOD(nNumber,2) &&余數(shù) nNumber=INT(nNumber/2) cResult=STR(n,1)+cResult ENDDO ELSE cResult=’0’ ENDIF WAIT WINDOWS’二進(jìn)制數(shù)表示為’+STR(cResult)
|