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