![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2003年(春)江蘇省等級考試上機試卷 (05) |
2003年(春)江蘇省等級考試上機試卷 二級 Visual FoxPro (VFP05) 一、項目、數(shù)據(jù)庫和表操作(12分) 打開軟盤根目錄下的項目文件TEST,在該項目中已有一數(shù)據(jù)庫SJK。 1.按如下要求修改SJK中工資(GZ)表的結構: (1) 為住房公積金(zfgj)字段設置標題:住房公積金; (2) 設置zfgj字段的有效性(驗證)規(guī)則:它的值必須為基本工資(jbgz)的8% ,該規(guī)則對表中已有的數(shù)據(jù)不作對照; (3) 設置zfgj字段的有效性(驗證)信息:住房公積金是基本工資的8%; (4) 增加一個邏輯型字段,其字段名為yhdf; (5) 創(chuàng)建一個普通索引jbgzzfgj,要求先按jbgz字段排序,jbgz相同的再按zfgj字段排序。 2. 為SJK添加編輯說明:教務管理數(shù)據(jù)庫。 3.把TEST項目中的自由表GZC的包含狀態(tài)設置為“排除”。 4. 調整GZC表中副教授的綜合津貼(zhjt),調整辦法是:1990年(含1990年)以前參加工作的副教授的綜合津貼增加120元。 5. 為KC表設置刪除觸發(fā)器:若某一記錄的學分(xf)字段的值為0,則允許刪除,否則不允許刪除。 6. SJK中KC表已存在主索引kcdh,索引表達式為kcdh:RK表已存在普通索引kcdh,索引表達式為kcdh。以KC表為主表,RK表為子表按kcdh建立永久關系,并設置KC表和RK表之間的參照完整性:刪除級聯(lián)。 二. 計查詢(8分) 在TEST項目中已存在查詢chaxun,且在SJK中包含一個名為RKVIEW的視圖,該視圖中包含教師的任課情況,其中有教師上的每一門課的課時數(shù)(kss)。假定教師的上課酬金為每學時20元,按如下要求修改查詢: 基于RKVIEW視圖和教師(JS)表查詢每個教師的上課總學時及上課酬金。要求輸出字段為:gh,xm、xb,總學時,上課酬金,查詢結果按gh的升序排序。 三、設計菜單(5分) TEST項目中已存在菜單menu,其中已定義了“文件”菜單欄及其中的“恢復系統(tǒng)菜單”項。按如下要求設計菜單,完成后的運行效果如圖1所示。 1. 創(chuàng)建“學生管理”菜單欄,并為“學生管理”菜單設置訪問鍵“ALT+M”; 2. 為“學生管理’’菜單創(chuàng)建子菜單“基本情況”、“統(tǒng)計”和“瀏覽學生表”: 3. 創(chuàng)建“統(tǒng)計”菜單的子菜單,其中包含“各課成績”和“學生總分”菜單項; 4. 設置“瀏覽學生表”菜單項的廢止條件為: .NOT.USED(“XS”): 5. 設置“瀏覽學生表”菜單命令為:BROWSE。
四、設計表單(10分) TEST項目中已存在表單formM,它是一個通過計時器控件控制的倒記時程序。按如下要求修改表單,完成后表單剛運行時的界面如圖2所示,單擊“開始”后界面如圖3所示。 1. 設置表單的有關屬性,使得表單運行在所有的窗口之上,并作為頂層表單; 2. 設置表單中文本框的字號為12; 3. 在表單中添加一個記時器控件Timerl,設置其初始狀態(tài)為廢止、Timer事件的時間間隔為1秒(1000毫秒); 4. 4. 編寫Timerl記時器的Timer事件代碼,使用If...else...endif結構完成如下功能:如果表單中文本框Textl的值大于0,則讓文本框的值減1,否則關閉表單。
五、程序改錯(5分) 下列程序用于計算一個字符串中包括多少個漢字(假設這些漢字均屬于GB2312字符集)。其基本算法是從字符串中依次取一個字符,如果其AECII碼值大于127,則為一個漢字內碼的第一個字節(jié)。要求: ① 項目中有一個程序文件Pcode,將下列程序輸入到其中并進行修改; ② 在修改程序時,不允許修改程序的總體框架和算法,不允許增加或減少語句數(shù)目。 cString=’微軟(Microsoft)公司開發(fā)的視窗(Windows)操作系統(tǒng)’ &&賦初值 nCount=0 n=LEN(cString) FOR m=1 tO n IF ASC(SUBSTR(cString,m,1))>127 nCount= nCount+1 n=n+1 ENDIF ENDFOR WAIT WINDOWS’漢字個數(shù)為’+nCount |