《機械工程數(shù)據(jù)庫》實驗指導(dǎo)_第1頁
《機械工程數(shù)據(jù)庫》實驗指導(dǎo)_第2頁
《機械工程數(shù)據(jù)庫》實驗指導(dǎo)_第3頁
《機械工程數(shù)據(jù)庫》實驗指導(dǎo)_第4頁
《機械工程數(shù)據(jù)庫》實驗指導(dǎo)_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 機械工程數(shù)據(jù)庫實驗指導(dǎo)第一次實驗 VFP的基本操作實驗1:中文Visual FoxPro 6.0的操作1實驗?zāi)康模?#216; 掌握中文Visual FoxPro 6.0的安裝過程;Ø 掌握中文Visual FoxPro 6.0的啟動和退出方法;Ø 掌握中文Visual FoxPro 6.0的主要操作界面。2實驗內(nèi)容:*2.1 中文Visual FoxPro 6.0的安裝過程 此部分為選作實驗。2.2 中文Visual FoxPro 6.0的啟動和退出1練習(xí)并掌握VFP的不同啟動方法,重點掌握以下兩種方法:Ø 通過“開始”菜單啟動VFP;Ø 通過桌面快

2、捷方式啟動VFP2練習(xí)并掌握VFP的不同退出方法:Ø 單擊窗口標(biāo)題欄的關(guān)閉按鈕;Ø 通過窗口菜單退出;Ø 使用快捷鍵ALT+F4退出;Ø 在命令窗口中輸入QUIT退出。2.3掌握中文Visual FoxPro 6.0的主要操作界面1掌握命令窗口的操作方法(1)打開命令窗口操作(2)關(guān)閉命令窗口操作(3)使用命令窗口操作在命令窗口輸入以下內(nèi)容,記下主窗口的顯示內(nèi)容: 3,5 SAY “25*2%3+(86/5-12)+53=”;+STR(25*2%3+(86/5-12)+53) A=23 B=”23” ?A,B2.編輯窗口操作方法新建一個程序,打開一個編輯

3、窗口,輸入如下程序:CLEARINPUT “請輸入整數(shù)M:” TO MINPUT “請輸入整數(shù)N:” TO NS=0T=0DO QJCH WITH M,S&&轉(zhuǎn)去執(zhí)行求階乘子程序?SDO QLJ WITH N,T&&轉(zhuǎn)去執(zhí)行求累加子程序?T?S,T*求階乘子程序*PROCEDURE QJCHPARAMETERS M,SS=1FOR I=1 TO MS=S*IENDFORRETURN*求累加子程序*PROCEDURE QLJPARAMETERS N,TT=0FOR I=1 TO NT=T+IENDFORRETURN實驗2:“項目管理器”的使用1實驗?zāi)康模?#216

4、; 掌握“項目管理器”的使用方法2實驗內(nèi)容:2.1 建立項目 建立一個項目文件:學(xué)生.pjx2.2 打開已有項目打開項目文件:學(xué)生.pjx2.3 “項目管理器”的折疊與展開2.4 展開與折疊目錄樹2.5 在項目中建立文件建立一個程序文件,文件名為PROGRAM1.PRG。程序為:ClearSum=0For I=1 to 50 step 2Sum=sum+IEndfor5,10 say “sum=”+str(sum,5)2.6 從項目中移去文件將程序文件PROGRAM1.PRG從項目中移去。2.7 向項目添加文件將程序文件PROGRAM1.PRG添加到項目中去。2.8 在項目中修改文件將程序文件

5、PROGRAM1.PRG中sum=0修改為sum=1。2.9 運行程序文件運行程序文件PROGRAM1.PRG并記錄運行結(jié)果。實驗3:變量、函數(shù)和表達式實驗1實驗?zāi)康模?#216; 掌握各種變量、函數(shù)和表達式的使用方法2實驗內(nèi)容:2.1 系統(tǒng)變量實驗(1)用系統(tǒng)變量_diarydate輸出當(dāng)天日期;(2)將2007年5月1日賦值給系統(tǒng)變量_diarydate并輸出。2.2 內(nèi)存變量實驗(1)建立4種類型(N、C、L、D)的內(nèi)存變量并分別賦值為:23、”Visual FoxPro 6.0”、.T.、2007-10-20;(2)建立x1(2)和x2(2,2)數(shù)組,給數(shù)組各元素賦4種類型(N、C、L

6、、D)的值并輸出;(3)使用DISP MEMO 和LIST MEMO命令,分別顯示內(nèi)存變量及數(shù)組變量,注意這兩條命令的區(qū)別。2.3幾種常用函數(shù)的使用實驗(1)輸出下列算術(shù)函數(shù)?abs(-11.9),sqrt(5),exp(3)?log(2.9876),int(-6.2534),round(21234.5678,-2)(2)輸出下列字符運算函數(shù)?len(“Hello”),left(“Im a student”,2)?right(“Im a student”,7),substr(“Im a student”,6,7)(3)輸出下列日期函數(shù)?date(),time(),datetime(),cdow

7、(datetime()(4)輸出下列各類型轉(zhuǎn)換函數(shù)?asc(“xyz”),chr(98),str(323.5566,6,2)?val(“123.45a6”),upper(“a”),lower(“A”)(5)字符運算函數(shù)宏函數(shù)&在命令窗口輸入:a=1b=2c=3yy=a+b+c?yy,&yy2.4 字符和數(shù)值函數(shù)應(yīng)用實驗設(shè)有如下字符串:“Visual foxpro 6 is database management system.”要求編寫命令完成以下目的:(1) 用函數(shù)方法將foxpro改為FoxPro,將database改為DataBase。提示:使用檢索字符替換函數(shù)strtr

8、an(),其語法格式為Strtran(<源字符串表達式>,<被替換的字符串表達式>,<用于替換的字符串表達式>)(2) 取該字符串長度除以6的余數(shù)。(3) 在該字符串兩邊各增加”*”字符串。(4) 將第6個字母的ASCII值減去32再放回到原位置。2.5 邏輯與日期函數(shù)實驗(1) 給內(nèi)存變量a1賦值6,給內(nèi)存變量a2賦值20:Ø 測試a1是否位于120之間;Ø 測試a1變量的數(shù)據(jù)類型,測試a1是否為空;Ø 測試a2變量的值是否大于10,是則返回“是”,否則返回“不是”。(2) 輸出當(dāng)前時間的年、月、日、星期幾。(3) 輸出dat

9、etime()函數(shù)的年2.6對各種類型表達式進行求值實驗(1) 給各變量賦值:a=2,b=3,c=4,e=5,f=6,輸出下面表達式的值及類型:b+(2+c)/a/(e+f)*(a+b)(2) 對下列各個表達式求值:Ø “ABC”=”ABCE123”和”ABCE123”=”ABC”;Ø “ABC”$”123ABC” 和”123ABCDE”$”ABC”Ø ”ABCE123”=”ABC” 和”ABCE123”=”ABC”(3) 在命令窗口給各變量賦值:a=1, b=2, c=3, x=123, aa=” 機 電 學(xué) 院 ”, bb=” 機 設(shè) ”, cc=”05”,

10、dd=aa+space(1)+bb+space(1)+cc, ee=substr(dd,9,10)Ø 求邏輯表達式:(b*2-4*a*c)>0 . AND. (b+a+c)/b>0的值;Ø 求表達式:aa$ee, ee$cc, ee$dd, AT(cc,ee), ee-aa+bb的值;Ø 求表達式:NOT a>b AND aa=”機電學(xué)院” OR c+30>200的值(4) ASC(“A”)<ASC(“B”).OR.ABS(-22.2)>MAX(-11,22.2).AND.MOD(22,5)<MIN(-22.2,22)(5

11、) REPLICASE(STR(321+VAL(“32A1”),3),3)(6) 求函數(shù)TYPE(“X”)的值,LEN(“&X”)的值(7) MONTH(CTOD(“12-21-2006”)+40(8) DAY(CTOD(“12-21-2006”)+40(9) YEAR(CTOD(“12-21-2006”)+40機械工程數(shù)據(jù)庫實驗指導(dǎo)第二次實驗 VFP表的基本操作實驗4:表的建立與顯示1實驗?zāi)康模?#216; 掌握Visual FoxPro中表結(jié)構(gòu)的建立方法Ø 掌握表中記錄的輸入方法2實驗內(nèi)容:記錄:學(xué)號某性別出生日期院系0502051101王祖賢女12/25/80外語050

12、2051102X翔男02/17/80計算機0502051103李詠男03/10/80物理0502051104姜昆男02/13/81數(shù)學(xué)0502051105X冰冰女03/15/80數(shù)學(xué)0502051106夏雪兒女02/14/81物理2.1 建立學(xué)生檔案表,表名為學(xué)生.dbf表結(jié)構(gòu)為:學(xué)號C(10),某C(12),性別C(2),出生日期D,院系C(18)2.2 確定表結(jié)構(gòu)后,立即輸入前4條記錄2.3 以瀏覽方式查看表結(jié)構(gòu)和記錄,并追加后兩條記錄2.4 按以下內(nèi)容分別建立課程.dbf和學(xué)生成績.dbf兩個數(shù)據(jù)表的結(jié)構(gòu)并添加記錄課程.dbf的表結(jié)構(gòu)為:課程編號C(4),課程名稱C(20),開課院系C(

13、18)學(xué)生成績.dbf的表結(jié)構(gòu)為:學(xué)號C(10),課程編號C(4),成績N(5,1)各表的內(nèi)容如下:表一、課程表記錄課程編號課程名稱開課院系C101大學(xué)英語外語C102計算機基礎(chǔ)計算機C103高等數(shù)學(xué)數(shù)學(xué)C104數(shù)據(jù)結(jié)構(gòu)計算機C105普通物理物理C106日語一級外語表二、學(xué)生成績表記錄學(xué)號課程編號成績0502051101C101850502051103C101700502051101C102900502051103C103750502051104C106600502051105C106520502051108C10486實驗5:表的修改與維護1實驗?zāi)康模?#216; 掌握表結(jié)構(gòu)的修改方法

14、16; 掌握表記錄的追加、刪除、插入的基本方法2實驗內(nèi)容:2.1 表結(jié)構(gòu)的修改在上面實驗的學(xué)生檔案表中添加“備注”字段,輸入每個學(xué)生的特長及獲獎情況。2.2 表記錄的追加在學(xué)生檔案表尾部追加一條新的記錄:0502051109,鄧萌,男,05/01/81,化學(xué)2.3 表記錄的刪除物理刪除學(xué)生檔案表中的第6條記錄(見下表)2.4 表記錄的插入在學(xué)生檔案表的第2條與第3條記錄之間插入一條記錄:0502051108,李霞,女,09/08/80,生物。實驗6:表的復(fù)制與導(dǎo)入導(dǎo)出1實驗?zāi)康模?#216; 掌握表的復(fù)制方法Ø 掌握表的導(dǎo)出導(dǎo)入方法2實驗內(nèi)容:(1) 將學(xué)生.dbf表復(fù)制為文件名為檔

15、案.dbf的表。(2) 僅復(fù)制學(xué)生.dbf表的結(jié)構(gòu),新表命名為xsh.dbf。任意輸入兩條記錄并將其添加到學(xué)生.dbf的表尾。(3) 將學(xué)生.dbf表導(dǎo)出生成Excel表格。實驗7:表順序的組織與定位檢索1實驗?zāi)康模?#216; 掌握表的物理排序Ø 掌握索引的建立方法Ø 掌握索引排序Ø 掌握索引查詢Ø 掌握利用命令建立非結(jié)構(gòu)復(fù)合索引文件并進行查詢的方法。2實驗內(nèi)容:(1) 使用sort命令對表文件學(xué)生.dbf進行排序,并建立新的排序文件。要求按性別降序排列,當(dāng)性別相同時再按照出生日期升序排列,建立排序文件學(xué)生2.dbf。(2) 利用標(biāo)設(shè)計器對表文件學(xué)生.

16、dbf建立關(guān)于學(xué)號、某、院系的結(jié)構(gòu)復(fù)合索引文件,其中以學(xué)號為候選索引,以某為普通索引,以院系為普通索引。(3) 對表文件學(xué)生.dbf利用命令按“某”進行索引排序。(4) 使用seek命令在學(xué)生.dbf中檢索某為“李詠”的學(xué)生,并顯示該學(xué)生情況。(5) 利用命令對表文件學(xué)生.dbf按出生年和性別建立非結(jié)構(gòu)復(fù)合索引文件fsy.cdx,并顯示;(6) 在已建立索引的學(xué)生.dbf中查找第一個1980年出生的男生情況。實驗8:表數(shù)據(jù)的計算統(tǒng)計1實驗?zāi)康模?#216; 掌握按條件統(tǒng)計記錄數(shù)Ø 掌握按條件求和Ø 掌握按條件求平均值Ø 掌握按條件分類匯總Ø 掌握通過函數(shù)

17、進行計算的方法。2實驗內(nèi)容:(1) 利用命令統(tǒng)計表學(xué)生.dbf中物理系的女生人數(shù)。(2) 利用命令統(tǒng)計學(xué)生成績表中成績的和。(3) 利用命令統(tǒng)計學(xué)生成績.dbf中所有學(xué)生的平均成績。(4) 利用命令對學(xué)生成績.dbf中所有學(xué)生,計算每個學(xué)生的總成績,并將結(jié)果存入tabel1.dbf。(5) 利用命令求學(xué)生成績表中課程編號為“C106”的人數(shù)、最高成績、最低成績、平均成績,并將結(jié)果存入相應(yīng)變量中,然后顯示變量的值。實驗9:多表操作1實驗?zāi)康模?#216; 掌握在不同工作區(qū)打開不同的表文件并顯示的方法。Ø 掌握利用命令建立表間臨時關(guān)聯(lián)Ø 掌握使用數(shù)據(jù)庫工作期,建立表間臨時關(guān)聯(lián)&

18、#216; 掌握實現(xiàn)表間的物理連接Ø 掌握實現(xiàn)表間的數(shù)據(jù)更新的方法。2實驗內(nèi)容:(1) 分別利用命令和數(shù)據(jù)工作期兩種方法,分別在1,2,3號工作區(qū)打開表文件:學(xué)生.dbf,課程.dbf,學(xué)生成績.dbf。并在1號工作區(qū)顯示課程.dbf的課程名稱字段,在2號工作區(qū)顯示學(xué)生成績.dbf中的課程編號和成績字段。(2) 根據(jù)表文件學(xué)生.dbf、課程.dbf、學(xué)生成績.dbf,使用命令序列建立關(guān)聯(lián),顯示每個學(xué)生的選課情況及成績。要求顯示該學(xué)生的學(xué)號、某、課程編號、課程名稱、成績。(3) 根據(jù)表文件學(xué)生.dbf、課程.dbf、學(xué)生成績.dbf,使用數(shù)據(jù)工作期實現(xiàn)查詢選修了大學(xué)英語的學(xué)生情況。要求

19、顯示該課程的課程編號、課程名稱、學(xué)生的學(xué)號、某、成績。(4) 查詢各個院系開設(shè)課程的學(xué)生選課情況及成績,并存入一個新的表文件kaike.dbf。要求顯示開課院系、學(xué)生學(xué)號、課程名稱、成績。(5) 按下面的表建立學(xué)生年齡.dbf,而年齡字段要求利用學(xué)生表中的出生日期字段的值每年更新一次,寫出相應(yīng)的命令。記錄學(xué)號某年齡0502051101王祖賢00502051102X翔00502051103李詠00502051104姜昆00502051105X冰冰00502051106夏雪兒00502051108李霞0機械工程數(shù)據(jù)庫實驗指導(dǎo)第三次實驗 VFP數(shù)據(jù)庫的基本操作實驗10:數(shù)據(jù)庫的創(chuàng)建與管理1實驗?zāi)康模?/p>

20、Ø 熟練掌握創(chuàng)建數(shù)據(jù)庫的方法。Ø 熟練掌握表的添加與刪除操作Ø 熟練進行數(shù)據(jù)庫表的特有屬性設(shè)置。2實驗內(nèi)容:2.1 使用命令菜單或命令按鈕創(chuàng)建數(shù)據(jù)庫。步驟:采用“文件”“新建”“數(shù)據(jù)庫”“新建文件”等菜單和對話框新建名稱為STUDENT1的數(shù)據(jù)庫。2.2 使用窗口命令方式創(chuàng)建數(shù)據(jù)庫STUDENT2采用Create命令創(chuàng)建2.3 使用項目管理器創(chuàng)建數(shù)據(jù)庫STUDENT3步驟1:新建項目XM1;步驟2:使用項目管理器創(chuàng)建數(shù)據(jù)庫。2.4 向數(shù)據(jù)庫中添加表步驟1:打開數(shù)據(jù)庫STUDENT1及數(shù)據(jù)庫設(shè)計器;步驟2:添加前幾次實驗所建的自由表到數(shù)據(jù)庫中:學(xué)生.dbf、課程.d

21、bf、成績.dbf2.5 設(shè)置數(shù)據(jù)庫表的特有屬性步驟1:打開表設(shè)計器。步驟2:設(shè)置索引。Ø 在表設(shè)計器“字段”標(biāo)簽的“索引”欄選擇升序或降序建立普通索引,如選“學(xué)號”升序建立普通索引;Ø 在表設(shè)計器“索引”標(biāo)簽的“類型”欄設(shè)置其它類型索引,并可設(shè)置索引表達式和索引名:設(shè)置學(xué)生表的主索引為學(xué)號,設(shè)置課程表的主索引為課程編號,設(shè)置成績表的普通索引為學(xué)號和課程號。步驟3:設(shè)置字段約束。在表設(shè)計器的“字段”標(biāo)簽設(shè)置。以成績表成績字段為例,設(shè)置顯示標(biāo)題為“選課成績”,字段有效性規(guī)則為成績=>0.AND.成績<=100,出錯信息為“成績應(yīng)在0到100之間”,默認(rèn)值為80,字

22、段注釋為“記錄每個學(xué)生所選課程的成績”。步驟4:設(shè)置表約束。在表設(shè)計器的“表”標(biāo)簽設(shè)置。如可設(shè)置長表名、記錄有效性、表注釋、觸發(fā)器等。2.6 設(shè)置表間聯(lián)系及參照完整性約束步驟1:設(shè)置永久聯(lián)系。在數(shù)據(jù)庫設(shè)計器中以索引“學(xué)號”建立學(xué)生表與成績表之間的永久聯(lián)系,以索引“課程編號”建立成績表與課程表之間的永久聯(lián)系。步驟2:設(shè)置參照完整性規(guī)則Ø 首先對數(shù)據(jù)庫進行清理; Ø 調(diào)出“編輯參照完整性”窗口將三表的規(guī)則兩兩設(shè)置為更新級聯(lián)、刪除限制、插入限制。2.7 察看參照完整性規(guī)則的作用(1) 在成績表的成績字段輸入一個小于0的數(shù),觀察提示;(2) 在學(xué)生表中刪除一個記錄,這個記錄的學(xué)號出

23、現(xiàn)在成績表中觀察提示;(3) 在成績表中添加一個記錄,這個記錄的學(xué)號不是學(xué)生表中存在的學(xué)號或這個記錄的課程編號不是課程表中存在的課程編號,觀察提示;(4) 在學(xué)生表中修改一個學(xué)號,這個學(xué)號已在成績表中存在,或在課程表中修改一個課程編號,而這個課程編號存在于成績表中,觀察成績表相關(guān)記錄的變化,并將其修改復(fù)原;(5) 在學(xué)生表中添加一條記錄,該紀(jì)錄的學(xué)號與存在的學(xué)號相同,觀察提示。2.8 移去和刪除表步驟1:在STUDENT1數(shù)據(jù)庫中任意新建一個表,設(shè)置主索引和有效性規(guī)則;步驟2:將表移出數(shù)據(jù)庫,打開表設(shè)計器觀察索引和有效性規(guī)則的變化;步驟3:將該表重新添加進數(shù)據(jù)庫中,然后刪除。實驗11:查詢設(shè)計

24、器與視圖設(shè)計器的使用1實驗?zāi)康模?#216; 熟練使用查詢設(shè)計器進行各種查詢操作。Ø 熟練使用視圖設(shè)計器設(shè)計視圖、操作視圖。2實驗內(nèi)容:2.1 簡單查詢練習(xí)要求:建立查詢文件CX1,查詢學(xué)生表中數(shù)學(xué)系的學(xué)生信息。在試驗報告中詳細描述操作步驟。2.2 分組計算查詢要求:建立查詢文件CX2,查詢選修了兩門以上課程的學(xué)生學(xué)號、選課門數(shù)和平均成績。在試驗報告中詳細描述操作步驟。2.3 多表查詢要求:建立查詢文件CX3,查詢學(xué)生某、選修課程名稱和成績,結(jié)果按成績由高到低排序到表WW.DBF中。在試驗報告中詳細描述操作步驟。2.4 綜合查詢要求:建立查詢文件CX4,查詢70分以上的學(xué)生信息,包括

25、某、年齡、課程編號、成績,結(jié)果按年齡由高到低排序。在試驗報告中詳細描述操作步驟。2.5 建立視圖要求:創(chuàng)建視圖ST1,包含學(xué)生表中的學(xué)號、某,課程表中的課程名稱,成績表中的成績,修改視圖中的成績?yōu)槊織l記錄加5分,并將結(jié)果發(fā)送回成績表中。在試驗報告中詳細描述操作步驟。實驗12:SQL語言的使用1實驗?zāi)康模?#216; 掌握SQL語言語言的數(shù)據(jù)定義功能。Ø 掌握SQL語言的數(shù)據(jù)更新功能。Ø 掌握SQL語言的數(shù)據(jù)查詢功能。2實驗內(nèi)容:2.1 建立人事數(shù)據(jù)庫(1)根據(jù)下表給出的表結(jié)構(gòu),使用SQL語言建立數(shù)據(jù)庫表(職工.dbf),定義職工號為主索引,性別默認(rèn)為”男”,工資限定在500

26、2000,默認(rèn)值為1000,出錯信息為“工資應(yīng)在5002000之間”。在試驗報告中詳細描述操作步驟,并給出SQL命令。字段名類型寬度小數(shù)位數(shù)職工號C5部門號C2某C8性別C2職稱C10出生日期D8婚否L1工資N72(2)建立部門表(部門代碼C(2),部門名稱C (10),負(fù)責(zé)人C(8)),部門代碼為主索引,要求給出表建立的SQL命令語言。(3)建立工資表(職工號C(5),基本工資N(8,2),津貼N(7,1),獎金N(3),會費N(5,2),公積金N(3)),要求給出表建立的SQL命令語言。(4)修改表結(jié)構(gòu):要求刪除職工表的婚否字段,增加年齡字段I,將某字段寬度改為6;職稱字段增加默認(rèn)值“教授

27、”。在試驗報告中給出SQL命令語句。(5)按下表內(nèi)容輸入各表的數(shù)據(jù)。部門表.DBF參考數(shù)據(jù)部門代碼部門名稱負(fù)責(zé)人22網(wǎng)絡(luò)教研室李新12基礎(chǔ)教研室王雨21軟件教研室李瑪麗11教育教研室李斯職工.DBF參考數(shù)據(jù)如下職工號部門號某性別職稱出生日期婚否工資0235611周小杰男講師12/25/70.T.863.000252812王雨女副教授03/12/60.T.1024.000102311李斯男副教授07/08/61.T.1024.000103512蔡英女講師09/18/76.F.658.000252621X紅女副教授12/25/70.T.863.000123421李瑪麗女副教授05/23/70.T.

28、863.000245822李新男教授03/11/58.T.1146.000263622X然女助教06/19/80.F.569.00工資.DBF參考數(shù)據(jù)如下職工號基本工資津貼獎金會費公積金02356582.00213.51152.919002528662.00283.01443.3114001023628.00265.01363.1412001035546.00193.0962.738002526606.00223.01153.0312001234606.00223.01153.0312002458748.00302.01562.7416002636464.00143.0782.32702.2

29、查詢表數(shù)據(jù)以下各個查詢都要求在實驗報告中給出詳細的SQL查詢語句。 查詢部門代碼第一個字符為2的部門信息 查詢職工表中70年(含70年)以前出生的男職工的某和工資。 查詢職工表中1960到1970年之間的出生的職工某和出生日期。 統(tǒng)計職工表中記錄數(shù)和部門數(shù)。 統(tǒng)計職工表中工資總和及平均工資。 按部門統(tǒng)計各部門人數(shù)、工資和、最高工資、最低工資、平均工資。 查詢職工表中副教授以上的記錄,并按工資降序排列,工資相同時按出生日期升序排列。 查詢男職工的某和工資信息。 查詢所有職工的某、所在部門名稱和基本工資。機械工程數(shù)據(jù)庫實驗指導(dǎo)第四次實驗 VFP程序設(shè)計實驗13:順序結(jié)構(gòu)和分支結(jié)構(gòu)程序設(shè)計1實驗?zāi)康?/p>

30、:Ø 掌握常用的交互語句和移動指針命令的運用。Ø 掌握編寫順序結(jié)構(gòu)程序的思路和方法。Ø 掌握使用ifelseendif語句編寫程序的方法。Ø 掌握使用do case endcase語句編寫程序的方法。2實驗內(nèi)容:(1)試編寫一個程序XSWH.PRG,能根據(jù)表“學(xué)生.DBF”(實驗4建立的數(shù)據(jù)表)的記錄號來修改某學(xué)生的學(xué)號和某。【提示】:本實驗的重點是順序結(jié)構(gòu)程序的編寫及絕對移動指針命令和格式輸入語句的運用。題目要求根據(jù)用戶指定的記錄號來修改學(xué)生的學(xué)號和某,則程序中需要把用戶輸入的記錄號賦給某個變量存儲,然后把指針移動到該變量所指的記錄上,再用交互語句SA

31、Y語句把用戶輸入的某和學(xué)號賦給該記錄的相應(yīng)字段變量(即某和學(xué)號),從而修改了指定記錄的相應(yīng)字段,完成程序功能。(2)有如下一段程序代碼,其功能是根據(jù)用戶輸入的考試成績來顯示相應(yīng)的等級成績。試使用do case endcase語句編寫程序,完成上述功能。Set talk offClearInput “請輸入考試成績:” to cjdj=iif(cj<60,”不合格”, iif(cj>=90, “優(yōu)秀”, “合格”)?”成績等級:”, djSet talk on實驗14:循環(huán)結(jié)構(gòu)、子程序與過程程序設(shè)計1實驗?zāi)康模?#216; 掌握do while enddo語句、scan語句、for語

32、句的使用方法。Ø 掌握編單循環(huán)和多循環(huán)結(jié)構(gòu)的程序設(shè)計方法。Ø 使用子程序的編程方法編寫程序。Ø 掌握公有變量、私有變量和局部變量的作用域及使用方法。2實驗內(nèi)容:(1)編寫單循環(huán)程序CX2.PRG,要求完成以下功能:復(fù)制“學(xué)生”表到“學(xué)生1”表,在“學(xué)生1”表中添加一個字段“總學(xué)分N(10,2)”,要求根據(jù)“學(xué)生成績表”和“課程表”計算“學(xué)生1”表中每個學(xué)生的總學(xué)分(選課成績大于等于60分才能算有學(xué)分);在學(xué)生的總成績大于等于100的學(xué)生中,查詢總成績最低的學(xué)生的學(xué)號和總分,將結(jié)果保存在“學(xué)生2.dbf”中。參考程序如下:Dimension temp(1) &

33、;&定義數(shù)組tempClose all databaseUse 學(xué)生Copy to 學(xué)生1 &&將學(xué)生表復(fù)制到學(xué)生1表中Alter table 學(xué)生1 add 總學(xué)分 N(2) &&增加字段總學(xué)分Use 學(xué)生成績 in 0Select 學(xué)生1&&選擇學(xué)生1所在的工作區(qū)Do while .NOT. EOF()&&表指針沒有達到文件末尾,進入循環(huán)xh=學(xué)號temp(1)=0*查詢用戶xh最近一次存取記錄的總學(xué)分,查詢結(jié)果保存在數(shù)組中select sum(學(xué)分) from 學(xué)生成績,課程 where 學(xué)生成績.學(xué)號=xh AND

34、;學(xué)生成績.課程編號=課程.課程編號 AND 成績>=60 into array tempSelect 學(xué)生1Replace 總學(xué)分 with temp(1) &&修改學(xué)生1中當(dāng)前記錄的總學(xué)分Skip&&指針指向下一個記錄Enddo*按學(xué)號分組查詢各個學(xué)生的總成績,分組條件是總成績>100,查詢結(jié)果保存在臨時表中Select 學(xué)號,sum(成績) as 總成績 from 學(xué)生成績 group by 學(xué)號;Having sum(成績)>=100 into cursor tempbSelect 學(xué)號,min(總成績) from tempb into

35、 dbf 學(xué)生2.dbfClose all database(2)試編寫一個程序XSCX.PRG,功能是在表“學(xué)生.DBF”中找出所有總學(xué)分大于等于P的學(xué)生的學(xué)號、某和總學(xué)分?jǐn)?shù),并要求在各輸出行下顯示一行虛線。ClearUse 學(xué)生10,15 say “請輸入總學(xué)分:” Get P Default 0ReadScan &&外循環(huán)If 總學(xué)分 >= P? 學(xué)號 + Space(3) + 某 + Space(3) + Str(總學(xué)分,2)? && 起換行作用I=0Do While I<30? “-”I=I+1EnddoEndifEndScanUse(3)

36、使用子程序的編程方法,編寫程序完成按照下面公式進行計算C的值ClearInput “請輸入整數(shù)M:” to MInput “請輸入整數(shù)N:” to NJ=1 &&程序中的私有變量,用來傳遞每次調(diào)用自程序后的階乘值Do p with M &&以M為參數(shù)調(diào)用p子程序求M!C=J &&主程序中的繼續(xù)運算Do p with N &&以N為參數(shù)調(diào)用p子程序求N!C=C/JDo p with M-N &&以M-N為參數(shù)調(diào)用p子程序求(M-N)!C=C/J?”C=”, CProcedure p &&子程序Para

37、meters y &&設(shè)置形參yJ=1For I=1 to yJ=J*IEndforReturnEnd proc(4)運行下面程序,寫出運行結(jié)果,并指出3個變量x,y,z的類型(私有變量、公有變量還是局部變量)及其作用X圍。程序運行結(jié)束后,在命令窗口中分別顯示x,y,z變量的值,察看顯示結(jié)果。輸入release all 命令后,再顯示x,y,z變量的值,察看顯示結(jié)果,并進行比較,說明原因。Clear Public xLocal yZ=”f”Do subq?”主程序中”?x=,x?y=,y?z=,zReturnProc sub1?”子程序中”?x=,x?z=,zEndprocX-

38、公有變量,從建立開始直到release all 等命令后公有變量才釋放,其初始值為.F.Y-局部變量,只能在建立它的主程序中使用,程序結(jié)束后自動釋放,其初始值為.F.Z-私有變量,能夠在建立它的主程序及其調(diào)用的子程序中使用,自動釋放其初始值為.F.實驗15:表單設(shè)計及表單控件設(shè)計1實驗?zāi)康模?#216; 掌握使用表單向?qū)?chuàng)建表單的方法。Ø 掌握使用表單設(shè)計器設(shè)計表單的方法。Ø 掌握使用快捷表單命令創(chuàng)建表單的方法。Ø 掌握表單控件的使用方法。2實驗內(nèi)容:(1)使用一對多表單向?qū)?chuàng)建一個應(yīng)用于按院系維護學(xué)生成績單的涉及“學(xué)生”和“學(xué)生成績”兩X表的表單。操作指導(dǎo):步驟1:打開表單向?qū)υ捒颍x取“一對多”表單向?qū)В徊襟E2:“從父表中選定字段”操作,從“學(xué)生”表中選擇字段:院系、某;步驟3:“從子表中選定字段”操作,從“學(xué)生成績”表中選擇所有字段;步驟4:“關(guān)聯(lián)表”操作,建立學(xué)生.學(xué)號與學(xué)生成績.學(xué)號之間的聯(lián)系;步驟5:“選擇表單樣式”步驟,采用凹陷式表單;步驟6:“紀(jì)錄排序”操作,本例不需更改;步驟7:“完成”步驟。(2)利用快速表單為學(xué)生.dbf設(shè)計一個紀(jì)錄編輯表單“學(xué)生表單.scx”,表單樣式為浮雕式。在表單上添加一個按鈕mand1(標(biāo)題為“下一記錄”),要求單擊該按鈕,表單上顯示學(xué)生表中當(dāng)前記錄的下一記錄的內(nèi)容,如果到

溫馨提示

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

最新文檔

評論

0/150

提交評論