★ 考試結(jié)束前
浙江省2013年1月高等教育自學考試
VFP程序設(shè)計試題
課程代碼:01963
請考生按規(guī)定用筆將所有試題的答案涂、寫在答題紙上。
選擇題部分
注意事項:
1. 答題前,考生務必將自己的考試課程名稱、姓名、準考證號用黑色字跡的簽字筆或鋼筆填寫在答題紙規(guī)定的位置上。
2. 每小題選出答案后,用2B鉛筆把答題紙上對應題目的答案標號涂黑。如需改動,用橡皮擦干凈后,再選涂其他答案標號。不能答在試題卷上。
一、單項選擇題(本大題共20小題,每小題2分,共40分)
在每小題列出的四個備選項中只有一個是符合題目要求的,請將其選出并將“答題紙”的相應代碼涂黑。錯涂、多涂或未涂均無分。
1.DBMS指的是
A.數(shù)據(jù)庫系統(tǒng) B.數(shù)據(jù)庫
C.數(shù)據(jù)庫管理系統(tǒng) D.數(shù)據(jù)庫表
2.關(guān)系代數(shù)中,根據(jù)某些條件對關(guān)系作水平分解,選擇符合條件的元組的專門關(guān)系運算是
A.選擇 B.投影
C.連接 D.除
3.在學生關(guān)系S(學號Sno,姓名Sname,性別Sex,年齡Sage)中,關(guān)系運算ПSname(S)的含義是
A.找出所有元組,并按姓名排序
B.找出所有姓名非空的元組
C.找出關(guān)系S在除了姓名以外的屬性的投影
D.找出關(guān)系S在姓名上的投影
4.若要打開表設(shè)計器,以下哪種做法能做到?
A.直接從“文件”(FILE)菜單中選擇“新建”,再選擇表
B.直接從“文件”(FILE)菜單中選擇“新建”,再選擇數(shù)據(jù)庫
C.在命令窗口中鍵入CREATE DATABASE命令
D.在命令窗口中鍵入CREATE TABLE命令
5.命令DIMENSION A[5]后,未賦初值,再輸入?A[3],將輸出的結(jié)果是
A.0 B.1
C..F. D.NULL
6.下面表示“1999年12月10日”的日期型常量書寫正確的是
A.“99/12/10” B.{^1999/12/10}
C.12-10-99 D.“1999-12-10”
7.以下兩表間關(guān)系屬于一對多關(guān)系的是
A.如果一個班只能有一個班長,而且一班長不能同時擔任其它班的班長,班級和班長兩個實體之間的關(guān)系
B.如果一個學生可以選修幾門課程,而且一課程可以同時被多個學生選修,學生和課程兩個實體之間的關(guān)系
C.如果一個職工只能屬于一個部門,而且一個部門里有多個職工,部門和職工兩個實體之間的關(guān)系
D.如果一個觀眾只能有一個座位,而且一座位只能屬于一個觀眾,觀眾和座位兩個實體之間的關(guān)系
8.當前記錄序號為2,將第4記錄設(shè)置為當前記錄的命令是
A.SKIP -4 B.SKIP+4
C.SKIP+2 D.SKIP-2
9.徹底刪除記錄數(shù)據(jù)可以分兩步來實現(xiàn),這兩步是
A.DELETE和ZAP B.PACK和RECALL
C.DELETE和PACK D.DELETE和RECALL
10.以下表操作函數(shù)中,用于檢測表的記錄個數(shù)的函數(shù)是
A.RECNO() B.RECCOUNT()
C.FOUND() D.FIELD()
11.表達式VAL(LEFT("654321",4))的結(jié)果是
A.654321 B.”654321”
C.6543 D.”6543”
12.下面哪個SQL命令可以用于修改表結(jié)構(gòu)
A.SELECT B.UPDATE
C.ALTER D.CREATE
13..DBC是 文件的擴展名。
A.數(shù)據(jù)表 B.視圖
C.數(shù)據(jù)庫 D.索引
14.使用命令I(lǐng)NDEX ON建立索引文件SKEY,要求先按姓名排序,姓名相同按年齡排序,命令是
A.INDEX ON姓名,年齡TO SKEY
B.INDEX ON年齡,姓名TO SKEY
C.INDEX ON姓名+STR(年齡)TO SKEY
D.INDEX ON STR(年齡)+姓名TO SKEY
15.以下功能哪個是VFP數(shù)據(jù)庫提供的數(shù)據(jù)字典不能做到的?
A.設(shè)置字段的輸入掩碼 B.建立字段有效性規(guī)則
C.對字段的注釋 D.建立視圖
16.運行表單FORM1的命令是
A.DO FORM1 B.DO FORM FORM1
C.RUN FORM1 D.RUN FORM FORM1
17.下面關(guān)于項目管理器描述錯誤的是
A.項目管理器是VFP應用程序開發(fā)過程中所有對象與數(shù)據(jù)的控制中心
B.項目管理器可以集成管理所有與開發(fā)應用程序有關(guān)的各類型文件
C.所有的文件建立都必須通過項目管理器來建立
D.項目管理器可以把應用程序的多個文件連編成一個.APP文件或.EXE文件
18.下面對象中,不屬于容器類的對象是
A.表單集 B.表單
C.命令按鈕 D.頁框
19.在表單form1下有標簽label1,若要將該標簽的標題改為“歡迎使用”,設(shè)置其屬性的代碼是
A.form1.caption=“歡迎使用”
B.thisform.label1.caption=“歡迎使用”
C.label1.caption=“歡迎使用”
D.label1.name=“歡迎使用”
20.有VFP語句:
USE STU
LIST FIELDS學號,姓名,年齡FOR 年齡>18.AND.LEFT(姓名,2)="劉",
與如上語句等價的SQL語句是
A.SELECT學號,姓名,年齡FROM STU FOR年齡>18 AND LEFT(姓名,2)="劉"
B.SELECT學號,姓名,年齡FROM STU WHERE年齡>18 AND LEFT(姓名,2)="劉"
C.SELECT FROM STU FIELDS學號,姓名,年齡WHERE 年齡>18 AND LEFT(姓名,2)="劉"
D.SELECT學號,姓名,年齡FROM STU WHERE LEFT(姓名,2)="劉"AND WHERE 年齡>18
二、判斷題(本大題共10小題,每小題1分,共10分)
判斷下列各題,在答題紙相應位置正確的涂“A”,錯誤的涂“B”。
21.一個關(guān)系中,列的次序是不能任意交換的。
22.在VFP中,建立數(shù)據(jù)庫表時,將成績字段值限制在0~100之間的這種約束屬于實體完整性約束。
23.主關(guān)鍵字是可以用來標識一條記錄的屬性(字段)。
24.可以通過VFP提供的向?qū)韯?chuàng)表單。
25.FOXPRO所基于的數(shù)據(jù)模型是層次模型。
26.表達式LEN(“04/25/99”)的運行結(jié)果是數(shù)值型值。
27.定義表結(jié)構(gòu)的字段必須明確的是:字段名、字段寬度、小數(shù)位數(shù)、索引。
28.SORT TO命令排序只能改變表的邏輯順序而不能改變表物理順序。
29.SET RELATION TO命令使用關(guān)鍵字表達式建立關(guān)聯(lián)時必須在該關(guān)鍵字表達式上建索引文件并打開。
30.字段級和記錄級有效性規(guī)則只在數(shù)據(jù)庫表中存在。
三、讀程序(本大題共5小題,每小題4分,共20分)
認真閱讀所給的程序,每段程序后面會根據(jù)上面的程序給出幾個小題,每小題列出的四個備選項中只有一個是符合題目要求的,請將其選出并將“答題紙”的相應代碼涂黑。錯涂、多涂或未涂均無分。
【程序(一)】
*Teacher表中有姓名、工齡、級別、津貼等字段,現(xiàn)要根據(jù)用戶輸入的姓名修改其級別和津
貼,程序如下:
CLEAR
USE Teacher
xm=SPACE(8)
ACCEPT “ 請輸入姓名: ” TO xm
LOCATE FOR alltrim(姓名)=alltrim(xm)
IF ______
DISPLAY
WAIT “ 以上是修改前的記錄 ”
ACCEPT “ 請輸入新的級別: ” TO jb
REPLACE 級別WITH VAL(jb)
IF jb>5
REPLACE 津貼 WITH 津貼*1.2
Endif
DISPLAY FIELDS 姓名、工齡、級別、津貼
WAIT “ 以上是修改后的記錄 ”
ELSE
WAIT “無此姓名!”
ENDIF
USE
RETURN
31.本程序中,橫線處IF語句的條件表達式為
A.FOUND() B.NOT EOF()
C.SEEK D.姓名=xm
32.若已經(jīng)對“姓名”字段建立索引,將程序中“LOCATE ALL FOR alltrim(姓名)=alltrim(xm)”,這句查詢命令改成seek命令,以下哪個選項是正確的?
A.seek “alltrim(xm)” B.seek alltrim(學號)=alltrim(xm)
C.seek alltrim(xm) D.seek “alltrim(學號)=alltrim(xm)”
33.如果被修改的員工,其程序運行前的級別是3級,津貼為2000元,程序運行后的將級別改為6級,則程序運行后該員工的津貼為
A.1600 B.2000
C.2400 D.3000
【程序(二)】
*STU表中有學號、姓名、班級、平均分、操行、獎學金等字段,現(xiàn)要修改獎學金字段的值,程序如下:
SET TALK OFF
USE STU
DO WHILE.NOT.EOF()
ZX=操行
AV=平均分
DO CASE
CASE AV>=75.00 .AND. AV<80.00 .AND. ZX=”良”
JXJ=”丙等”
CASE AV>=80.00 .AND. AV<90.00 .AND. (ZX=”優(yōu)” .OR.ZX=”良”)
JXJ=”乙等”
CASE AV>=90.00 .AND. ZX=”優(yōu)”
JXJ=”甲等”
OTHERWISE
JXJ=”無獎學金”
ENDCASE
REPLACE 獎學金 WITH JXJ
______
ENDDO
LIST
USE
SET TALK ON
34.程序中劃線處應填寫的代碼是
A.ENDIF B.SKIP
C.ENDDO D.IF FOUND()
35.若表中有一條記錄,該記錄的平均分為78,操行為”優(yōu)”,則程序運行后,該記錄的獎學金字段的值為
A.甲等 B.乙等
C.丙等 D.無獎學金
非選擇題部分
注意事項:
用黑色字跡的簽字筆或鋼筆將答案寫在答題紙上,不能答在試題卷上。
四、書寫VFP命令序列(本大題共5小題,每小題3分,共15分)
現(xiàn)有汽車修理表QCXL.DBF,內(nèi)容如下:
修理單號 |
車牌號 |
車主 |
修理項目 |
價格 |
優(yōu)惠折扣 |
100801002 |
京A33566 |
張強 |
補胎 |
100 |
0.90 |
100801003 |
浙B09099 |
李偉 |
噴漆 |
600 |
0.80 |
100801004 |
浙C03688 |
黃保齊 |
貼膜 |
1000 |
0.7 |
100801005 |
浙A65735 |
鞏良 |
換大燈 |
420 |
0.85 |
為了獲得以下信息,寫出下列各小題的VFP命令序列
36.顯示價格大于500的修理單;
37.查詢車牌號為“浙B09099”的車主;
38.價格升序排序,存貯在QL文件中;
39.為該表添加一字段:實付金額N(12,2),并為該字段計算值:價格*優(yōu)惠折扣;
40為該表添加一條新記錄,(“100806001”,“浙A84041”,“黃磊”,“換座椅”,600,0.8)。
五、SQL語言命令書寫(本大題共5小題,每小題3分,共15分)
設(shè)在某店鋪管理數(shù)據(jù)庫中有三個表
顧客表(顧客編號,顧客名稱,地址,電話)
消費項目表(消費項目名稱,服務內(nèi)容,價格)
消費表(消費流水號,消費項目名稱,顧客編號,優(yōu)惠等級,實付金額)
根據(jù)題意要求,寫出相應的SQL語言命令
41.查詢每種消費項目的名稱和價格并按價格排序;
42.查詢名叫“張明”的顧客信息;
43.查詢消費流水號為“K100801”的消費項目的服務內(nèi)容;
44.查詢顧客的總個數(shù);
45.修改顧客編號為“G107”的聯(lián)系電話為“010-65475645”。