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