![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
江蘇省VFP2005 年(秋)上機(jī)(1) |
|
江蘇省高等學(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數(shù)據(jù)庫(kù)中TS表: (1) 為T(mén)S表設(shè)置長(zhǎng)表名:圖書(shū)檔案表。 (2) 添加一備注型字段,字段名為summary,并設(shè)置其標(biāo)題為“內(nèi)容概要”。 (3) 設(shè)置分類(lèi)號(hào)(flh)字段的有關(guān)屬性,使該字段中輸入的字母均為大寫(xiě)字母。 (4) 創(chuàng)建一個(gè)普通索引abcd,要求以分類(lèi)號(hào)(flh)為 第一索引關(guān)鍵字、書(shū)名(sm)為第二索引關(guān)鍵字排序。 (5) 設(shè)置價(jià)格(jg)字段的有效性規(guī)則和有效性說(shuō)明信息,要求:其值不能小于1。 (6) 修改作者(zz)字段的值,要求在原作者名后加漢字“等”。例如,第一條記錄的作者由“路由”改為“路由等”。 2. 在項(xiàng)目中,將FF表單設(shè)置為“排除”狀態(tài)。 3. XS表和CJ表已存在以學(xué)號(hào)(xh)字段為索引表達(dá)式的主索引xsxh和普通索引cjxh。以XS表為主表,CJ表為子表按xh建立永久關(guān)系,并根據(jù)以下要求設(shè)置參照完整性規(guī)則:在CJ表中添加記錄時(shí),若XS表中沒(méi)有相對(duì)應(yīng)的記錄(xh字段的值),則禁止添加記錄。 二、 設(shè)計(jì)查詢(xún)(8分) 在TEST項(xiàng)目中已經(jīng)存在查詢(xún)chaxun,已知在SJK的學(xué)生(XS)表中含有系代號(hào)(xdh)、學(xué)號(hào)(xh)、姓名(xm)等字段;成績(jī)(CJ)表中含有學(xué)號(hào)(xh)、課程代號(hào)(kcdh)、成績(jī)(cj)等字段。按如下要求修改查詢(xún): 基于XS表和CJ表查詢(xún)“劉玉敏”同學(xué)所在系的每位同學(xué)的平均成績(jī),輸出xdh、xh、xm、平均成績(jī),查詢(xún)結(jié)果按姓名排序。(提示:篩選條件中使用SELECT xdh FROM xs WHERE xm=‘劉玉敏’;查詢(xún)保存并關(guān)閉設(shè)計(jì)器,可能無(wú)法再次在設(shè)計(jì)器中打開(kāi),只能在編輯窗口中修改該查詢(xún)的SELECT-SQL語(yǔ)句。) 三、 設(shè)計(jì)菜單(5分) 已知項(xiàng)目TEST中已存在菜單menu,利用菜單設(shè)計(jì)器,按如下要求修改菜單。 1、 按圖1所示要求為“表操作”菜單欄下的“添加記錄”菜單項(xiàng)增加子菜單,為“表操作”菜單欄下的各菜單項(xiàng)設(shè)置分組線(xiàn); 2、 在“文件”菜單欄下插入VFP系統(tǒng)菜單項(xiàng)“退出”; 3、 為“數(shù)據(jù)查詢(xún)”菜單欄下的“課程”菜單項(xiàng)編寫(xiě)SQL命令: 當(dāng)執(zhí)行該菜單時(shí),在瀏覽窗口顯示kcdh、kcm及平均成績(jī)(注:根據(jù)KC表及CJ表查詢(xún))。 四、 設(shè)計(jì)表單(10分) 圖1 項(xiàng)目管理器中已經(jīng)存在表單FA,該表單用來(lái)更改用戶(hù)的密碼。根據(jù)下列要求修改表單,設(shè)計(jì)時(shí)和運(yùn)行時(shí)的效果分別如圖2和圖3所示。 1、 將文本框控件txtUserName設(shè)置為禁用,并將其與全局內(nèi)存變量pUserName綁定; 2、 將“老密碼”文本框控件txtOldPwd的密碼占位符設(shè)置為字符“#”; 3、 添加一個(gè)“重置”命令按鈕(如圖3所示),對(duì)象名為cmdReset,標(biāo)題為“重置”; 4、 為“重置”按鈕設(shè)置Click事件代碼,要求清除“新密碼”和“新密碼重復(fù)”相應(yīng)文本框控件的文本值; 5、 已知在表單的Init事件代碼中已定義了全局變量pPassWord,用來(lái)存放已登錄用戶(hù)的密碼,完善“確定”按鈕的Click事 件代碼(提示:在原代碼中的空行處添加一條語(yǔ)句),要求:當(dāng)老密碼與全局變量pPassWord的值相等時(shí),檢查“新密碼”和“新 密碼重復(fù)”相應(yīng)文本框控件的文本值是否相等,如果相等,則將“新密碼”文本框txtNewPwd1的值賦給全局變量pPassWord。
圖2 設(shè)計(jì)時(shí) 圖3 運(yùn)行時(shí) 五、 程序改錯(cuò)題(5分) 下列程序的功能是找出1000之內(nèi)所有的完數(shù),并統(tǒng)計(jì)它們的個(gè)數(shù)。完數(shù)是指:數(shù)的各因子之和正好等于該數(shù)本身(例如6的因子是1、2、3,而1+2+3=6,所以6是完數(shù))。要求: (1) 項(xiàng)目中有一個(gè)程序文件Pcode,將下列程序輸入到其中并進(jìn)行修改; (2) 在修改程序時(shí),不允許修改程序的總體框架和算法,不允許增加或減少語(yǔ)句數(shù)目 CLEAR nCount=0 FOR n1=1 TO 1000 m=0 FOR n2=1 TO n1-1 IF n1/n2=MOD(n1,n2) m=m+n2 ENDIF ENDIF IF n1=m ?n1 nCount=nCount+1 ENDIF ENDFOR WAIT WINDOWS"完整的個(gè)數(shù)為"+STR(nCount)
|
|