2016年計(jì)算機(jī)二級VF備考練習(xí)題及參考答案(2)

字號:


    1[簡答題]在考生文件夾下完成如下操作: 1.打開表單one,如圖1所示,通過設(shè)置控件的相關(guān)屬性,使得表單開始運(yùn)行時(shí)焦點(diǎn)在“打開”命令按鈕上,并且接下來的焦點(diǎn)的移動(dòng)順序是“關(guān)閉”和“退出”。 2.打開表單tw0,如圖2所示,使用“布局”工具欄的“頂邊對齊”按鈕將表單中的3個(gè)命令按鈕控件設(shè)置成頂邊對齊,如圖3所示。 3.創(chuàng)建一個(gè)名為“分組情況表”的自由表(使用SQL語句),其中有組號和組名兩個(gè)字段,組號占兩個(gè)字符,組名占10個(gè)字符。將該SQL語句存儲在three.pr9中。 4.使用SQL語句插入一條記錄到“分組情況表”中,插入的記錄中,組號是“01”,組名是“通俗唱法”。將該SQL語句存儲在four.pr9中。
    在考生文件夾下完成如下操作:
    1.打開表單one,如圖1所示,通過設(shè)置控件的相關(guān)屬性,使得表單開始運(yùn)行時(shí)焦點(diǎn)在“打開”命令按鈕上,并且接下來的焦點(diǎn)的移動(dòng)順序是“關(guān)閉”和“退出”。
    

    2.打開表單tw0,如圖2所示,使用“布局”工具欄的“頂邊對齊”按鈕將表單中的3個(gè)命令按鈕控件設(shè)置成頂邊對齊,如圖3所示。
    

    3.創(chuàng)建一個(gè)名為“分組情況表”的自由表(使用SQL語句),其中有組號和組名兩個(gè)字段,組號占兩個(gè)字符,組名占10個(gè)字符。將該SQL語句存儲在three.pr9中。
    4.使用SQL語句插入一條記錄到“分組情況表”中,插入的記錄中,組號是“01”,組名是“通俗唱法”。將該SQL語句存儲在four.pr9中。
    參考解析:
    【考點(diǎn)分析】本大題主要考查的知識點(diǎn)是:表單控件中相關(guān)屬性的修改、表單中“布局”工具欄的使用以及SQL語句的使用。
    【解題思路】控件的TabIndex屬性用于指定各控件的Tab鍵次序,即控件焦點(diǎn)的移動(dòng)順序;在打開表單的情況下,通過“顯示”菜單中的“布局工具欄”命令可以打開或關(guān)閉“布局”工具欄。
    【操作步驟】
    (1)打開表單0ne,通過屬性窗口設(shè)置3個(gè)命令按鈕的焦點(diǎn)移動(dòng)順序,如圖3.111所示。
    

    (2)打開表單tw0,按下Shift鍵的同時(shí)選中3個(gè)命令按鈕控件,通過“布局”工具欄設(shè)置其對齊方式,如圖3.112所示。
    

    (3)新建一個(gè)程序,輸入下列命令“createtable分組情況表(組號c(2),組名C(10))”,將該程序保存為“three.pr9”并運(yùn)行,如圖3.113所示。
    

    (4)方法同上建立程序four.pr9,輸入命令“INSERTIN-
    T0分組情況表VALUES(”01”,”通俗唱法”)”。
    【易錯(cuò)提示】在第2小題中,只能通過“布局”工具欄實(shí)
    現(xiàn)命令按鈕對齊方式的設(shè)置,否則將不能正確得分。
    【舉一反三】第1題的題型還出現(xiàn)于:第l2套一(1)、第12套-(2)、第88套一(4)、第13套一(2)。第2題的題型還出現(xiàn)于:第l2套一(1)、第l2套一(2)、第l3套一(1)、第88套--(4)。第3題的題型還出現(xiàn)于·第l6套一(1)第4題
    的題型還出現(xiàn)于:第6套一(1)、第89套一(3)、第l7套一(3)、第97套一(2)。.
    2[簡答題]在考生文件夾下完成下列操作:
    (1)建立一個(gè)文件名和表單名均為oneform的表單文件,表單中包括兩個(gè)標(biāo)簽控件(1.abell和1.abeL2)、一個(gè)選項(xiàng)組控件(Optiongroupl)、一個(gè)組合框控件(Comb01)和兩個(gè)命令按鈕控件(Commandl和Conuvand2),I_abe11和LabeL2的標(biāo)題分別為“系名”和“計(jì)算內(nèi)容”,選項(xiàng)組中有兩個(gè)選項(xiàng)按鈕0ptionl和Option2,標(biāo)題分別為“平均工資”和“總工資”,Commandl和Conunand2的標(biāo)題分別為“生成”和“退出”。如下圖所示。
    

    (2)將“學(xué)院表”添加到表單的數(shù)據(jù)環(huán)境中,然后手工設(shè)
    置組合框(Comb01)的RowSoureeType屬性為6、RowSource屬性為“學(xué)院表.系名”,程序開始運(yùn)行時(shí),組合框中可供選擇的是“學(xué)院表”中的所有“系名”。
    (3)為“生成”命令按鈕編寫程序代碼。程序的功能是:表單運(yùn)行時(shí),根據(jù)組合框和選項(xiàng)組中選定的“系名”和“計(jì)算內(nèi)容”,將相應(yīng)“系”的“平均工資”或“總工資”存入自由表salary中,表中包括“系名”、“系號”以及“平均工資”或“總工資”3個(gè)字段。
    (4)為“退出”命令按鈕編寫程序代碼,程序的功能是關(guān)閉并釋放表單。
    (5)運(yùn)行表單,在選項(xiàng)組中選擇“平均工資”,在組合框中選擇“信息管理”,單擊“生成”命令按鈕。后,單擊“退出”命令按鈕結(jié)束。
    參考解析:
    【考點(diǎn)分析】本大題主要考查的知識點(diǎn)是:表單的組合框控件、選項(xiàng)組的屬性設(shè)置以及循環(huán)結(jié)構(gòu)程序設(shè)計(jì)。
    【解題思路】建立表單,添加控件,修改各控件的屬性,完成命令按鈕的代碼。
    【操作步驟】
    步驟l:打開college數(shù)據(jù)庫。在命令窗口輸入“CreateFormoneform”,按下回車鍵新建一個(gè)表單。按題目要求向表單添加控件.并修改各控件的屬性。
    

    步驟2:右擊表單空白處,選擇“數(shù)據(jù)環(huán)境”命令,將“學(xué)院表”和“教師表”添加到數(shù)據(jù)環(huán)境設(shè)計(jì)器中。
    雙擊命令按鈕,編寫兩個(gè)命令按鈕的Click事件代碼。
    

    SELECT學(xué)院表.系名,學(xué)院表.系號,avg(教師表.工資)AS平均工資;
    &&指定字段來源
    FROM學(xué)院表,教師表;
    &&設(shè)置查詢條件
    WHERE學(xué)院表.系號=教師表.系號;AND學(xué)院表.系名=x;
    &&GROUPBY子句用于按系號分組GROUPBY學(xué)院表.系號;&&將查詢結(jié)果存儲到salary.dbf中INTOTABLEsalary.dbf
    ELSE&&選擇查詢字段,通過AS短語指定顯示字段,sum()函數(shù)用于求和
    SELECT學(xué)院表.系名,學(xué)院表.系號,sum(教師表.工資)AS總工資;
    &&指定字段來源
    FROM學(xué)院表,教師表;
    &&設(shè)置查詢條件
    WHERE學(xué)院表.系號=教師表.系號;AND學(xué)院表.系名=x;
    &&GROUPBY子句用于按系號分組GROUPBY學(xué)院表.系號,&&將查詢結(jié)果存儲到salary.dbf中
    INTOTABLEsalary.dbf
    ENDIF
    

    步驟3:保存表單,并按題目要求運(yùn)行,如圖3.96所示。
    

    【易錯(cuò)提示】本題需注意組合框控件和選項(xiàng)組控件的設(shè)置。
    3[單選題] 在滿足實(shí)體完整性約束的條件下(  )。
    A.一個(gè)關(guān)系中應(yīng)該有一個(gè)或多個(gè)候選關(guān)鍵字
    B.一個(gè)關(guān)系中只能有一個(gè)候選關(guān)鍵字
    C.一個(gè)關(guān)系中必須有多個(gè)候選關(guān)鍵字
    D.一個(gè)關(guān)系中可以沒有候選關(guān)鍵字
    參考答案:A
    參考解析:實(shí)體完整性約束要求關(guān)系的主鍵中屬性值不能為空值,所以選擇A)。
    4[單選題] 命令SELECT 0的功能是(  )。
    A.選擇編號小的未使用工作區(qū)
    B.選擇0號工作區(qū)
    C.關(guān)閉當(dāng)前工作區(qū)中的表
    D.選擇當(dāng)前工作區(qū)
    參考答案:A
    參考解析:在多工作區(qū)中,指定工作區(qū)的命令是:SELECT nWorkArea | cTableAlias,其中參數(shù)nWorkArea是一個(gè)大于等于0的數(shù)字,用于指定工作區(qū)號,小的工作區(qū)號是1,撮大的工作區(qū)號是32767,如果這里指定為0,則選擇編號小的可用工作區(qū)。
    )5[單選題] 以下不屬于SQL數(shù)據(jù)操作命令的是( )。
    A.MODIFYB.INSERTC.UPDATED.DELETE
    參考答案:A
    參考解析:SQL可以完成數(shù)據(jù)庫操作要求的所有功能,包括數(shù)據(jù)查詢、數(shù)據(jù)操作、數(shù)據(jù)定義和數(shù)據(jù)控制,是-種全能的數(shù)據(jù)庫語言。其中,數(shù)據(jù)操作功能所對應(yīng)的命令為IN-SERT、UPDATE、DELETE。
    6[單選題] 在Visual FoxPro中,命令“INDEX ON姓名TO xm”的功能是(  )。
    A.建立一個(gè)名為xm.idx的索引文件
    B.建立一個(gè)名為xm.cdx的索引文件
    C.在結(jié)構(gòu)索引文件中建立一個(gè)名為xm的索引
    D.在非結(jié)構(gòu)索引文件中建立一個(gè)名為xm的索引
    參考答案:A
    參考解析:INDEX ON命令用于在程序中建立索引,執(zhí)行命令“INDEX ON姓名TO xm”之后可建立一個(gè)名為xm的索引文件,索引文件的擴(kuò)展名為.idx,故本題A選項(xiàng)正確。
    7[單選題] 查詢選修C2課程號的學(xué)生姓名,下列SQL語句中錯(cuò)誤的是( )。
    A.SELECT姓名FROM S WHERE EXISTS(SELECT*FROM SC WHERE學(xué)號=S.學(xué)號AND課程號=ˋC2ˊ)B.SELECT姓名FROM S WHERE學(xué)號IN(SELECT學(xué)號FROM SC WHERE課程號=ˋC2ˊ)C.SELECT姓名FROM S JOIN SC ON S.學(xué)號=SC.學(xué)號WHERE課程號=ˋC2ˊD.SELECT姓名FROM S WHERE學(xué)號=(SELECT學(xué)號FROM SC WHERE課程號=ˋC2ˊ)
    參考答案:D
    參考解析:本題A)選項(xiàng)為使用量詞和謂語的查詢,有兩種格式:格式l:<表達(dá)式><比較運(yùn)算符>[ANY|ALL|SOME](子查詢)。格式2:[NOT]EXISTS(子查詢)。C)選項(xiàng)為超鏈接查詢,B)和D)選項(xiàng)為簡單查詢,SELECT查詢的基本格式為:SELECT<字段名表>FROM<表名表>WHERE<條件>GROUP BY<字段>HAVING<條件>ORDERBY<字段>INTO DBFITABLE l。D)選項(xiàng)格式錯(cuò)誤。
    8[單選題] 下列程序段執(zhí)行時(shí)在屏幕上顯示的結(jié)果是( )。
    DIME a(6)
    a(1)=l
    a(2)=1
    FOR i=3 TO 6、
    a(i)=a(i-1)+a(i-2)
    NEXT
    ?a(6)
    A.5B.6C.7 D.8
    參考答案:D
    參考解析:For循環(huán)中的語句a(i)=a(i-1)+a(-2)是指定每個(gè)元素的值為它的前兩項(xiàng)的和,這個(gè)元素必須只能從第3項(xiàng)開始指定。由于前兩項(xiàng)分別是l、1,所以數(shù)組a的六個(gè)元素分別是l,l,2,3,5,8;元素a(6)的值是8。
    9[簡答題]在考生目錄下完成下列操作:
    (1)從數(shù)據(jù)庫stock中移去表stock_fk(不是刪除)。
    (2)將自由表stock_name添加到數(shù)據(jù)庫中。
    (3)為表stock_sl建立一個(gè)主索引,索引名和索引表達(dá)式均為“股票代碼”。
    (4)為stock_name表的股票代碼字段設(shè)置有效性規(guī)則,“規(guī)則”是:left(股票代碼,1)=“6”,錯(cuò)誤提示信息是“股票代碼的第一位必須是6” 。
    參考解析:
    [操作步驟]
    (1)單擊常用工具欄中的“打開”按鈕,打開數(shù)據(jù)庫stock。在命令窗口中輸入:REMOVE TABLE stock_fk。如果顯示提示信息框,那么單擊“是”按鈕。
    (2)在“數(shù)據(jù)庫設(shè)計(jì)器-stock”中單擊鼠標(biāo)右鍵,顯示右擊菜單,選擇“添加表”命令,并選擇相應(yīng)的表文件即可(stock-name)o
    (3)在“數(shù)據(jù)庫設(shè)計(jì)器一stock”中,選擇表“stock_sl”并單擊鼠標(biāo)右鍵,選擇“修改”命令,在屏幕上顯示“表設(shè)計(jì)器一stock_sl.dbf'’窗口,單擊“索引”選項(xiàng)卡,然后輸入索引名“股票代碼”,選擇類型為“主索引”,表達(dá)式為“股票代碼”,后單擊“確定”按鈕,再單擊“是(Y)”就可以建立主索引了。
    (4)步驟1:在“數(shù)據(jù)庫設(shè)計(jì)器-stock”中,選擇表“stock_naule”并單擊鼠標(biāo)右鍵,選擇“修改”命令項(xiàng)。
    步驟2:在“表設(shè)計(jì)器-stock_nan1e.dbf”中,選擇“股票代碼”字段,在“字段有效性”組的“規(guī)則”中輸入“LEFT(股票代碼,1)=〝6〞”,在“信息”中輸入“股票代碼的第一位必須是6”,后單擊“確定”按鈕即可。
    10[簡答題]在考生文件夾下完成下列操作:
    (1)建立一個(gè)表單名和文件名均為my form的表單,如下圖所示。表單的標(biāo)題為“教師情況”,表單中有兩個(gè)命令按鈕(Command1和Command2),兩個(gè)復(fù)選框(Check1和Check2)和兩個(gè)單選按鈕(Option1和Option2)。Command1和Command2的標(biāo)題分別是“生成表”和“退出”,Check1和Check2的標(biāo)題分別是“系名”和“工資”,Option1和Option2的標(biāo)題分別是“按職工號升序’’和“按職工號降序”。
    

    (2)為“生成表”命令按鈕編寫click事件代碼,其功能根據(jù)單運(yùn)行時(shí)復(fù)選框指定的字段和單選鈕指定的排序方式生成新的自由表。如果兩個(gè)復(fù)選框都被選中,生成的自由表命名為two.dbf,two.dbf的字段包括職工號、姓名、系名、工資和課程號;如果只有“系名”復(fù)選框被選中,生成的自由表命名為one_x.dbf,one_x.dbf的字段包括職工號、姓名、系名和課程號;如果只有“工資”復(fù)選框被選中,生成的自由表命名為one_xx.dbf,one_xx.dbf的字段包括職工號、姓名、工資和課程號。
    (3)運(yùn)行表單,并分別執(zhí)行如下操作:
    ①選中兩個(gè)復(fù)選框和“按職工號升序”單選鈕,單擊“生成表,,命令按鈕。
    ②只選中“系名”復(fù)選框和“按職工號降序”單選鈕,單擊“生成表”命令按鈕。
    ③只選中“工資”復(fù)選框和“按職工號降序”單選鈕,單擊“生成表”命令按鈕。
    參考解析:
    [操作步驟]
    步驟1:單擊工具欄中的“新建”按鈕,新建-個(gè)表單文件,通過表單控件工具欄向表單中添加兩個(gè)復(fù)選框、-個(gè)選項(xiàng)組和兩個(gè)命令按鈕,并將“教師表”和“學(xué)院表”添加到表單的數(shù)據(jù)環(huán)境中。
    步驟2:設(shè)置表單的Name屬性為m#orm,Caption屬性為“教師情況”;設(shè)置兩個(gè)命令按鈕的Caption屬性分別為。生成表”和“退出”;設(shè)置兩個(gè)復(fù)選框的Caption屬性分別為。系名”和“工資”;兩個(gè)單選按鈕的Caption屬性分別為“按職工號升序”和“按職工號降序”。
    步驟3:雙擊“生成表”按鈕,為“生成表”命令按鈕編寫
    Click"事件代碼。
    *****“生成表”按鈕的Click事件代碼*****
    a=ThisForm.Checkl.Value
    b=ThisForm.Cheek2.Value
    C=ThisFafm.Olptiongroupp1.Option1.Value
    d=TlaisForm.0ptiongroup1.option2.Value
    if a=l and b=l
    if c=l
    select職工號。姓名,系名,工資,課程號from教師表,
    學(xué)院表;
    Where教師表.系號=學(xué)院表.系號;
    order by職工號;
    into tablevtwo.dbf
    else
    if d=1
    sdect職工號,姓名,系名,工資,課程號from教
    師表,學(xué)院表;
    where教師表.系號=學(xué)院表.系號;
    order by職工號desc;
    曲inw n1ldC two.dbf
    endif
    endif
    endif
    if a=l andb=0
    ifc=l
    select職工號,姓名,系名,課程號from教師表,掣
    院表;
    whem教師表.系號=學(xué)院表.系號;
    order by職工號;
    into table one_x.dbf
    else
    ifd=l
    select職工號,姓名,系名,課程號from教師表,
    學(xué)院表;
    where教師表.系號=學(xué)院表.系號;
    order by職工號desc;
    into table one.x.dbf
    endif
    endif
    endif
    if a=O and b=1
    ife=1
    ∞leet職工號,姓名,工資,課程號from教師表,掣
    院表;
    where教師表.系號=學(xué)院表.系號;
    order by職工號;
    into talde olle_xx.dbf
    else
    if d=1
    select職工號,姓名,工資,課程號from教師表,
    學(xué)院表:
    where教師表.系號=學(xué)院表.系號;
    order by職工號desc;
    into table one xx.dbf
    endif
    endif
    cndif
    **********************
    步驟4:保存表單名為myform,按題目要求運(yùn)行表單并執(zhí)行相關(guān)操作。