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