![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2003年(春)江蘇省等級考試上機試卷 |
2003年(春)江蘇省等級考試上機試卷 二級 Visual FoxPro (VFP04) 一、 項目、數(shù)據(jù)厙和表操作(12分) 打開軟盤根目錄下的項目文件TEST, 在該項目中已有一數(shù)據(jù)庫SJK。 1.按如下要求修改SJK中工資(GZ)表的結(jié)構: (1) 為住房補貼(zfbt)字段設置標題:住房補貼; (2) 設置zfbt字段的有效性(驗證)規(guī)則:它的值或者為0,或者為基本工資(jbgz)的19%; (3) 設置zfbt字段的字段注釋:1998年以后參加工作的教師才有住房補貼; (4) 增加一個備注型字段,字段名為bz; (5) 創(chuàng)建一個普通索引ghsfgz,要求先按工號(gh)字段排序,工號相同的再按實發(fā)工資(sfgz)字段排序。 2.為GZ表添加編輯說明:教師工資信息表。 3.把TEST項目中的自由表GZC的包含狀態(tài)沒置為“排除”。 4.修改GZC表中所有記錄的實發(fā)工資(sfgz),計算實發(fā)工資的公式為: sfgz=yfgz(應發(fā)工資)—zfgj(住房公積金)—ylbx(醫(yī)療保險)—grsds(個人所得稅) 5.為GZ表設置刪除觸發(fā)器:工號為空的記錄允許刪除,否則不允許刪除。 6. SJK中JS表已存在主索引jsgh,索引表達式為gh; GZ表已存在普通索引gzgh,索引表達式為gh。以JS表為主表,GZ表為子表按gh建立永久關系,并設置JS表和GZ表之間的參照完整性:更新級聯(lián)。 二、設計查詢(8分) 在TEST項目中已存在查洵chaxun,按如下要求修改該查詢: 基于成績(CJ)表和課程(KC)表查詢每門課有多少學生選修、最高成績、平均成績。要求輸出字段為:kcdh,kcm、選課人數(shù)、最高成績、平均成績,結(jié)果按kcdh的升序排序。 三、設計菜單(5分) TEST項目中已存在菜單menu,其中已定義了“文件”菜單欄及其中的“恢復系統(tǒng)菜單”項。按如下要求設計菜單,完成后的運行效果如圖1所示。 1. 創(chuàng)建“系統(tǒng)”菜單欄,并為“系統(tǒng)”菜單設置訪問鍵“ALT+S”; 2. 在“系統(tǒng)”菜單中添加“數(shù)據(jù)錄入”、“數(shù)據(jù)維護”和“選項”菜單項; 3. 創(chuàng)建“數(shù)據(jù)錄入”菜單的子菜單,其中包含“成績”和“教師工資”菜單項; 4. 設置“選項”菜單項為廢止。 5. 在“數(shù)據(jù)維護”和“選項”菜單項之間插入分組線。
四、設計表單(10分) TEST項目中已存在表單formK,功能是從學生表中選擇部分字段進行瀏覽,如圖2所示。當從左側(cè)列表中選擇部分或全部字段到右側(cè)列表,單擊“瀏覽”按紐后,表單向右側(cè)擴展,并在表格控件中顯示選定字段的記錄,如圖3所示。按如下要求修改表單,完成后表單剛運行時的界面如圖2所示,選取部分字段單擊“瀏覽”按扭后,界面如圖3所示。 1. 設置表單的標題為“選字段瀏覽表”,邊框類型為“固定對話框”; 2. 2. 兩個列表框和四個移動列表項的按鈕都包含在同一個容器控件MoverLists1中。設置左側(cè)列表框(lstSource)的RowSourceType屬性為“結(jié)構”,RowSource屬性值為“xs”; 3. 在“瀏覽”按鈕的左側(cè)添加一個標題為“重選”的命令按鈕,對象名為“cmdReset”; 4. 編寫cmdReset的單擊事件代碼,以將表單恢復到如圖2所示的初始狀態(tài),即, ①將表格設置為不可見;②將表單的寬度恢復為初始值(238);③調(diào)用MoverListsl容器中的第四個按鈕cmdRemoveAll的Click事件代碼,以將選在右側(cè)列表中的字段全部移回到左側(cè)列表中。
五、程序改錯(5分) 下列程序的功能是對一個字符串進行加密。其基本算法是對字符串中的每一個字符進行轉(zhuǎn)換,轉(zhuǎn)換后的字符的ASCII碼等于原字符的ASCII碼值加該字符在字符串中的位置值,例如,字符串“ABC”加密后為“BDF”,其中A—B(第1個字符)、B—D(第2個字符)、C—F(第3個字符),要求: ① 項目中有一個程序文件Pcode,將下列程序輸入到其中并進行修改; ② 在修改程序時,不允許修改程序的總體框架和算法,不允許增加或減少語句數(shù)目。 CString=’12345cz’ &&賦初值 cResult=SPACE(0) IF LEN(CString)=0 FOR n=l T0 Cstring c=SUBSTR(CString,n,1) cResult=cResult十CHR(ASC(C)+1) ENDFOR ENDIF WAIT WINDOWS ’加密后為’+cResult |