2010秋江蘇二級Visual FoxPro上機試卷 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2010秋二級Visual FoxPro上機試卷 (本試卷完成時間為70分鐘) 考試說明: 1.首先登錄考生信息,然后啟動VFP并在命令窗口中執行下列命令,以設置默認的工作 目錄:SET DEFA TO T: 2.除非題目要求,否則不要對T盤上的文件進行重命名、復制和刪除操作。 一、項目、數據庫和表操作(12分) 打開T盤根目錄中的項目文件JXGL,在該項目中已有一數據庫JXSJ。 1.在JXSJ數據庫中按如下表格所示的結構創建AB表,并按表格中的要求設置相關屬性。
(1)設置AB表的表注釋:參觀人數; (2)設置日期字段的默認值:當前系統日期; (3)設置日期字段的顯示類:微調框; (4)設置記錄有效性規則:實際參觀人數小于或等于售出門票數量; (5)創建普通索引,索引名為abcd,要求按實際參觀人數與售出門票數量之比排序。 2.在AB表中輸入如下記錄:
3.給KC表中所有學分大于或等于5的記錄加刪除標記。 4.js表已存在主索引GH,索引表達式為GH;KCAP表已存在普通索引GH,索引表達式為GH。以js表為主表、KCAP表為子表,根據GH建立永久關系,并設置兩表之間的參照完整性:更新級聯、刪除級聯。 二、設計查詢(8分) 已知教師表(JS)含有工號(gh,c)、姓名(xm,C)等字段;自由表圖書借閱表(JYB)含有讀者號(dzh,c)、分類號(flh,C)、借閱日期(jyrq,D)、還書日期(hsrq,D)等字段,教師的讀者號與工號相同。按如下要求修改JXGL項目中的查詢CHAXUN: 基于JS表和JYB表查詢教師借書情況,計算過期罰款信息。要求:查詢輸出字段為dzh、 xm、罰款額;查詢結果按罰款額降序排序;輸出去向為文本文件TEMP。 注:罰款計算方法為30天以上超過部分每本每天0.10元,未還書者(即還書日期為空的 記錄)不統計。 三、設計菜單(5分) JXGL項目中已存在菜單MENU,其中已定義了"文件"菜單欄及其中的"退出菜單"項。按如下要求設計菜單,菜單運行后的效果如圖1所示。 1.在"文件"菜單欄右側創建"數據管理"菜單欄。 2.在"數據管理"菜單欄下創建子菜單"查詢"和"數據備份"。 3.為"查詢"菜單項設置快捷鍵:F12。 4.在菜單項"查詢"和"數據備份"之間插入分組線。 5.為"數據備份"菜單項設置過程代碼: d=GETFILE("dbf"."*.dbf") USE &d COPY To bf1 四、設計表單(10分) 表單F 行時如圖2所示. 1.修改表單的有關屬性,使表單的標題為"字符數統計",并設置字數統計的三個文本框禁用。 2.適當加大Shape1形狀的高度,在其區域內增加一個標簽控件Label—Sum和一個文本框控件Text4,并設置Label_Sum的標題為"總字符數:"。 3.編寫"清空"按鈕的Click事件代碼,用2條語句實現如下功能:(1)清除編輯框Edit1中的文本;(2)使"字數統計"矩形區域內的4個文本框的值均置零。 4.表單已定義了一個Count()方法,用來對Edit1編輯框中的文本進行字數統計。編寫"統計"按鈕的Click事件代碼,以實現:先調用表單的Count()方法,然后將文本框Text1、Text2和Text3的值相加后顯示在文本框Text4中。 五、程序改錯(5分) 下列程序的功能是找出100~999以內同時滿足以下條件的數:個位數字與十位數字之和與10的模等于百位數;該數是素數(僅能被1和本身整除的數稱為"素數’’)。例如,101、 (1)將下列程序輸入到項目中的程序文件PCODE中,并對其中的2條錯誤語句進行修改; (2)在修改程序時,不允許修改程序的總體框架和算法,不允許增加或減少語句數目。 CLEAR FOR i=1 To 999 yn=.T. FOR j=3 TO i-1 IF MOD(j,i)=0 yn=.F. EXIT ENDIF ENDFOR IF yn s=STR(i,3) s1=SUBS(s,3,1) s2=SUBS(s,2,1) s3=SUBS(s,1,1) IF MOD(VAL(s1)+VAL(s2))=VAL(s3) ?i ENDIF ENDIF ENDFOR 參考答案 一、項目、數據庫和表操作 索引表達式;SJRS/SCSL 有效性規則:SJRS<=SCSL 二、設計查詢 SELECT Jyb.dzh,Js.xm,SUM(IIF(hsrq-jyrq>30,(hsrq-jyrq-30)*0.1,0.O)) AS罰款額; FROM jxsj!js iNNER JOIN jyb ON Js.gh=Jyb.dzh; WHERE EMPTY(Jyb.hsrq)<>.T.; GROUP BY Jyb.dzh; ORDER BY 3 DESC; TO FILE temp.txt 三、設計菜單 命令/過程: d=GETFILE('dbf','*dbf') USE &d COPY TO bn 四.設計表單
五.程序改錯 If Mod(j,i)=0 改為:Mod(i,j) If Mod(Val(s1)+Val(s2))=Val(s3) 改為:Val(s2),10 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||