第一題:有計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)djks.dbf,包括:考號(hào)、姓名、性別、年齡和單位等字段;成績(jī)數(shù)據(jù)庫(kù)cj.dbf,包括:考號(hào)、考場(chǎng)編號(hào)、筆試成績(jī)和上機(jī)成績(jī)等字段。 請(qǐng)考生編寫程序 PROG1.PRG,其功能是其考號(hào)、單位、筆試成績(jī)和上機(jī)成績(jī)共四個(gè)字段。然后在生成的連接數(shù)據(jù)庫(kù)中按單位對(duì)筆試和上機(jī)成績(jī)進(jìn)行分類匯總,存入數(shù)據(jù)庫(kù)qaz.dbf文件中。
。牐 參考答案:
。牐燬ET TALK OFF
CLEAR
。牐燬ELE B
USE CJ
。牐燬ELE A
USE DJKS
。牐燡OIN WITH B TO CJ1 FOR 考號(hào)=B->考號(hào) FIELD ?考號(hào),單位,B->筆試成績(jī),B->上機(jī)成績(jī)
SELE C
。牐燯SE CJ1
。牐燬ORT ON 單位 TO CJ2
。牐燯SE CJ2
。牐燭OTAL ON 單位 TO QAZ
。牐燯SE QAZ
。牐燣IST
。牐燙LOSE DATABASE
@ 10,30 SAY "再見!"
。牐燬ET TALK ON
第二題:已有三個(gè)數(shù)據(jù)庫(kù):⑴借閱數(shù)據(jù)庫(kù)jy.dbf,包括圖書編號(hào)、借書證號(hào)、借書日期和借出天數(shù)等字段; ⑵讀者數(shù)據(jù)庫(kù)dzh.dbf,包括借書證號(hào)、姓名、停借否等字段;⑶停借數(shù)據(jù)庫(kù)tj.dbf,包括借書證號(hào)、姓名等字段。 請(qǐng)考生編寫程序 PROG1.PRG,其功能是整理圖書借出情況:首先在借閱數(shù)據(jù)庫(kù)中用當(dāng)前日期減去借書日期得出借出天數(shù),然后進(jìn)行判定處理,凡借書超過(guò)60天(不含60天)者,就把讀者數(shù)據(jù)庫(kù)中的停借否字段置為邏輯真,并在停借數(shù)據(jù)庫(kù)中產(chǎn)生一條記錄。(注意:假定當(dāng)前日期為2000年9月1日)
參考答案:
SET TALK OFF
。牐燬ET CENTURY ON
CLEAR
。牐燬ELE C
。牐燯SE TJ
。牐燬ELE B
。牐燯SE DZH
。牐燫EPL ALL 停借否 WITH .F.
SELE A
。牐燯SE JY
。牐燚O WHILE .NOT. EOF()
。牐燡SZ=借書證號(hào)
。牐燫EPL 借出天數(shù) WITH DATE()-借書日期
。牐營(yíng)F 借出天數(shù)>60
。牐燬ELE B
。牐燣OCA FOR 借書證號(hào)=JSZ
。牐燫EPL 停借否 WITH .T.
SCATTER TO TJF
。牐燬ELE C
APPE BLANK
。牐燝ATHER FROM TJF
SELE A
。牐燛NDIF
。牐燬KIP
ENDDO
。牐燬ELE C
LIST
。牐燙LOSE ALL
。牐燙LEAR ALL
SET TALK ON
第三題:已有數(shù)據(jù)庫(kù)data.dbf,其中有data1--data7、最大數(shù)、最小數(shù)和平均數(shù)等字段。 請(qǐng)考生編寫程序PROG1.PRG,其功能是按記錄求出data1--data7七個(gè)數(shù)中的最大數(shù)、最小數(shù)和平均數(shù),并記入數(shù)據(jù)庫(kù)的相應(yīng)字段中,最后把結(jié)果輸出到data1.dbf文件中。
。牐 參考答案:
SET TALK OFF
。牐燙LEAR
。牐燯SE DATA
DO WHILE .NOT. EOF()
。牐燗V_NUM=(DATA1+DATA2+DATA3+DATA4+DATA5+DATA6+DATA7)/7
MAX_NUM=MAX(DATA1,MAX(DATA2,MAX(DATA3,MAX(DATA4,MAX(DATA5,MAX(DATA6,DATA7))))))
MIN_NUM=MIN(DATA1,MIN(DATA2,MIN(DATA3,MIN(DATA4,MIN(DATA5,MIN(DATA6,DATA7))))))
REPL 最大數(shù) WITH MAX_NUM,最小數(shù) WITH MIN_NUM,平均數(shù) WITH AV_NUM
。牐燬KIP
。牐燛NDDO
BROW
COPY TO DATA1
。牐燯SE
。牐燬ET TALK ON
。牐
第四題:已有數(shù)據(jù)庫(kù)djks.dbf。請(qǐng)編寫程序PROG1.PRG,在程序中首先通過(guò)復(fù)制djks.dbf生成一個(gè)具有考號(hào)、 姓名、筆試及上機(jī)四個(gè)字段的數(shù)據(jù)庫(kù)文件aaa.dbf(只有結(jié)構(gòu)),然后再修改其結(jié)構(gòu),把考號(hào)字段改為數(shù)值型8個(gè)字符寬、姓名字段改為8個(gè)字符寬。要求必須使用: copy to <結(jié)構(gòu)文件名> structure extended 和 create <生成庫(kù)文件名> from <結(jié)構(gòu)文件名>命令實(shí)現(xiàn),使用其它方法不得分
參考答案:
。牐爏et talk off
。牐燾los data
。牐爑se djks
。牐燾opy stru to aaa fiel 考號(hào),姓名,筆試,上機(jī)
USE AAA
。牐燙OPY STRU TO BBB EXTENDED
。牐燯SE BBB
。牐燣OCA FOR FIELD_NAME='考號(hào)'
。牐燫EPL FIELD_TYPEWITH 'N',FIELD_LEN WITH 8
LOCA FOR FIELD_NAME='姓名'
。牐燫EPL FIELD_LEN WITH 8
。牐燙REATE AAA FROM BBB
clos data
。牐爏et talk on
第五題:已有數(shù)據(jù)庫(kù)stock.dbf,包括商品號(hào)、商品名、單價(jià)和數(shù)量等字段。請(qǐng)考生編寫程序PROG1.PRG,其功能是給該數(shù)據(jù)庫(kù)增加一個(gè)總額(N, 10.2)字段,并填入數(shù)據(jù),其值為數(shù)量與單價(jià)之乘積,最后把結(jié)果復(fù)制到stock1.dbf文件中。
。牐 參考答案:
。牐燬ET TALK OFF
。牐燙LOSE DATABASE
CLEAR
。牐燯SE STOCK
。牐燙OPY STRUCTURE TO STO EXTENDED
。牐燯SE STO
APPEN BLANK
。牐燫EPL FIELD_NAMEWITH "總金額",FIELD_TYPE WITH "N",FIELD_LEN ?WITH 10,FIELD_DEC WITH 2
CREATE STOCK1 FROM STO
。牐燯SE STOCK1
。牐燗PPE FROM STOCK
。牐燫EPL ALL 總金額 WITH 數(shù)量*單價(jià)
。牐燣IST
。牐燯SE
。牐燬ET TALK ON
。牐
第六題:已有計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)djks.dbf,包括:考號(hào)、姓名、筆試成績(jī)、上機(jī)成績(jī)和平均成績(jī)等字段,但各成績(jī)字段為空;另有成績(jī)數(shù)據(jù)庫(kù)cj.dbf,包括:考號(hào)、考場(chǎng)編號(hào)、筆試成績(jī)和上機(jī)成績(jī)等字段,
考生的考試成績(jī)已錄入其中。 請(qǐng)編寫程序 PROG1.PRG,要求把考生的考試成績(jī)填寫到數(shù)據(jù)庫(kù)djks.dbf中,然后再計(jì)算筆試和上機(jī)成績(jī)的平均成績(jī),填入各記錄的平均成績(jī)字段中。最后生成一個(gè)與djks.dbf結(jié)構(gòu)完全相同的不及格數(shù)據(jù)庫(kù)bjg.dbf,把平均成績(jī)不及格的考生記錄移入不及格庫(kù)。
。牐 參考答案:
SET TALK OFF
。牐燬ET DELETED OFF
。牐燙LEAR
。牐燬ELE B
。牐燯SE CJ
。牐燬ELE A
。牐燯SE DJKS
I(yíng)NDEX ON 考號(hào) TO DJKS
。牐燯PDATE ON 考號(hào) FROM B REPLACE 筆試成績(jī) WITH B->筆試成績(jī),上機(jī)成績(jī) ?WITH B->上機(jī)成績(jī) RANDOM
。牐燝O TOP
REPLACE ALL 平均成績(jī) WITH (筆試成績(jī)+上機(jī)成績(jī))/2
。牐燙OPY TO BJG FOR 平均成績(jī)<60
。牐燣IST
。牐燯SE BJG
。牐燣IST
CLOSE DATABASE
。牐燬ET TALK ON
第七題:請(qǐng)考生編寫程序 PROG1.PRG,其功能是計(jì)算下列多值函數(shù)的值:
。牐 ┌ABS(x) x<0
。牐 ├ex 0<=x<1
y=├x2 1<=x<3
。牐 └INT(x) x>=3
計(jì)算的數(shù)據(jù)都存放在數(shù)據(jù)庫(kù)shj.dbf中,該數(shù)據(jù)庫(kù)只有兩個(gè)字段:X(N,4.1)和Y(N,6.4)。在程序中讀取字段X的數(shù)據(jù),然后把計(jì)算結(jié)果存放在字段Y中, 最后把shj.dbf所有記錄復(fù)制到shj1.dbf文件中
參考答案:
。牐燬ET TALK OFF
。牐燯SE SHJ
。牐燿o while .not. eof()
。牐燲1=X
。牐燚O CASE
CASE X1<0
。牐燳1=ABS(X1)
。牐燙ASE X1>=0 .AND. X<1
Y1=EXP(X1)
。牐燙ASE X>=1 .AND. X<3
Y1=X1*X1
OTHERWISE
。牐燳1=INT(X1)
ENDCASE
。牐燫EPLACE Y WITH Y1
SKIP
。牐爀nddo
。牐燣IST
。牐燙OPY TO SHJ1
。牐燙LOSE DATABASE
。牐燬ET TALK ON
。牐
第八題:請(qǐng)考生編寫程序 PROG1.PRG,其功能是計(jì)算數(shù)學(xué)公式:
。牐 S=1-1/3!+1/5!-1/7!+1/9!-1/11!+...-1/(2n-1)!n
值存放在數(shù)據(jù)庫(kù)shj.dbf中,該數(shù)據(jù)庫(kù)只有兩個(gè)字段:N(n,2.0)和S(n,17.15)。執(zhí)行程序時(shí)到數(shù)據(jù)庫(kù)中逐個(gè)讀取N值,再把計(jì)算結(jié)果存放在S字段中, 最后把shj.dbf所有記錄復(fù)制到shj1.dbf文件中。
參考答案:
SET TALK OFF
。牐燯SE SHJ
。牐燚O WHILE .NOT. EOF()
STORE N TO NJ2
。牐燦J2=2*NJ2-1
。牐燡C=1
。牐燬1=0
NJ1=1
。牐燦J3=1
DO WHILE NJ1<=NJ2
。牐爅c=jc*nj1
if mod(nj1,2)=1
。牐營(yíng)F MOD(NJ3,2)=1
S1=S1+(1/jc)
。牐燛LSE
。牐燬1=S1-(1/JC)
。牐燛NDIF
。牐燦J3=NJ3+1
endif
。牐燦J1=NJ1+1
ENDDO
。牐燫EPLACE S WITH S1
SKIP
。牐燛NDDO
。牐燙OPY TO SHJ1
。牐燙LOSE DATABASE
。牐燬ET TALK ON
第九題:有計(jì)算機(jī)等級(jí)考試成績(jī)數(shù)據(jù)庫(kù)cj.dbf,包括考號(hào)、筆試成績(jī)和上機(jī)成績(jī)等字段,其中考號(hào)的前兩位是單位編碼;還有統(tǒng)計(jì)數(shù)據(jù)庫(kù)tj.dbf,包括單位編碼、筆試平均分、上機(jī)平均分、筆試最高分、上機(jī)最高分等字段。 請(qǐng)編寫程序 PROG1.PRG,其功能是:按單位進(jìn)行各項(xiàng)統(tǒng)計(jì),結(jié)果存于統(tǒng)計(jì)數(shù)據(jù)庫(kù)tj.dbf的相應(yīng)字段中。
參考答案:
。牐燬ET TALK OFF
。牐燬ET SAFETY OFF
。牐燙LOSE DATABASE
。牐燙LEAR
。牐燬ELE 2
USE TJ
。牐燴AP
SELE 1
。牐燯SE CJ
。牐燬ORT ON 考號(hào) TO CJ1
USE CJ1
。牐燚O WHILE .NOT. EOF()
STORE 0 TO BS1,SJ1,BSMAX,SJMAX
。牐燚WCODE=SUBSTR(考號(hào),1,2)
。牐燦1=0
。牐燘SMAX=筆試成績(jī)
。牐燬JMAX=上機(jī)成績(jī)
。牐燚O WHILE 考號(hào)=DWCODE
。牐營(yíng)F 上機(jī)成績(jī)>SJMAX
。牐燬JMAX=上機(jī)成績(jī)
。牐燛NDIF
。牐營(yíng)F 筆試成績(jī)>BSMAX
。牐燘SMAX=筆試成績(jī)
ENDIF
。牐燘S1=BS1+筆試成績(jī)
。牐燬J1=SJ1+上機(jī)成績(jī)
。牐燦1=N1+1
。牐燬KIP
。牐燛NDDO
。牐燬ELE 2
。牐燗PPEND BLANK
。牐燫EPLACE 單位編碼WITH DWCODE,筆試平均分 WITHBS1/N1,上機(jī)平均分 WITH ;
SJ1/N1,筆試最高分 WITH BSMAX, 上機(jī)最高分 WITH SJMAX
。牐燬ELE 1
ENDDO
。牐燬ELE 2
LIST
。牐燙LOSE DATABASE
。牐燬ET TALK ON
。牐燬ET SAFETY ON
。
第十題:已有計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)djks.dbf,包括:考號(hào)、姓名、筆試成績(jī)、上機(jī)成績(jī)和平均成績(jī)等字段,其中考號(hào)的前兩位是單位代碼;另有單位數(shù)據(jù)庫(kù)dw.dbf,包括:?jiǎn)挝淮a、單位名稱、人數(shù)和總平均分等字段。 請(qǐng)編寫程序 PROG1.PRG,要求先在djks.dbf數(shù)據(jù)庫(kù)中計(jì)算各位考生的平均成績(jī),并填入平均成績(jī)字段中。然后按單位統(tǒng)計(jì)人數(shù)及總平均分,記入dw.dbf數(shù)據(jù)庫(kù)的相應(yīng)字段中,最后把dw.dbf所有記錄復(fù)制到dw1.dbf文件中。
參考答案:
。牐燬ET TALK OFF
SELE 2
。牐燯SE DW
。牐燬ELE 1
。牐燯SE DJKS
。牐燚O WHILE .NOT. EOF()
。牐燫EPLACE 平均成績(jī) WITH (筆試成績(jī)+上機(jī)成績(jī))/2
。牐燬KIP
。牐燛NDDO
SORT ON 考號(hào) TO DJKS1
。牐燯SE DJKS1
DO WHILE .NOT. EOF()
。牐燚W1=SUBSTR(考號(hào),1,2)
STORE 0 TO PEOPLE,AV_SCOR
。牐燚O WHILE SUBSTR(考號(hào),1,2)=DW1
AV_SCOR=AV_SCOR+平均成績(jī)
。牐燩EOPLE=PEOPLE+1
。牐燬KIP
。牐燛NDDO
。牐燬ELE 2
LOCA FOR 單位代碼=DW1
。牐燫EPL 人數(shù) WITH PEOPLE,總平均分 WITH AV_SCOR/PEOPLE
SELE 1
。牐燛NDDO
SELE 2
。牐燙OPY TO DW1
LIST
。牐燙LOSE DATABASE
。牐燬ET TALK ON