![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2005 年(春)二級Visual FoxPro (試卷代號VFP05) |
|||||||||||
江蘇省高等學(xué)校非計算機(jī)專業(yè)學(xué)生 (本試卷完成時間 70分鐘)
一、項目、數(shù)據(jù)庫和表操作(12分) 打開軟盤要目錄下的項目文件TEST,在該項目中已有一數(shù)據(jù)庫SJK。 1. 按如下要求修改SJK中工資(gz)表的結(jié)構(gòu): (1)為個人所得稅(grsds)字段設(shè)置標(biāo)題:個人所得稅。 (2)設(shè)置個人所得稅(grsds)字段的注釋:基本工資1000元以上征稅; (3)設(shè)置gz表的記錄有效性(驗(yàn)證)規(guī)則:如果jbgz小于1000元,grsds的值為0,否則grsds的值為jbgz的5%(該規(guī)則對表中已有的數(shù)據(jù)不做驗(yàn)證); (4)設(shè)置gz表的記錄有效性信息:個人所得稅按基本工資的5%收取; (5)創(chuàng)建一個普通索引gzsy,要求按jbgz排列。 2. 設(shè)置test項目信息:作者為”張三”,單位為”淮海工學(xué)院”。 3. 向kc表中添加一條記錄,記錄內(nèi)容為:
4.修改js表中簡歷(jl)字段的值,要求:所有xdh為”02”的記錄的簡歷都改為”計算機(jī)系的教師”。 5.設(shè)置js表的插入觸發(fā)器:gh字段的值必須為5個字節(jié)的字符串(除去首尾空格),否則不允許插入。 6.JS表中已存在主索引jsgh,索引表達(dá)式為gh;rk表已存在普通索引rkgh,索引表達(dá)式為gh。以JS表為主表、rk表為子表,按gh 建立永久關(guān)系,并設(shè)置JS表和rk表之間的參照完整性:刪除級聯(lián)。 二、設(shè)計查詢(8分) 在TEST項目中已存在查詢chaxun,且在SJK中學(xué)生(xs)表包含學(xué)號(xh)、姓名(xm)、性別(xb)、班級編號(bjbh)、系代號(xdh)和專業(yè)代號(zydh)字段,專業(yè)(zy)表含有專業(yè)代號(zydh)和專業(yè)名稱()zymc)字段,按如下要求修改查詢: 基于xs表和zy表查詢“01”年級每個專業(yè)女生所占比例。要求輸出字段為:zydh,zymc,年級,女生人數(shù)和女生所占比例,查詢結(jié)果按女生所占比例從高到低排序(假定bjbh字段值的前二位表示年級)。 三、設(shè)計菜單(5分) 項目TEST中已存在菜單MenuM,利用菜單設(shè)計器按如下要求修改菜單: 1、如圖所示,在“表操作”菜單欄下增加一個“刪除記錄”菜單項及其子菜單; 2、為“表操作”菜單欄下的“記錄定位”菜單項編寫過程,其功能是:打開學(xué)生(XS)表,并將記錄指針定位在最后一條記錄; 3、將下列代碼加到菜單的適當(dāng)位置,使菜單運(yùn)行時最后執(zhí)行它。 CLOSE TABLES ALL CLEAR 四、設(shè)計表單(10分) 軟盤上TEST項目中已經(jīng)存在表單FormR,該表單的功能是根據(jù)選擇的系,瀏覽和統(tǒng)計教師信息,按下列要求修改該表單,修改完成后運(yùn)動表單,其效果如圖所示。 1、修改表單的有關(guān)屬性,使得表單的標(biāo)題為“教師信息瀏覽”; 2、修改表格控件的有關(guān)屬性,使得表格數(shù)據(jù)只讀,第1列和第3列中顯示的數(shù)據(jù)居中: 3、列表框控件的Enabled屬性為.F.,修改其有關(guān)屬性,使得運(yùn)行時其列表數(shù)據(jù)為藍(lán)色; 4、為表單的lnit事件編寫代碼,使得表單運(yùn)動后首先能顯示所有教師的統(tǒng)計信息(提示:調(diào)用下拉組合框控件的InterActiveChange事件代碼)。 5、為表單的Load事件編寫代碼,需要完成的功能是:設(shè)置日期格式為ANSI,且年份為4位 。
五、 程序改錯(5分) 下列程序的功能是:顯示10000以內(nèi)所有回文數(shù)的個數(shù)及其平均值。所謂回文數(shù)是指左右數(shù)字完全對稱的自然數(shù)。例如:11、121、1221等都是回文數(shù)。要求: STORE 0 TO nCount,nSum FOR n=11 to 10000 c1=STR(n) c2=SPACE(0) FOR m=1 TO LEN(c1) C2=SUBSTR(c1,m,1)+c2 ENDFOR IF c1=c2 nCount=nCount+1 nSum=nSum+c1 ENDIF ENDFOR WAIT WINDOW "回文數(shù)個數(shù)及其平均值分別為:"+STR(nCount)+","+STR(nSum/nCount) |
|||||||||||