![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2010秋江蘇二級Visual FoxPro上機試卷 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2010秋二級Visual FoxPro上機試卷 (本試卷完成時間為70分鐘) 考試說明: 1.首先登錄考生信息,然后啟動VFP并在命令窗口中執(zhí)行下列命令,以設置默認的工作 目錄:SET DEFA TO T: 2.除非題目要求,否則不要對T盤上的文件進行重命名、復制和刪除操作。 一、項目、數(shù)據(jù)庫和表操作(12分) 打開T盤根目錄中的項目文件JXGL,在該項目中已有一數(shù)據(jù)庫JXSJ。 1.在JXSJ數(shù)據(jù)庫中按如下表格所示的結構創(chuàng)建AB表,并按表格中的要求設置相關屬性。
(1)設置AB表的表注釋:參觀人數(shù); (2)設置日期字段的默認值:當前系統(tǒng)日期; (3)設置日期字段的顯示類:微調(diào)框; (4)設置記錄有效性規(guī)則:實際參觀人數(shù)小于或等于售出門票數(shù)量; (5)創(chuàng)建普通索引,索引名為abcd,要求按實際參觀人數(shù)與售出門票數(shù)量之比排序。 2.在AB表中輸入如下記錄:
3.給KC表中所有學分大于或等于5的記錄加刪除標記。 4.js表已存在主索引GH,索引表達式為GH;KCAP表已存在普通索引GH,索引表達式為GH。以js表為主表、KCAP表為子表,根據(jù)GH建立永久關系,并設置兩表之間的參照完整性:更新級聯(lián)、刪除級聯(lián)。 二、設計查詢(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元,未還書者(即還書日期為空的 記錄)不統(tǒng)計。 三、設計菜單(5分) JXGL項目中已存在菜單MENU,其中已定義了"文件"菜單欄及其中的"退出菜單"項。按如下要求設計菜單,菜單運行后的效果如圖1所示。 1.在"文件"菜單欄右側(cè)創(chuàng)建"數(shù)據(jù)管理"菜單欄。 2.在"數(shù)據(jù)管理"菜單欄下創(chuàng)建子菜單"查詢"和"數(shù)據(jù)備份"。 3.為"查詢"菜單項設置快捷鍵:F12。 4.在菜單項"查詢"和"數(shù)據(jù)備份"之間插入分組線。 5.為"數(shù)據(jù)備份"菜單項設置過程代碼: d=GETFILE("dbf"."*.dbf") USE &d COPY To bf1 四、設計表單(10分) 表單F 行時如圖2所示. 1.修改表單的有關屬性,使表單的標題為"字符數(shù)統(tǒng)計",并設置字數(shù)統(tǒng)計的三個文本框禁用。 2.適當加大Shape1形狀的高度,在其區(qū)域內(nèi)增加一個標簽控件Label—Sum和一個文本框控件Text4,并設置Label_Sum的標題為"總字符數(shù):"。 3.編寫"清空"按鈕的Click事件代碼,用2條語句實現(xiàn)如下功能:(1)清除編輯框Edit1中的文本;(2)使"字數(shù)統(tǒng)計"矩形區(qū)域內(nèi)的4個文本框的值均置零。 4.表單已定義了一個Count()方法,用來對Edit1編輯框中的文本進行字數(shù)統(tǒng)計。編寫"統(tǒng)計"按鈕的Click事件代碼,以實現(xiàn):先調(diào)用表單的Count()方法,然后將文本框Text1、Text2和Text3的值相加后顯示在文本框Text4中。 五、程序改錯(5分) 下列程序的功能是找出100~999以內(nèi)同時滿足以下條件的數(shù):個位數(shù)字與十位數(shù)字之和與10的模等于百位數(shù);該數(shù)是素數(shù)(僅能被1和本身整除的數(shù)稱為"素數(shù)’’)。例如,101、 (1)將下列程序輸入到項目中的程序文件PCODE中,并對其中的2條錯誤語句進行修改; (2)在修改程序時,不允許修改程序的總體框架和算法,不允許增加或減少語句數(shù)目。 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 參考答案 一、項目、數(shù)據(jù)庫和表操作 索引表達式;SJRS/SCSL 有效性規(guī)則: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 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||