![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2003年(春)Visual FoxPro 江蘇省等級考試上機(jī)試卷 |
2003年(春)江蘇省等級考試上機(jī)試卷 二級 Visual FoxPro (VFP03) 一、項(xiàng)目、數(shù)據(jù)庫和表操作(12分) 打開軟盤根目錄下的項(xiàng)目文件TEST, 在該項(xiàng)目中已有一數(shù)據(jù)庫SJK。 1.按如下要求修改SJK中工資(GZ)表的結(jié)構(gòu): (1) 設(shè)置住房公積金(zfgj)字段的標(biāo)題:住房公積金; (2 (2) 設(shè)置GZ表的有效性(驗(yàn)證)規(guī)則:zfgj的值是基本工資(jbgz)的80%,該規(guī)則對表中已有的數(shù)據(jù)不作對照; (3) 設(shè)置GZ的記錄有效性(驗(yàn)證)信息:住房公積金按基本工資的8%提; (4) 設(shè)置zfgj字段的默認(rèn)值:jbgz的8%; (5) 按zfgj創(chuàng)建一個普通索引,索引名zfgj,要求按zfgj降序排序。 2.把軟盤根目錄中的表文件GZB.DBF添加為TEST項(xiàng)目中的自由表。 3. 對項(xiàng)目TEST中的自由表GZC進(jìn)行數(shù)據(jù)調(diào)整,調(diào)整辦法是:1990年(含1990年)以前參加工作的副教授的崗位津貼(gw)增加100元。 4.為RK表設(shè)置插入觸發(fā)器:工號為T開頭的記錄不允許插入。 6.SJK中KC表已存在主索引kcdh,索引表達(dá)式為kcdh:RK表已存在普通索引kcdh,索引表達(dá)式為kcdh。以KC表為主表,RK表為子表按kcdh建立永久關(guān)系,并設(shè)置KC表和RK表之間的參照完整性:更新限制。 二、設(shè)計(jì)查詢(8分) 在TEST項(xiàng)目中已存在查詢chaxun,且在SJK中包含一個名為RKVIEW的視圖,該視圖中包含教師的任課情況,其中有教師任課的專業(yè)代號(zydh)、專業(yè)名稱(zymc)、教師所上課的課程代號(kcdh)、課程名稱(kcm)等字段。按如下要求修改查詢: 基于RKVIEW視圖和教師(JS)表查詢工號為‘A0001’的教師上了哪些課程.要求輸出字段為:gh、xm、xb,kcdh、kcm,查詢結(jié)果按gh的升序排序,gh相同的按kcdh的升序排序。 三、設(shè)計(jì)菜單(5分) TEST項(xiàng)目中已存在菜單menu,其中已定義了“文件”菜單欄及其中的“恢復(fù)系統(tǒng)菜單”項(xiàng)。按如下要求設(shè)計(jì)菜單,完成后的運(yùn)行效果如下圖所示。 1. 創(chuàng)建“成績管理”菜單欄,并為“成績管理”菜單設(shè)置訪問鍵“ALT+M”; 2. 為“成績管理”菜單創(chuàng)建子菜單“課程維護(hù)”和“統(tǒng)計(jì)”; 3.創(chuàng)建“統(tǒng)計(jì)”菜單的子菜單,其中包含“各課成績”和“學(xué)生總分”菜單項(xiàng); 4.設(shè)置“課程維護(hù)”菜單的命令為:DO FORM KC.SCX; 5.設(shè)置“課程維護(hù)”菜單項(xiàng)的廢止條件為:.NOT.FILE("KC.SCX") 四、設(shè)計(jì)表單(10分) TEST項(xiàng)目中已存在表單formN,是一個未完成的圖片瀏覽器程寧。按如下要求修改表單,完成后的運(yùn)行效果如圖2所示。 1. 在表單空白處添加一寬度和高度 分別為303和175的圖象控件,名為Imagel; 2. 將文本框設(shè)置為廢止; 3. 3. 選項(xiàng)按鈕組opg是用來控制圖象的伸縮模式(Stretch)的,在選項(xiàng)按鈕組opg中增加一個選項(xiàng)按鈕,并將增加的按鈕的標(biāo)題設(shè)置為“變比填充”; 4. 4. 在表單Refresh方法代碼中已包含三行代碼,功能是根據(jù)圖片的大小調(diào)整表單窗口的大小,現(xiàn)根據(jù)如下要求完善代碼:① 使用IF結(jié)構(gòu)語句來控制這三行代碼的執(zhí)行,執(zhí)行的條件是圖象控件的Stretch 屬性值為0;② 讓文本框Textl動態(tài)顯示圖象控件的Picture屬性值。 圖2
五、程序改錯(5分) 下列程序的功能是將一個字符串中的各個單詞的首字母組成其縮寫形式(大寫字母),其中,字符串由多個英文單詞組成,且各單詞之間用一個空格分隔。其基本算法是:從字符串中的單詞中取其第一個字母,然后去掉該單詞,如此重復(fù)直到字符串長變?yōu)?。例如,對于字符串“central processing unit”,生成其縮寫形式“CPU”。要求: ① 項(xiàng)目中有一個程序文件Pcode,將下列程序輸入到其中并進(jìn)行修改; ② 在修改程序時,不允許修改程序的總體框架和算法,不允許增加或減少語句數(shù)目。 cString=’Central proceSSing unit’ &&賦初值 cString=ALLTRIMtUPPER(cString)) cResult=SPACE(0) IF LEN(CString)=0 DO WHILE LEN(cString)>0 CResult=cReSUlt+LEFT(CStrlng) n=AT(SPACE(1),cString) cString=ALLTRIM(SUBSTR(cString,n)) END ENDIF WAIT WINDOWS’縮寫形式為’+cResult |