![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2005秋江蘇省計(jì)算機(jī)等級(jí)考試筆試卷(2) |
||||||||||||||||||||||||||||||||||||||||||||||||||
第二部分 Visual FoxPro 程序設(shè)計(jì) 一.選擇題(用答題卡答題,答案依次填在21~30答題號(hào)內(nèi)) 21.項(xiàng)目(project)是VFP中各種文件組織的核心。在下列有關(guān)VFP項(xiàng)目的敘述中,錯(cuò)誤的是___21__。 A.項(xiàng)目的關(guān)鍵既可以利用菜單或工具欄,也可以利用VFP命令 B.一個(gè)VFP窗口中,只能打開一個(gè)項(xiàng)目 C.在VFP窗口中,項(xiàng)目管理器可以折疊成工具欄形式 D.“連編”操作是針對(duì)項(xiàng)目而言的,該操作位于“項(xiàng)目”菜單欄 22.表(table)是存儲(chǔ)數(shù)據(jù)的容器。在下列有關(guān)VFP表的敘述中,錯(cuò)誤的是__22__。 A.每個(gè)表最多只能包含200多個(gè)字段 B.新建一個(gè)表后,一般會(huì)生成1~3個(gè)文件 C.自由表與數(shù)據(jù)庫表在數(shù)據(jù)存儲(chǔ)功能上是相同的,但在數(shù)據(jù)管理與控制功能上有差別 D.自由表添加到數(shù)據(jù)庫中變成數(shù)據(jù)庫表,而數(shù)據(jù)庫表移出數(shù)據(jù)庫則變成自由表 **此題答案基本都正確,D選項(xiàng)考慮表移出數(shù)據(jù)庫有可能被刪除,所以勉強(qiáng)選D 23.在VFP中,對(duì)于數(shù)據(jù)庫表來說,如果將其移出數(shù)據(jù)庫(變成自由表),則該表原設(shè)置或創(chuàng)建的__23__仍然有效。 A.候選索引 B.長(zhǎng)表名 C.記錄有效性規(guī)則 D.觸發(fā)器 24.在創(chuàng)建表索引時(shí),索引表達(dá)式可以包含表的一個(gè)或多個(gè)字段。在下列字段類型中。不能直接選作索引表達(dá)式的是___24__。 A.貨幣型 B.日期時(shí)間型 C.邏輯型 D.備注型 25.在VFP中,如果指定兩個(gè)表的參照完整性的刪除規(guī)則為“級(jí)聯(lián)”,則當(dāng)刪除父表中的記錄時(shí),____25____。 A.系統(tǒng)自動(dòng)備份父表中被刪除記錄到一個(gè)新表中 B.若子表中有相關(guān)記錄,則禁止刪除父表中記錄 C.自動(dòng)刪除子表中所有相關(guān)記錄 D.不作參照完整性檢查,刪除父表記錄與子表無關(guān) 26.在下列有關(guān)VFP表達(dá)式中,語法上錯(cuò)誤的是___26___。 A.DATETIME()+1000 B.DATE()-1000 C.DATETIME()-DATE() D.DTOC(DATE())-DTOC(DATETIME()) 27.運(yùn)行以下程序后,VFP主窗口顯示的結(jié)果是___27____。 CLEAR N=0 DO WHILE n〈10 IF INT(n/2)=n/2 ?”W” ENDIF ?? “Fox” n=n+1 ENDDO A.顯示5行,內(nèi)容均為WFoxFox B.顯示5行,內(nèi)容均為WfoxWFox C.顯示4行,內(nèi)容均為WFoxFox D.顯示4行,內(nèi)容均為FoxFoxW 28.菜單(menu)和工具欄(toolbar)是Windows環(huán)境下各種應(yīng)用程序中最常用的操作對(duì)象。在下列有關(guān)VFP菜單與工具欄的敘述中,錯(cuò)誤的是___28__。 A.VFP菜單是一個(gè)動(dòng)態(tài)的菜單系統(tǒng),當(dāng)用戶針對(duì)不同類型的文件操作時(shí)系統(tǒng)自動(dòng)地調(diào)整菜單欄 B.用戶打開/關(guān)閉不同的設(shè)計(jì)器(如數(shù)據(jù)庫設(shè)計(jì)器、表單設(shè)計(jì)器、報(bào)表設(shè)計(jì)器等),在默認(rèn)情況下系統(tǒng)會(huì)自動(dòng)地打開/關(guān)閉相應(yīng)的工具欄 C.在VFP窗口中,可以關(guān)閉所有的菜單欄或工具欄 D.利用菜單命令、工具欄按鈕或項(xiàng)目管理器操作創(chuàng)建一個(gè)文件,所實(shí)現(xiàn)的功能完全相同 29.在下列有關(guān)VFP的類、對(duì)象和事件的敘述中,錯(cuò)誤的是___29___。 A.對(duì)象是基于某種類所創(chuàng)建的實(shí)例,它繼承了類的屬性、事件和方法 B.基類的最小事件集包含Click事件、Load事件和Destory事件 C.事件的觸發(fā)可以由用戶的行為產(chǎn)生,也可以由系統(tǒng)產(chǎn)生 D.用戶可以為對(duì)象添加新的屬性和方法,但不能添加新的事件 30.數(shù)據(jù)綁定型控件是指其(顯示的)內(nèi)容與表、視圖或查詢中的字段(或內(nèi)存變量)相關(guān)聯(lián)的控件。若某個(gè)控件被綁定到一個(gè)表的字段,移動(dòng)該表的記錄指針后,如果該字段的值發(fā)生變化,則該控件的___30____屬性值也隨之發(fā)生變化。 A.Name B.ControlSource C.Value D.Caption 二、填空題 (每空格1分,共30分,請(qǐng)用答題紙答題,不換行) 1.E-R圖是E-R模型的圖形表示法,它是表示概念數(shù)據(jù)模型的有力工具。在E-R模型中有3個(gè)基本的概念,即實(shí)體、聯(lián)系和___屬性 __,在E-R圖中它們分別用矩形框和橢圓行框來表示。 2.在VFP中,用戶可以利用命令來修改系統(tǒng)的操作環(huán)境(如默認(rèn)工作目錄等),也可以通過菜單命令打開__選項(xiàng)______對(duì)話框進(jìn)行設(shè)置。 3.在VFP中,與表操作相關(guān)的系統(tǒng)函數(shù)有多個(gè),例如EOF()、BOF()、USED()等。用于返回當(dāng)前選定工作區(qū)中已打開表的字段數(shù)目的函數(shù)是__FCOUNT()___。 4.目前用戶通常是在操作系統(tǒng)環(huán)境下(如在“我的電腦”或“資源管理器”窗口中)創(chuàng)建和刪除文件夾。在VFP中,也可以使用MD命令和___RD_____命令來創(chuàng)建新文件夾和刪除已建文件夾。 5.下列程序段中的后三條命令,可用一條功能等價(jià)的命令來實(shí)現(xiàn),這條命令是___USE cj IN 0____。 SET TALK OFF SELECT 1 USE xs SELECT 0 USE cj SELECT xs 6.利用DBSETPROP()函數(shù),可以設(shè)置當(dāng)前數(shù)據(jù)庫的屬性,或設(shè)置當(dāng)前數(shù)據(jù)庫中表的字段或視圖的有關(guān)屬性。例如,要設(shè)置當(dāng)前數(shù)據(jù)庫中JS表的gh字段的標(biāo)題屬性,可以使用函數(shù): DBSETRPOP(“_JS.gh_”,”FIELD”,”Caption”,”工號(hào)”) 7.在VFP中,系統(tǒng)規(guī)定:除了自由表的字段名、表的索引標(biāo)識(shí)名至多只能有___10____個(gè)字符以外,其余名稱的長(zhǎng)度可以長(zhǎng)達(dá)100多個(gè)字符。 8.用戶可以使用VFP的菜單設(shè)置器設(shè)計(jì)菜單。創(chuàng)建一個(gè)菜單后,系統(tǒng)會(huì)生成兩個(gè)文件:.mnx和.mnt。.mnx菜單文件不能直接運(yùn)行,當(dāng)選中.mnx文件并且執(zhí)行“運(yùn)行”操作時(shí),系統(tǒng)首先自動(dòng)生成兩個(gè)文件:.mpx和__.mpr___,然后運(yùn)行它。 9.在VFP中,__存儲(chǔ)過程___是保存在數(shù)據(jù)庫中的過程代碼,它由一系列用戶自定義函數(shù)(過程)或在創(chuàng)建表之間參照完整性規(guī)則時(shí)系統(tǒng)創(chuàng)建的函數(shù)(過程)組成。 10.已知課程(KC)表中含課程代號(hào)(kcdh)、課程名(kcm)等字段,成績(jī)(CJ)表中含課程代號(hào)(kcdh)、成績(jī)(cj)等字段。完善下列SQL命令以查詢每門課的選課人數(shù)、優(yōu)秀人數(shù)、不及格人數(shù)。 SELECT Kc.kcdh, Kc.kcm, __COUNT(*)_____AS 選課人數(shù),; SUM(IIF(cj.cj>=90,1,0)) AS 優(yōu)秀人數(shù),SUM(IIF(cj.cj<60,1,0)) AS 不及格人數(shù); FROM sjk!kc INNER JOIN sjk!cj; ON Kc.kcdh=Cj.kcdh; GROUP BY___KC.kcdh____ 11.在VFP中創(chuàng)建多表查詢時(shí),表之間的四種聯(lián)接類型分別為內(nèi)部聯(lián)接、左聯(lián)接、右聯(lián)接和__完全聯(lián)接____。 12. 某圖書資料室的:“圖書管理”數(shù)據(jù)庫中有三張表:TS.dbf(圖書表)、DZ.dbf(讀者表)與JY.dbf(借閱表),表結(jié)構(gòu)如下:
完善下列語句以查詢?cè)搱D書資料室各出版單位出版圖書的館藏總冊(cè)數(shù)、總金額、平均單價(jià): SELECT 出版單位,SUM(館藏冊(cè)數(shù)) AS 館藏總冊(cè)數(shù), ; SUM(館藏冊(cè)數(shù)*單價(jià)) AS 總金額,__AVG(TS.單價(jià))___AS 平均單價(jià) FROM 圖書館里!TS GROUP BY 出版單位 完善下列語句以查詢借閱次數(shù)最多的前10名讀者的借書證號(hào)、姓名、單位和借閱次數(shù): SELECT__TOP 10__JY.借書證號(hào),DZ.姓名,DZ.單位,COUNT(*) AS 借閱次數(shù), ; FROM 圖書館里!DZ INNER JOIN 圖書管理!JY; ON DZ.借書證號(hào)= JY.借書證號(hào); GROUP BY 1 ; ORDER BY __4 ___ 13.類(class)是面向?qū)ο蟪绦蛟O(shè)計(jì)的核心。類具有許多特點(diǎn),如多態(tài)性、抽象性、封裝性、繼承性等,其中__多態(tài)性___是指一些關(guān)聯(lián)的類包含同名的方法程序,但方法程序的內(nèi)容可以不同。 14.設(shè)Labell 是某表單上的一個(gè)標(biāo)簽控件,則利用Labell控件顯示系統(tǒng)日期和時(shí)間,可以在該表單的Init事件代碼中使用語句THISFORM. __Label1.Caption___=TTOC(DATETIME())來實(shí)現(xiàn)。 15.學(xué)生注冊(cè)表單(forml)如圖1所示 ,該表單中含有3個(gè)標(biāo)簽、2個(gè)文本框(Text1和Text2),1個(gè)命令按鈕組(包含3個(gè)按鈕),其功能是對(duì)學(xué)生信息進(jìn)行注冊(cè): 1)如在學(xué)生注冊(cè)(ZC)表中已存在某學(xué)生的記錄(學(xué)號(hào)已經(jīng)存在),說明該學(xué)生已注冊(cè)過;若沒有,則進(jìn)行注冊(cè),即將該學(xué)生信息存入學(xué)生注冊(cè)表; 2)進(jìn)行注冊(cè)時(shí)(即按“確認(rèn)”按鈕時(shí)),學(xué)生和姓名不能為空。
圖1 學(xué)生注冊(cè)表單 表單是一個(gè)容器型控件,其集合屬性為Controls,計(jì)數(shù)屬性為ControlCount。此表單的ControlCount 屬性值為 6 。 根據(jù)表單的功能要求,完善下列命令按鈕組的Click事件代碼: ch1=ALLT(THISFORM.Text1.Value) ch2=ALLT(THISFORM.Text2.Value) DO CASE CASE THIS.Value =1 IF LEN(ch1)=0 OR LEN(ch2)=0 =MESSAGEBOX (“學(xué)號(hào)、姓名必須填寫!”) ELSE Locate for zc.xh=ch1 IF !EOF() =MESSAGEBOX (“此學(xué)生已注冊(cè),請(qǐng)重新輸入!”) ESLE INSERT INTO zc(xh, xm) Values(ch1, ch2) ENDIF ENDIF CASE THIS.Value=2 THISFORM.Text1.Value=“” THISFORM.Text2.Value=“” Thisform.text1.setfocus_ && 使Text1 文本框得到輸入焦點(diǎn) CASE THIS.Value=3 THISFORM.RELEASE ENDCASE 16.在VFP中,利用可是化開發(fā)工具(表單設(shè)計(jì)器)創(chuàng)建表單和對(duì)象。通過對(duì)對(duì)象屬性的修改、方法程序的調(diào)用來處理對(duì)象。相對(duì)引用對(duì)象時(shí),所設(shè)計(jì)的關(guān)鍵字THIS、THISFORM、THISFORMSET只能在方法程序或_事件__處理代碼中使用 17.對(duì)于圖2所示的表單,當(dāng)表單運(yùn)行時(shí),利用微調(diào)框(Spinnerl)Curvature來調(diào)節(jié)形狀控件(Shapel)的Curvature屬性,使形狀控件的角的曲率發(fā)生變化。根據(jù)Curvature屬性的取值范圍的限定,微調(diào)框(Spinner1)的SpinnerLowValue屬性值和SpinnerHighvalue屬性值應(yīng)該分別為0和 99 。當(dāng)形狀控件(Shape1)為橢圓時(shí),微調(diào)框(Spinner1)的Value值應(yīng)為 99 . 圖2 形狀控件的曲率實(shí)驗(yàn) 18 .完善下列程序,以顯示7~1000以內(nèi)能被7整除且含有數(shù)字5的所有證書(例如35、 56、 105等)。 FOR n=7 TO 1000 step 7 ch=ALLT(STR(n)) IF "5"$ch ?n ENDIF ENDFOR 19.一個(gè)應(yīng)用程序的模型可以設(shè)計(jì)得很合理 很整潔,代碼很精致,解決問題的方法和算法很巧妙但這些對(duì)用戶來說是很透明的,用戶看不到、也無須知道,用戶看到的是應(yīng)用系統(tǒng)提供的用戶界面。從利用VFP開發(fā)應(yīng)用程序來說,創(chuàng)建的菜單 表單 文件是用作應(yīng)用程序的主要界面。 20.運(yùn)行下列程序后,顯示的運(yùn)行結(jié)果的第二行為 11*11=121 SET TALK OFF CLEAR Y="11111111" FOR I=1 TO LEN(y) X=LEFT(y, i) ?SPACE(20-i*2)+x+"*"+x+"="+ALLT(STR(VAL(x)*VAL(x))) ENDFOR 21.報(bào)表類型主要是指報(bào)表的布局類型.在VFP中,報(bào)表的常規(guī)類型主要有報(bào)列表.行報(bào)表,一對(duì)多報(bào)表和 多欄報(bào)表 . 22 .使用LOCAL,PRIVATE和PUBLIC命令可以指定內(nèi)存變量的作用域。在VFP命令窗口中創(chuàng)建的任何內(nèi)存變量均為 全局 變量. 23.將第2~4個(gè)字符為”yan”的所有內(nèi)存變量保存mVar內(nèi)存變量文件中,可以使用命令: SAVE TO mVar ALL LIKE ?yan* 24.表格(gird)控件是一個(gè)按行和列顯示數(shù)據(jù)的容器對(duì)象,其外觀與表的瀏覽窗口相似,表格最常見的用途之一是顯示一對(duì)多關(guān)系中的的子表。在默認(rèn)情況下,表格控件包含列控件,列空件又包含列標(biāo)頭控件和 文本框 控件。 |
||||||||||||||||||||||||||||||||||||||||||||||||||