![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
江蘇二級VFP2011春上機(jī)試卷1 |
||||||||||||||||||||||||||||||
2011春二級Visual FoxPro上機(jī)試卷1 (本試卷完成時(shí)間為70分鐘) 考試說明: 1.首先登錄考生信息,然后啟動(dòng)VFP并在命令窗口中執(zhí)行下列命令,以設(shè)置默認(rèn)的工作 目錄: SET DEFA TO T: 2.除非題目要求,否則不要對T盤上的文件進(jìn)行重命名、復(fù)制和刪除操作。 一、項(xiàng)目、數(shù)據(jù)庫和表操作(12分) 打開T盤根目錄中的項(xiàng)目文件JXGL,在該項(xiàng)目中已有一數(shù)據(jù)庫JXSJ。 1.在JXSJ數(shù)據(jù)庫中按下表所示的結(jié)構(gòu)創(chuàng)建AB.DBF表,并按表格中的要求設(shè)置相關(guān) 屬性。
(1)設(shè)置表的注釋:蔬菜批發(fā)價(jià)格表; (2)設(shè)置RQ字段的默認(rèn)值:當(dāng)前系統(tǒng)日期; (3)設(shè)置單位字段的顯示類:選項(xiàng)按鈕組; (4)設(shè)置表的更新觸發(fā)器:日期字段的值等于當(dāng)前系統(tǒng)日期時(shí)可以更新記錄; (5)創(chuàng)建普通索引,索引名為abcd,要求按日期排序,日期相同時(shí)按單價(jià)排序。 2.在AB表中輸入如下記錄:
3.為項(xiàng)目設(shè)置項(xiàng)目信息:項(xiàng)目的圖標(biāo)為PC.ICO文件。 4.Kc表已存在主索引KCDM,索引表達(dá)式為KCDM;CJ表已存在普通索引KCDM,索引 表達(dá)式為KCDM。以KC表為主表、CJ表為子表,根據(jù)KCDM建立永久關(guān)系,并設(shè)置兩表之間 的參照完整性:刪除級聯(lián)、插入限制。 二、設(shè)計(jì)查詢(8分) 已知自由表圖書表(TSB)含有分類號(flh,C)、冊數(shù)(CS,N)、價(jià)格(jg,N)等字段。按如下要求修改JXGL項(xiàng)目中的查詢CHAXUN: 基于TSB表查詢圖書類別、藏書冊數(shù)等信息。要求:查詢輸出字段為圖書類別、藏書冊書和平均單價(jià);查詢結(jié)果按藏書冊數(shù)降序排序,相同時(shí)按平均單價(jià)升序排序:輸出去向?yàn)槲谋疚募?/SPAN>TEMP。 注:圖書類別為flh中"."前的內(nèi)容(可用LEFT(..., AT(".",...))形式的表達(dá)式求得),藏書冊數(shù)為同一圖書類別冊數(shù)之和。 三、設(shè)計(jì)菜單(5分) JXGL項(xiàng)目中已存在菜單MENU,其中已定義了"文件"菜單欄及其 中的"退出菜單,,項(xiàng)。按如下要求設(shè)計(jì)菜單,菜單運(yùn)行后的效果如圖1
所示。 1.在"文件"菜單欄右側(cè)創(chuàng)建"圖書管理系統(tǒng)"菜單欄。 2.為"圖書管理系統(tǒng)"菜單欄創(chuàng)建子菜單"預(yù)約"、"借書"和"還書"。 3.在菜單項(xiàng)"預(yù)約"、"借書"和"還書"之間插入分組線。 4.為"借書"菜單項(xiàng)設(shè)置命令代碼:DO FORM js。 5.在"文件"菜單欄下插入系統(tǒng)菜單"全部關(guān)閉"。 四、設(shè)計(jì)表單(10分)
表單F 1.設(shè)計(jì)表格Grid1的數(shù)據(jù)只讀,無滾動(dòng)條,刪除"組別"列 2.在"組別"標(biāo)簽下方添加一個(gè)列表框控件List1(用來選擇組別),設(shè)置其數(shù)據(jù)源類型為"3-SQL語句",數(shù)據(jù)源為"SELECT DIST 組別 FROM fifa INTO CURSOR tmp"。 3.編寫表單的Load事件代碼,實(shí)現(xiàn):定義一個(gè)全局變量sGroup,并賦初值為字符"A"。 4.世界杯球隊(duì)信息存儲在自由表fifa中,表結(jié)構(gòu)如下: 組別(C,1)、編號(C,1)、國旗(G)、國家(C,12)、簡介(M),且fifa表已添加在表單的數(shù)據(jù)環(huán)境中。編寫List1的InterActiveChange事件代碼,實(shí)現(xiàn): (1)將List1中當(dāng)前選定的值賦給變量sGroup,并對當(dāng)前數(shù)據(jù)工作區(qū)中的fifa表設(shè)置篩選條件:按sGroup變量中的值對"組別"字段進(jìn)行記錄篩選: (2)將記錄指針指向首行記錄,并刷新表單。 五、程序改錯(cuò)題(5分) 回文數(shù)是指正讀和反讀都是一樣的數(shù),如1001、1221等。下列程序的功能是:求出大于1000小于2000的所有回文數(shù),并將它們打印出來(每行打印5個(gè)數(shù),最后一行打印總要求: 1.將下列程序輸入到項(xiàng)目中的程序文件PCODE中,并對其中的2條錯(cuò)誤語句進(jìn)行修改。 2.在修改程序時(shí),不允許修改程序的總體框架和算法,不允許增加或減少語句數(shù)目。 STORE 0 TO n,n1,n2 s=ALLT(STR(i)) nl=LEN(s) n2=INT(n1/2) s1='' FOR j=1 TO n2 s1=s1+RIGHT(s,1) s=LEFt(s,n1-1) ENDFOR IF LEFT(s,n1)=s1 n=n+1 ?? i IF INT(n/5)=n/5 ? ENDIF ENDFOR ENDFOR ?'小于2000的回文數(shù)共'+STR(n)+'個(gè)' 參考答案 一、項(xiàng)目、數(shù)據(jù)庫和表操作 字段默認(rèn)值:DATE() 索引表達(dá)式:DTOC(rq,1)+STR(dj,5,1) 觸發(fā)器:rq=DATE() 二、設(shè)計(jì)查詢 SELECT LEFT(flh,at('.',flh)-1) AS 圖書類別,SUM(CS) AS 藏書冊數(shù),: AVG(jg) AS 平均單價(jià); FROM tsb; GROUP BY 1; ORDER BY 2 DESC,3; TO FILE temp.txt 三、設(shè)計(jì)菜單 命令/ 過程:DO FORM js 四、設(shè)計(jì)表單 |
||||||||||||||||||||||||||||||