![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2012春江蘇省計(jì)算機(jī)二級(jí)VFP上機(jī)真題1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2012春江蘇省高校計(jì)算機(jī)等級(jí)考試 二級(jí)VFP上機(jī)真題 二級(jí) Visual Foxpro上機(jī)試卷 (本試卷完成時(shí)間為70分鐘) 1.首先登錄考生信息,然后啟動(dòng)VFP并在命令窗口中執(zhí)行如下命令,以設(shè)置默認(rèn)的工作 目錄: set defa to T: 2.除非題目要求,否則不要對(duì)T盤上的文件進(jìn)行重命名、復(fù)制和刪除操作。 一、項(xiàng)目、數(shù)據(jù)庫和表操作(12分) 打開T盤根目錄中的項(xiàng)目文件JXGL,在該項(xiàng)目中已有一數(shù)據(jù)庫JXSJ。 1.在JXSJ數(shù)據(jù)庫中按下表所示的結(jié)構(gòu)創(chuàng)建AB.DBF表,并按表格中的要求設(shè)置相關(guān) 屬性。
(1)設(shè)置表的注釋:世博會(huì)期間上海旅館入住率統(tǒng)計(jì)表; (2)設(shè)置XJ字段的默認(rèn)值:三星; (3)設(shè)置LGMC字段的顯示類:下拉列表框; (4)設(shè)置RZL字段的有效性規(guī)則:大于等于0且小于等于100; (5)創(chuàng)建索引名為ABCD的普通索引,要求按日期排序,日期相同時(shí)按入住率排序 2.在AB表中輸入如下記錄:
3.計(jì)算JYB中FK字段的值:借閱天數(shù)超過30天的按超過天數(shù)罰款(借閱天數(shù)根據(jù)借閱日期JYRQ與還書日期HSRQ計(jì)算),學(xué)生(LX字段的值為X)超期每天罰0.1元,教師(LX字段的值為J)超期每天罰0.2元 4.YXZY表與JS表具有相同的字段YXZYDM,以YXZY表為主表,JS表為子表,根據(jù)YXZYDM建立永久關(guān)系,并設(shè)置兩表之間的參照完整性:更新級(jí)聯(lián)、插入限制。 二.設(shè)計(jì)查詢(8分) 已知課程安排表(KCAP.DBF)存儲(chǔ)了每個(gè)學(xué)期各班級(jí)所上的課程信息,其中含學(xué)期編碼 (XQBM,C)、班級(jí)編號(hào)(BJBH,c)等字段;課程表(KC.DBF)存儲(chǔ)了每門課程的信息,其中含課 程代碼(KCDM,C),學(xué)分(XF,N)等字段,按如下要求修改JXGL項(xiàng)目中的查詢CHAXUN: 基于KCAP表和KC表,查詢每學(xué)年(由XQBM字段的前13個(gè)字節(jié)內(nèi)容指定),每個(gè)班級(jí) 的課程門數(shù)和總學(xué)分。要求輸出字段依次為學(xué)年、BJBH、課程門數(shù)、總學(xué)分,查詢結(jié)果按學(xué)年排序,輸出去向?yàn)榕R時(shí)表(表名為ABCD)。 三、設(shè)計(jì)菜單 JXGL項(xiàng)目中已存在菜單MENU,其中已定義了"文件"菜單欄及其中的"退出菜單"項(xiàng)。按如下要求設(shè)計(jì)菜單,完成后的運(yùn)行效果如圖1所示。 1.將"文件"菜單欄修改為"文件管理",并設(shè)置其訪問鍵"F"。 2.在"文件管理"菜單欄中添加菜單項(xiàng)"新建"、"打開"、"關(guān)閉"(其中"新建"、"打開"為系統(tǒng)菜單項(xiàng)),并在"打開"與"關(guān)閉"、"關(guān)閉"與"退出菜單"之間設(shè)置分組線。 3.為"關(guān)閉"菜單項(xiàng)創(chuàng)建子菜單"數(shù)據(jù)庫"、"表"。 4.為"表"菜單項(xiàng)設(shè)置"跳過"條件,使該菜單項(xiàng)不可用。 5.為"數(shù)據(jù)庫"菜單項(xiàng)設(shè)置命令,命令的功能是關(guān)閉所有已打開的數(shù)據(jù)庫。 四、設(shè)計(jì)表單(10分) 表單FRM12E用于文字縮放演示。按下列要求修改表單,修改后的表單運(yùn)行時(shí)如圖2所示。 1.設(shè)置表單的標(biāo)題為"文字縮放"。 2.添加標(biāo)簽對(duì)象Label1,并設(shè)置相關(guān)屬性:標(biāo)題為"等級(jí)考試",且能根據(jù)標(biāo)題內(nèi)容自動(dòng)調(diào)節(jié)大小。 3.添加兩個(gè)命令按鈕,并按圖2所示設(shè)置標(biāo)題為"縮小"和"放大", 同時(shí)設(shè)置"縮小"命令按鈕的有關(guān)屬性使其不可使用 4.為"放大"命令按鈕編寫Click事件代碼:調(diào)用表單的方法XXX(已創(chuàng)建)。 5.將表單的XXX方法程序代碼,復(fù)制到"縮小"命令按鈕的Click事件代碼中,修改程序 代碼的前3行,實(shí)現(xiàn): (1)"縮小"命令按鈕不可使用,“放大"命令按鈕可使用; (2)標(biāo)簽對(duì)象標(biāo)題逐漸縮小顯示。 五、程序改錯(cuò)(5分) 下列程序中PrintPrime過程的功能是查找所有小于自然數(shù)nMax的素?cái)?shù),并按每行nCol個(gè) 素?cái)?shù)顯示在主窗口中。素?cái)?shù)是大于1且只能被1和自身整除的整數(shù),如2、3、5、7等。判斷一個(gè)自然數(shù)N是否是素?cái)?shù)的方法是:用N除以從2到大于N的最小整數(shù)之間的每一個(gè)整數(shù)j, 若所有的j都不能整除N,則N為素?cái)?shù)。要求: 1.項(xiàng)目中有一個(gè)程序文件Pcode,將T盤中VFP01.TXT中的程序代碼復(fù)制到其中并進(jìn)行 修改。 2.在修改程序時(shí),不允許修改程序的總體框架和算法,不允許增加或減少語句數(shù)目。 1 CLEAR 2 DO PrintPrime(400,5) 3 PROCEDURE PrintPrime 4 5 i=0 &&記錄素?cái)?shù)個(gè)數(shù) 6 FOR n=2 TO nMax 7 Flag=.T. 8 FOR j=2 TO INT(SQRT(n)) 9 IF n%j=0 10 Flag=.F. 11 RETURN 12 ENDIF 13 ENDFOR 14 IF FLag 15 ?? n 16 i=i+1 17 IF MOD(i,nCol)=0 18 ? 19 ENDIF 20 ENDIF 21 ENDFOR 22 ENDPROC 參考答案 一、項(xiàng)目、數(shù)據(jù)庫和表操作 LGMC字段的顯示類:Listbox RZL字段的有效性規(guī)則:BETWEEN(RZL,0,100) ABCD索引表達(dá)式:DTOC(RQ,1)+STR(RZL,6,2) UPDATE JYB SET FK=IIF(LX='X',0.1,0.2)*IIF(HSRQ-JYRQ>30,HSRQ-JYRQ-30,0) 二、設(shè)計(jì)查詢 SELECT LEFT(ALLT(XQBM),13)AS 學(xué)年,KCAP.BJBH,COUNT($) AS課程門數(shù),; SUM(XF) AS 總學(xué)分; FROM JXSJ!KCAP INNER JOIN JXSJ!KC; ON KCAP.KCDM=KC.KCDM; GROUP BY 1,KCAP.BJBH; ORDER BY 1; INTO CURSOR ABCD 三、設(shè)計(jì)菜單 為"表"菜單項(xiàng)設(shè)置"跳過"條件:.T. 為“數(shù)據(jù)庫"菜單項(xiàng)設(shè)置命令:CLOSE DATABASE ALL 四.設(shè)計(jì)表單
五、程序改錯(cuò) 第2行 DO printPrime(400,5) 該為 PrintPrime With 400,5 第11行 Return 改為 Exit |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||