![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2005 年(春)二級(jí)Visual FoxPro(試卷代號(hào)VFP04) |
|||||||||
江蘇省高等學(xué)校非計(jì)算機(jī)專(zhuān)業(yè)學(xué)生 (本試卷完成時(shí)間 70分鐘)
一、項(xiàng)目、數(shù)據(jù)庫(kù)和表操作(12分) 打開(kāi)軟盤(pán)要目錄下的項(xiàng)目文件TEST,在該項(xiàng)目中已有一數(shù)據(jù)庫(kù)SJK。 1、按如下要求修改SJK中學(xué)生(XS)表的結(jié)構(gòu): (1)為XS表增加一個(gè)備注型字段,其字段名為bz; (2)為備注(bz)字段設(shè)置標(biāo)題:備注; (3)對(duì)學(xué)號(hào)(xh)字段設(shè)置輸入掩碼:接受8個(gè)字節(jié)的字符,且只接受數(shù)字; (4)在XS表中增加一條記錄,記錄內(nèi)容為:
(5)創(chuàng)建一個(gè)普通索引xmrq,要求先按xm字段排序,xm相同時(shí)再按出生日期(csrq)字段排序。 2、為XS表添加編輯說(shuō)明:學(xué)生基本信息表 3、把軟盤(pán)根目錄中的表文件GZB.DBF添加為TEST項(xiàng)目中的自由表。 4、調(diào)整GZB表中所有講師的綜合津貼(zhjt),要求1996年(含1996年)以前參加工作的講師每人為280元,其余的講師為150元。 5、為RK表設(shè)置插入觸發(fā)器:工號(hào)以“A”或“B”字母開(kāi)頭的記錄允許插入。 6、JS表已存在主索引jsgh,索引表達(dá)式為gh:RK表已存在普通索引rkgh,索引表達(dá)式為gh。以js表為主表、RK表為子表,按gh建立永久關(guān)系,并設(shè)置JS表和RK表之間的參照完整性:更新限制。 二、設(shè)計(jì)查詢(xún)(8分) TEST項(xiàng)目中已經(jīng)存在查詢(xún)chaxun,且在SJK中包含一個(gè)名為JSST的視圖。該視圖包括教師工號(hào)(gh)、姓名(xm)、出生日期(csrq)、職稱(chēng)(zc)和系代號(hào)(xdh)字段,在SJK的工資(GZ)表含有教師工號(hào)(gh)、基本工資(jbgz)和綜合津貼(zhjt)字段。按如下要求修改查詢(xún): 基于JSST視圖和GZ表查詢(xún)每個(gè)系各類(lèi)職稱(chēng)基本工資、崗位津貼和綜合津貼三項(xiàng)之和的最大值、最小值、平均值、要求輸出字段包括:xdh、zc,最大值、最小值、平均值,查詢(xún)結(jié)果按xdh從高到低排序。 三、設(shè)計(jì)菜單(5分) TEST中已存在菜單MenuN,利用菜單設(shè)計(jì)器按如下要求修改菜單: 1、如圖所示,為“成績(jī)管理”菜單欄編制子菜單: 2、在數(shù)據(jù)庫(kù)SJK中已存在RKVIEW視圖,其中包含教師姓名(xm)和課程名稱(chēng)(kcm)等字段。為“教師任課管理”菜單欄下的“教師任課查詢(xún)”菜單項(xiàng)編制SQL命令:當(dāng)執(zhí)行該菜單項(xiàng)時(shí),在瀏覽窗口顯示任課教師的姓名(xm)和課程名稱(chēng)(kcm); 3、將“課程管理”菜單欄設(shè)置為可用。 四、設(shè)計(jì)表單(10分) 軟盤(pán)上TEST項(xiàng)目中已經(jīng)存在表單FormR,該表單的功能是根據(jù)選擇的系,瀏覽和統(tǒng)計(jì)教師信息,按下列要求修改該表單,修改完成后運(yùn)動(dòng)表單,其效果如圖所示。 1、修改表單的有關(guān)屬性,使得表單的標(biāo)題為“教師信息瀏覽”; 2、修改表格控件的有關(guān)屬性,使得表格數(shù)據(jù)只讀,第1列和第3列中顯示的數(shù)據(jù)居中: 3、列表框控件的Enabled屬性為.F.,修改其有關(guān)屬性,使得運(yùn)行時(shí)其列表數(shù)據(jù)為藍(lán)色; 4、為表單的lnit事件編寫(xiě)代碼,使得表單運(yùn)動(dòng)后首先能顯示所有教師的統(tǒng)計(jì)信息(提示:調(diào)用下拉組合框控件的InterActiveChange事件代碼)。 5、為表單的Load事件編寫(xiě)代碼,需要完成的功能是設(shè)置日期格式為ANSI,且年份為4位. 五、 程序改錯(cuò)(5分) 下列程序的功能是:根據(jù)給定出生日期,打印出60歲前有哪幾個(gè)生日是在星期六或星期日,并分別統(tǒng)計(jì)在星期六和星期日過(guò)生日的次數(shù)。要求: (1)項(xiàng)目中有一個(gè)程序文件pcode,將下列程序輸入到其中并進(jìn)行修改; (2)在修改程序時(shí),不允許修改程序的總體框架和算法,不允許增加或減少語(yǔ)句數(shù)目。 Set date to long Dbday={^1968/05/20} Nyear=year(dbday) Mm=str(month(dbday),2) Dd=str(day(dbday),2) Store o to nsunday,nsaturday For I=1 to 60 Cebirth=”^”+str(nyear+I,4)+ ”/”+mm+”/”+dd Debirth=dtoc(cebirth) Nweek=dow(debirth) If nweek=1 ?debirth,”星期日” nsunday=nsunday+1 endif if nweek=6 ?debirth,”星期六” nsaturday=nsaturday+1 endif endfor ?”星期六過(guò)的次數(shù):”+str(nsaturday,2)+” 星期日過(guò)的次數(shù):”+str(nsunday,2) |
|||||||||