![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2003年(春)Visual FoxPro 江蘇省等級考試上機試卷 |
2003年(春)江蘇省等級考試上機試卷 二級 Visual FoxPro (VFP02) 一、項目、數(shù)據(jù)庫和表操作(12分) 打開軟盤根目錄下的項目文件TEST,在該項目中已有一數(shù)據(jù)庫SJK。 1. 按如下要求修改SJK中學生(XS)表的結構: (1) 將專業(yè)代號(zydh)字段的標題設置為“專業(yè)代碼”; (2) 設置zydh字段的有效性(驗證)規(guī)則:不能為空; (3) 將籍貫(jg)字段的長度改為20; (4) 增加一個備注型字段,字段名為bz; (5) 創(chuàng)建一個普通索引xdhzydh,要求先按系代號(xdh)字段排序,系代號相同的 再按zydh字段排序; 2.把軟盤根目錄中的表文件GZB.DBF添加為TEST項目中的自由表。 3.刪除GZB中所有職稱是副教授的記錄。 4.已知項目TEST中存在自由表GZC,計算GZC中所有教授的工齡(gl),工齡的計算方法為當前日期的年份減去參加工作日期(gzrq)的年份。 5.SJK中XIM表已存在主索引xdh,索引表達式為xdh,XS表已存在普通索引xdh,索引表達式為xdh,以XIM表為主表,XS表為子表按xdh建立永久關系,并設置XIM表和XS表之間的參照完整性:更新級聯(lián)。 二.設計查詢(8分) 在TEST項目中已存在查詢chaxun,且在SJK中包含一個名為RKST的視圖,該視圖中包含每個專業(yè)的開課情況,其中有專業(yè)代號(zydh)、專業(yè)名稱(zymc)、所開課程的課程代號民(kcdh),在SJK的KC表中含有每門課的性質(zhì)是否必修課(bxk)字段。按如下要求修改查詢: 基于RKST視圖和KC表查詢每個專業(yè)分別開了多少門必修課,多少門選修課。要求輸出字段提示:bxk字段的值為.T.即是必修課,否則就是選修課。 三.設計菜單(5分) TEST項目中已存在菜單menu,其中已定義了“文件”菜單欄及其中的“恢復系統(tǒng)菜單”項。按如下要求設計菜單,完成后運行效果如圖1所示。 1.創(chuàng)建“項目管理”菜單欄,并為“項目管理”菜單設置熱鍵“ALT+M”; 2.為“項目管理”菜單創(chuàng)建子菜單“數(shù)據(jù)庫”和“程序”; 3.創(chuàng)建“程序”菜單的子菜單,其中包含“PRG程序”和“表單”菜單項; 4.設置“數(shù)據(jù)庫”菜單項的廢止條件為:DBUSED(“SJK.DBC”)。 5.設置“數(shù)據(jù)庫”菜單項的命令為:OPEN DATABASE SJK.DBC
四.設計表單(10分) TEST項目中已存在表單formO,功能是瀏覽指定系科的教師或?qū)W生。按如下要求修改表單,完成后的運行效果如圖2所示。 1.在表單的數(shù)據(jù)環(huán)境中添加學生表(xs),將學生表設為只讀; 2. 設置表單中頁框控件的第二個頁面的標題為“學生”,并在該頁面中添加一個表格控件grdXS,設置表格的記錄源類型為“別名”,記錄源為“xs”; 3. 編寫系科列表框Listl的InterActiveChange事件代碼,希望的功能是根據(jù)列表框中選擇的不同系科和頁框中選擇的不同頁面動態(tài)設置表單的標題。例如,列表框中選擇了“計算機科學系”,頁框中選擇了“學生”頁面,則表單的標題就為“瀏覽計算機系學生情況”。用一行代碼實現(xiàn)這一功能。(提示:表單標題字符串中‘教師’或“學生”字符的確定可來自頁框中活動頁面的標題。)
五.程序改錯(5分) 下列程序的功能用于將十六進制數(shù)轉(zhuǎn)換成十進制數(shù)表示。要求: ① 項目中有一個程序文件Pcode,將下列程序輸入到其中并進行修改; ② 在修改程序時,不允許修改程序的總體框架和算法,不允許增加或減少語句數(shù)目。 cNumber=’4FC7’ &&賦初值(用字符串表示的十六進制數(shù)) nResult=0 FOR n=LEN(cNumber) TO 1 C=LEFT(cNumber,1) IF BETWEEN(c, ’0’,’9’) nResult=nResult*16+c ELSE nResult=nResult*16+10+ASC(c)-ASC(’A’) ENDIF CNumber=SUBSTR(cNumber,2) ENDFOR WAIT WINDOWS ’十進制數(shù)表示為’+STR(nResult) |