VisualFoxPro程序設(shè)計(jì)實(shí)習(xí)教程與習(xí)題集(參考答案).doc_第1頁(yè)
VisualFoxPro程序設(shè)計(jì)實(shí)習(xí)教程與習(xí)題集(參考答案).doc_第2頁(yè)
VisualFoxPro程序設(shè)計(jì)實(shí)習(xí)教程與習(xí)題集(參考答案).doc_第3頁(yè)
VisualFoxPro程序設(shè)計(jì)實(shí)習(xí)教程與習(xí)題集(參考答案).doc_第4頁(yè)
VisualFoxPro程序設(shè)計(jì)實(shí)習(xí)教程與習(xí)題集(參考答案).doc_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Visual FoxPro程序設(shè)計(jì)實(shí)習(xí)教程與習(xí)題集(第2版)實(shí)習(xí)教程第1單元 Visual FoxPro基本操作 (參考答案) 1利用對(duì)其賦值的方法,判定下列字符串是否為合法的內(nèi)存變量名。 1)X1,X(1),X*,X,X_1,1X 執(zhí)行賦值命令:X1=3,或 STORE 3 TO X1,系統(tǒng)沒有任何錯(cuò)誤顯示,知X1為合法的內(nèi)存變量名。 類似地,X_1也為合法的內(nèi)存變量名,其余為不合法。 2)變量,變 量,變量X,變量1,變量_1 利用上面的方法可以判定:變量,變量X,變量1,變量_1為合法內(nèi)存變量名,其余不合法。2計(jì)算并顯示下面各題的結(jié)果。 1)分別利用函數(shù)(MOD)和運(yùn)算(%),求出987654321除以123456789的余數(shù)。 利用函數(shù):? MOD(987654321,123456789) 顯示: 9 利用運(yùn)算:? 987654321%123456789 顯示: 9 2)若X=5.1249,求2X與X2的最小值。 命令: X=5.1249 ? MIN(2X,X2) 顯示: 26.2646 3) 設(shè):a=1,b=4,c=3,計(jì)算一元二次方程:aX2+bX+c=0的兩個(gè)根。 命令: a=1 b=4 c=3 ? (-b+SQRT(b2-4*a*c)/(2*a) 顯示: -1.0000 ? (-b-SQRT(b2-4*a*c)/(2*a) 顯示: -3.0000 4) 設(shè)C1=AB,C2=SPACE(2),C3=str(3.14,5,2),且A1=C1+C2+C3, A2=trim(C1+C2-C3) 求A1和A2的長(zhǎng)度。 命令: C1=AB C2=SPACE(2) C3=STR(3.14,5,2) A1=C1+C2+C3 A2=TRIM(C1+C2-C3) ?LEN(A1) 顯示:9 ?LEN(A2) 顯示:7 5)設(shè)C1= SPACE(2),C2=”ABC”,C3=SPACE(3),且A1=C1+C2+C3, A2=trim(C1+C2+C3), A3=ltrim(C1+C2+C3), A4=alltrim(C1+C2+C3) 求A1、A2、A3、A4的長(zhǎng)度。 命令: C1=SPACE(2) C2=”ABC” C3=SPACE(3) A1=C1+C2+C3 A2=trim(C1+C2+C3) A3=ltrim(C1+C2+C3) A4=alltrim(C1+C2+C3) ?LEN(A1) 顯示:8 ?LEN(A2) 顯示:5?LEN(A3) 顯示:6?LEN(A4) 顯示:3 6)設(shè)A=微型計(jì)算機(jī),利用函數(shù)SUBSTR和A表示字符串微機(jī)。 命令:A=微型計(jì)算機(jī) ? SUBSTR(A,1,2) + SUBSTR(A,9,2) 顯示: 微機(jī) 7)求出從今天起,萬天之后的日期。 命令:? DATE() + 10000 顯示: 09/06/36 (與當(dāng)天日期有關(guān)) 8)求到今天為止,香港回歸祖國(guó)的天數(shù)。 命令:? DATE() 1997/07/01 顯示: 4312 (與當(dāng)天日期有關(guān)) 9)寫出如下表達(dá)式的值,然后利用計(jì)算機(jī)驗(yàn)證自己的答案。 X+YX*Y OR XY ,其中:X=1,Y=2 命令:X=1 Y=2 ? X+YX*Y OR XY 顯示: .T. 94 AND 4#2 OR NOT 2*3=SQRT(16) 命令:? 9400 5顯示ZGGZ2.DBF的結(jié)構(gòu)。 use zggz2list structure6瀏覽ZGGZ2.DBF的記錄。 use zggz2 browse 實(shí)習(xí)教程第4單元 數(shù)據(jù)表記錄的指針移位 (參考答案)1. 順序執(zhí)行下面有關(guān)記錄指針移位的命令,并解釋得到的結(jié)果。 USE ZGGZ ? BOF() 顯示結(jié)果:.F.(表示此時(shí)記錄指針不在表頂) GO 5 ? RECNO() 5 (表示此時(shí)記錄指針指在第5條記錄上) SKIP -2 ? RECNO() 3 (表示此時(shí)記錄指針指在第3條記錄上) GO TOP ? BOF() .F.(表示此時(shí)記錄指針不在表頂) ? RECCOUNT() 8 (表示此表共有8條記錄) 實(shí)習(xí)教程第5單元 數(shù)據(jù)表記錄的追加 (參考答案)1. 將數(shù)據(jù)表ZGGZ.DBF的結(jié)構(gòu)復(fù)制到新的數(shù)據(jù)表TEMP.DBF,并顯示新表的結(jié)構(gòu)。 USE ZGGZ COPY STRUCTURE TO TEMP USE TEMP LIST STRUCTURE 2. 向TEMP.DBF隨意追加2條記錄,要求輸入備注信息。 USE TEMP APPEND 在彈出的追加記錄窗口中,向除“memo”以外的字段隨意輸入數(shù)據(jù)。然后,雙擊“memo”, 在打開的窗口中,隨意輸入文字。最后,單擊窗口的“關(guān)閉”按鈕。 3. 將ZGGZ.DBF中所有職務(wù)為“科長(zhǎng)”的記錄追加到TEMP.DBF中,并瀏覽結(jié)果。 APPEND FROM ZGGZ FOR 職務(wù)=科長(zhǎng) BROWSE實(shí)習(xí)教程第6單元 數(shù)據(jù)表記錄的顯示和修改 (參考答案)1. 分別用LIST和DISPLAY顯示ZGGZ.DBF中所有未婚職工的姓名、婚否和基本工資字段。 use zggzlist 姓名,婚否,基本工資 for 婚否=.F.display 姓名,婚否,基本工資 for .NOT. 婚否 2顯示ZGGZ.DBF中, 1960年1月1日 之后出生且基本工資超過400元的職工信息。 list for出生日期 1960/1/1 AND 基本工資400 3顯示ZGGZ.DBF中第4到第8號(hào)記錄中“王”姓的職工信息。 (提示:先將記錄指針移到第4號(hào)記錄上,再在命令中指定范圍。) go 4 list next 5 for substr(姓名,1,2)=王 4. 在ZGGZ.DBF的編輯窗口中,利用鍵盤輸入對(duì)所有女職工的“實(shí)發(fā)工資”字段進(jìn)行修改,使得:實(shí)發(fā)工資 = 基本工資獎(jiǎng)金扣款。 (略) 5. 利用REPLACE命令對(duì)所有男職工的記錄完成上述操作。 replace 實(shí)發(fā)工資 with 基本工資+獎(jiǎng)金-扣款 for 性別=男 6. 利用REPLACE命令為所有職務(wù)為科長(zhǎng)的獎(jiǎng)金增加20元。 replace 獎(jiǎng)金 with 獎(jiǎng)金+20 for 職務(wù)=科長(zhǎng) 7. 利用REPLACE命令為所有職工的基本工資增加10%。 replace all 基本工資 with 基本工資*1.1 8. 利用BROWSE命令,查看上述的替換的結(jié)果。 browse 實(shí)習(xí)教程第7單元 數(shù)據(jù)表記錄的刪除 (參考答案)準(zhǔn)備:將數(shù)據(jù)表ZGGZ.DBF復(fù)制成TEMP.DBF,并打開TEMP.DBF。 use zggz copy to temp use temp1對(duì)所有的未婚科員記錄加刪除標(biāo)記。 DELETE FOR 職務(wù)=科員 AND 婚否=.F. 2對(duì)基本工資少于400元的記錄加刪除標(biāo)記。 DELETE FOR 基本工資400 3分別在取消遮蓋和遮蓋帶刪除標(biāo)記記錄的環(huán)境下,顯示數(shù)據(jù)表的記錄。 SET DELETE OFF LIST SET DELETE ON LIST 4打開BROWSE窗口,利用鼠標(biāo)單擊的方法,練習(xí)為記錄添加和取消刪除標(biāo)記的操作。 (需在取消遮蓋帶刪除標(biāo)記記錄的環(huán)境下操作) (略) 5利用命令取消所有記錄的刪除標(biāo)記。 RECALL ALL 6物理刪除最后一條記錄。 GO BOTTOM DELETE PACK 7物理刪除1969年及以前出生的職工記錄。 DELETE FOR YEAR(出生日期)=400 display continue 2. 利用SEEK進(jìn)行如下的快速查詢。 1)查找并顯示姓名為“蘇平”的職工記錄。 set order to xm seek 蘇平 display2)查找并顯示出所有職務(wù)為“科長(zhǎng)”的職工記錄。 set order to zw seek 科長(zhǎng) display skip display 3)查找并顯示男科長(zhǎng)的記錄。(提示:利用第8單元中按“性別”和“職務(wù)”建立的索引。) set order to xbzw seek 男科長(zhǎng) display 實(shí)習(xí)教程第10單元 數(shù)據(jù)表的統(tǒng)計(jì) (參考答案) 1分別統(tǒng)計(jì)數(shù)據(jù)表中已婚的男職工和未婚的女職工人數(shù)。 use zggz count for 性別=男 and 婚否=.t. count for 性別=女 and 婚否=.f. 2求出所有男職工的人數(shù)和基本工資總額,并分別賦值給CN和SN,利用上述兩個(gè)內(nèi)存變量計(jì)算出男職工的平均工資。 count for 性別=男 to cn sum 基本工資for 性別=男 to sn ? sn/cn 3計(jì)算所有職務(wù)為科長(zhǎng)的平均年齡。 average year(date()-year(出生日期) for 職務(wù)=科長(zhǎng) 4計(jì)算所有職工的基本工資和獎(jiǎng)金的總金額。 sum 基本工資+獎(jiǎng)金實(shí)習(xí)教程第11單元 程序設(shè)計(jì)初步 (參考答案)1. 編寫一程序,計(jì)算一元二次方程aX2+bX+c=0的根。其中系數(shù)a,b,c由INPUT語(yǔ)句讀入。運(yùn)行該程序時(shí),分別為a,b,c輸入3,4,1。 SET TALK OFF INPUT A= TO A INPUT B= TO B INPUT C= TO C X1=(-B+SQRT(B*B-4*A*C)/(2*A) X2=(-B-SQRT(B*B-4*A*C)/(2*A) ? X1=,X1 ? X2=,X2 RETURN2. 編寫一程序,讀入圓柱體的高(H)和底面半徑(R),計(jì)算并顯示圓柱體的體積(V)。 SET TALK OFF INPUT H: TO H INPUT R: TO R V=3.1416*R2*H ? V=,V RETURN3. 編寫一程序,首先由用戶輸入一個(gè)職務(wù),如:“科長(zhǎng)”,“處長(zhǎng)”等,然后顯示數(shù)據(jù)表 ZGGZ.DBF中所有該職務(wù)的職工記錄。(提示:利用LIST命令。) SET TALK OFFUSE ZGGZACCEPT 職務(wù): TO ZWLIST FOR 職務(wù)=ZWRETURN實(shí)習(xí)教程第12單元 分支結(jié)構(gòu)的程序設(shè)計(jì) (參考答案)1. 編寫一程序,輸入一個(gè)英文字母,若為大寫,則顯示它的小寫字母;若為小寫,則顯示它的大寫字母。 set talk offaccept 輸入一個(gè)字符: to chif upper(ch)=ch ? lower(ch)else ? upper(ch)endifreturn2. 編寫一程序,輸入X、Y的值,計(jì)算分段函數(shù): 的值。 執(zhí)行程序,分別計(jì)算X=3, Y=5和X=1500, Y=1200時(shí)Z的值。 set talk offinput x= to xinput y= to yif xy z=x*x+2*x*y+y*yelse if x=y z=x+y else z=x-y endifendif? z=,zreturn3. 編寫一程序,輸入某人的收入額,計(jì)算其個(gè)人所得稅。 個(gè)人所得稅的計(jì)算方法為:不超過500元的稅率為5,500元到2000元部分的稅率為10,超過2000元部分的稅率為 15。 set talk off input x= to x if x=500 t=x*0.05 else if x=2000 t=500*0.05+(x-500)*0.1 else t=500*0.05+1500*0.1+(x-2000)*0.15 endif endif ? 稅金為: ,str(t,6,2) return4. 用DO CASE語(yǔ)句編寫第3題的程序,并重復(fù)上面的計(jì)算。 set talk off input x= to x do case case x=500 t=x*0.05 case x=0 ? X1=,(-B+SQRT(D)/(2*A) ? X2=,(-B-SQRT(D)/(2*A) ELSE ? 方程無實(shí)數(shù)根! ENDIF RETURN實(shí)習(xí)教程第13單元 循環(huán)結(jié)構(gòu)的程序設(shè)計(jì) (參考答案)1. 編寫一程序,計(jì)算 S1/2+1/22+1/23+1/2N,其中N由用戶輸入。(保留小數(shù)點(diǎn)后5位) 利用程序分別計(jì)算N=5,10和20時(shí),S的值。 提示:對(duì)S賦初值為0.00000,可達(dá)到保留小數(shù)點(diǎn)后5位的目的。 set talk offs=0.00000i=1input n= to ndo while i=n s=s+1/2i i=i+1enddo? s=,sreturn2. 在數(shù)據(jù)表ZGGZ.DBF中,循環(huán)查找和顯示所有1970年以前出生的職工記錄。 set talk off use zggz locate for year(出生日期)1970 do while found() display continue enddo return3利用循環(huán)編程計(jì)算ZGGZ.DBF中男職工的平均工資。 set talk off use zggz s=0 n=0 do while not eof() if 性別=男 s=s+基本工資 n=n+1 endif skip enddo ? 男職工平均工資為: ,str(s/n,6,2) return4.利用SCAN語(yǔ)句編寫第2題的程序。 set talk off use zggz scan for year(出生日期)1970 display endscan return5.利用SCAN語(yǔ)句編寫第3題的程序。set talk offuse zggzs=0n=0scan for 性別=男 s=s+基本工資 n=n+1endscan? 男職工平均工資為: ,str(s/n,6,2)return 6. 設(shè)一個(gè)班有10名學(xué)生,循環(huán)輸入每個(gè)學(xué)生的分?jǐn)?shù)(百計(jì)分),統(tǒng)計(jì)并顯示各分?jǐn)?shù)段的人數(shù)。其中分?jǐn)?shù)段的劃分如下:90分以上,8089分,7079分,6069分,60分以下。 set talk off store 0 to n1,n2,n3,n4,n5 i=1 do while i=90 n1=n1+1 case x=80 n2=n2+1 case x=70 n3=n3+1 case x=60 n4=n4+1 otherwise n5=n5+1 endcase i=i+1 enddo ? 90分以上人數(shù) :,n1 ? 80-89分人數(shù) :,n2 ? 70-79分人數(shù) :,n3 ? 60-69分人數(shù) :,n4 ? 60分以下人數(shù) :,n5 return7. 編寫一個(gè)程序,求解猴子吃桃問題。猴子第一天摘了若干桃子,當(dāng)即吃了一半,又多吃了一個(gè);第二天早上又將剩下的桃子吃了一半,又多吃了一個(gè);以后每天早上都是如此。到了第10天早上想吃時(shí),就剩下一個(gè)桃子。問第一天共摘了多少桃子。 SET TALK OFF D=10 N=1 DO WHILE D=1 ? 第+str(D,2)+天有+str(N,4)+個(gè)桃子。 N=2*(N+1) D=D-1 ENDDO RETURN8. 編寫一程序,顯示如下圖形,其中星號(hào)之間有一個(gè)空格: * * * * * * * * * * * * * * * * SET TALK OFF I=1 DO WHILE I=4 ? SPACE(2*I-1) J=1 DO WHILE J=9-2*I ? * J=J+1 ENDDO I=I+1 ENDDO RETURN9. 編寫一個(gè)二重循環(huán)程序,顯示如下的乘法口訣表。 set talk off i=1 do while i=9 j=1 do while j=i ? str(i,2)+*+str(j,1)+=+str(i*j,2) j=j+1 enddo ? i=i+1 enddo return 習(xí)題集參考答案 第 1 部分 VFP基礎(chǔ)知識(shí) 一、選擇題1D11C21A31D41B51AB2C12B22D32B42C52A3A13D23A33C43C53B4B14D24C34C44D54B5D15D25A35D45B55A6D16D26D36A46B7D17D27D37C47D8C18A28C38A48D9A19B29B39C49A10A20A30B40D50D 二、填空題1數(shù)據(jù)庫(kù)管理系統(tǒng)26N2關(guān)系模型27C3關(guān)系28.F.4二維表29EFG5屬性(或字段)30.F. (2009-4-2修改) 6元組(或記錄)3117選擇3258連接33.T.9元組34.T.10屬性35D11QUIT36數(shù)值型12交互37.F.13字段38數(shù)值型14年月日39315CENTURY40a16C41邏輯型 (2009-4-2修改)172008/10/0842.T. (2009-4-2修改)18CLEAR43or (2009-4-2修改)19?20?21STORE 3 TO X,Y,Z22-16231524123456258習(xí)題集參考答案 第 2 部分 數(shù)據(jù)表 一、選擇題1A*11D21D31A41A51D2C12C22C32D42B52D3A13B23D33C43D53C4C14A24B34D44D54B5A15A25A35A45C6A16A26A36A46A7C17D27A37D47B8A18A28D38A48B9D19B29D39D49B10D20B30C40C50C* :第1題題干中應(yīng)刪除“日期型、”幾個(gè)字。 二、填空題1通用26REPLACE2DBF27RECALL3128PACK4929SET DELETE ON5FPT30DELETE REST6DEFAULT31INDEX ON 職稱 TAG ZC7CREATE32結(jié)構(gòu)復(fù)合8USE BOOKS33唯一9REST34普通10COPY STRUCTURE35CDX11表設(shè)計(jì)器36SET ORDER TO 索引名12L37SET ORDER TO13.F.38CONTINUE14.F.39.F.1510140COUNT FOR 年齡=3024REPLACE 工資 WITH 工資*1.1 FOR 職稱=工程師25筆試=60 AND 上機(jī)=60習(xí)題集參考答案 第 3 部分 程序設(shè)計(jì) 一、選擇題1A6B2C7A3A8A4B9A5A10C 二、填空題1INPUT11嵌套循環(huán)2*3SET TALK OFF4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論