鸭子tv国产极品在线观看_成人69视频在线播放_91精品免费在线观看_亚洲AT永久偷窥无码精品_国产精品自产拍在线观看涩浪潮久

江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
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

圖1

 

四.設計表單(10分)

TEST項目中已存在表單formO,功能是瀏覽指定系科的教師或?qū)W生。按如下要求修改表單,完成后的運行效果如圖2所示。

1.在表單的數(shù)據(jù)環(huán)境中添加學生表(xs),將學生表設為只讀;

2. 設置表單中頁框控件的第二個頁面的標題為“學生”,并在該頁面中添加一個表格控件grdXS,設置表格的記錄源類型為“別名”,記錄源為“xs”;

3. 編寫系科列表框Listl的InterActiveChange事件代碼,希望的功能是根據(jù)列表框中選擇的不同系科和頁框中選擇的不同頁面動態(tài)設置表單的標題。例如,列表框中選擇了“計算機科學系”,頁框中選擇了“學生”頁面,則表單的標題就為“瀏覽計算機系學生情況”。用一行代碼實現(xiàn)這一功能。(提示:表單標題字符串中‘教師’或“學生”字符的確定可來自頁框中活動頁面的標題。)

圖2

 

五.程序改錯(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)