實(shí)驗(yàn)四 基本程序設(shè)計(jì)一_第1頁(yè)
實(shí)驗(yàn)四 基本程序設(shè)計(jì)一_第2頁(yè)
實(shí)驗(yàn)四 基本程序設(shè)計(jì)一_第3頁(yè)
實(shí)驗(yàn)四 基本程序設(shè)計(jì)一_第4頁(yè)
實(shí)驗(yàn)四 基本程序設(shè)計(jì)一_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)四基本程序設(shè)計(jì)一一、實(shí)驗(yàn)學(xué)時(shí)3學(xué)時(shí)二、實(shí)驗(yàn)?zāi)康?掌握程序文件(.PRG)的建立、修改和運(yùn)行方法。2掌握基本輸入、輸出語(yǔ)句的使用。3掌握環(huán)境設(shè)置語(yǔ)句的含義和使用。4掌握程序設(shè)計(jì)基本結(jié)構(gòu)中的順序結(jié)構(gòu)和選擇結(jié)構(gòu)。三、實(shí)驗(yàn)要求1了解如何創(chuàng)建良好的程序編寫環(huán)境。2掌握基本輸入命令I(lǐng)NPUT,WAIT,ACCEPT并注意三者區(qū)別;輸出語(yǔ)句?、?區(qū)別。3掌握環(huán)境設(shè)置語(yǔ)句(CLEAR、SET)。4掌握程序建立,修改,保存,運(yùn)行等命令。5掌握簡(jiǎn)單的程序編寫(順序結(jié)構(gòu))。6掌握選擇結(jié)構(gòu)中IFENDIF語(yǔ)句和DO-CASEENDCASE語(yǔ)句的使用。四、上機(jī)實(shí)例(一)順序結(jié)構(gòu)順序結(jié)構(gòu)的程序運(yùn)行時(shí)按照語(yǔ)句排列的先后

2、順序,一條接一條地依次執(zhí)行,它是程序中最基本的結(jié)構(gòu)?!纠?.1】編程,根據(jù)輸入的半徑值,計(jì)算出相應(yīng)的圓面積?!窘忸}思路】編程時(shí),首先用輸入語(yǔ)句輸入圓半徑,然后用公式計(jì)算圓面積,最后用輸出語(yǔ)句輸出圓面積【程序代碼】:SET TALK OFFCLEARINPUT “請(qǐng)輸入圓的半徑:” TO RS=3.14*R*R? “圓的面積是:”+ALLTRIM(STR(S,19,2)SET TALK ON【例4.2】在學(xué)生表中,根據(jù)從鍵盤上輸入的學(xué)生姓名,顯示該學(xué)生的基本情況。(例如:楊峰)【解題思路】編程時(shí),首先要打開“學(xué)生”表文件,然后用輸入語(yǔ)句輸入學(xué)生姓名,接著把記錄指針定位在該學(xué)生,顯示改學(xué)生信息,最

3、后關(guān)閉表文件?!境绦虼a】:SET TALK OFFCLEARUSE 學(xué)生ACCEPT “請(qǐng)輸入學(xué)生姓名:” TO XMLOCATE FOR 姓名=XMDISPLAYUSESET TALK ON【例4.3】編寫一程序能顯示指定表文件中的指定記錄(如指定記錄號(hào))內(nèi)容。【解題思路】編程時(shí),首先要從鍵盤輸入指定表文件,然后打開指定表文件,接下來(lái)要求輸入指定記錄號(hào),然后把記錄指針移到該記錄并顯示,最后關(guān)閉該表文件?!境绦虼a】:SET TALK OFFCLEARACCEPT “請(qǐng)輸入表文件名:” TO BWJUSE &BWJINPUT “請(qǐng)輸入記錄號(hào):” TO JLHGO JLHDISPLAYUSES

4、ET TALK ON(二)選擇分支結(jié)構(gòu)選擇分支結(jié)構(gòu)是根據(jù)條件的測(cè)試結(jié)果執(zhí)行不同的操作。即程序中某些命令的執(zhí)行受某一條件的控制,當(dāng)條件成立時(shí),執(zhí)行其中的一部分命令,不成立時(shí)執(zhí)行其他的命令,即根據(jù)條件決定做什么操作。VFP中有兩條命令實(shí)現(xiàn)條件分支:二路選擇分支結(jié)構(gòu)(IFENDIF)和多路選擇分支結(jié)構(gòu)(DO-CASEENDCASE),其中IFENDIF語(yǔ)句又可分成帶ELSE與不帶ELSE兩種格式?!纠?.4】已知一元一次方程AX+B=0,輸入A、B值后,求解X值?!窘忸}思路】該方程只有當(dāng)A不等于零時(shí),方程才會(huì)有解X= B/A,而當(dāng)X=0時(shí)就不用求解?!境绦虼a】:SET TALK OFFCLEARI

5、NPUT “A=” TO AINPUT “B=” TO BIF A0 X= B/A?“X=”,XENDIFSET TALK ON【例4.5】從鍵盤輸入學(xué)生的學(xué)號(hào),在“成績(jī)”表中計(jì)算該生的平均成績(jī),并判斷平均成績(jī)是否大于60分,分別顯示“平均分及格”和“平均分不及格”信息,如果該生不在表中則提示相應(yīng)的信息?!窘忸}思路】由題意得知,從鍵盤輸入的學(xué)號(hào)在“成績(jī)”表中確實(shí)存在才有統(tǒng)計(jì)平均成績(jī)的必要。用戶輸入的學(xué)號(hào)一旦在“成績(jī)”表中找不到,程序運(yùn)行之后雖然不會(huì)出錯(cuò),但卻因?yàn)檎也坏綕M足條件的記錄而得出我們不期望看到的結(jié)果。所以必須采取相應(yīng)的輸入值檢驗(yàn)措施。解題步驟如下:(1)對(duì)表中信息進(jìn)行查詢,首先必須打開

6、相應(yīng)的表文件。(2)運(yùn)用相應(yīng)的字符輸入語(yǔ)句實(shí)現(xiàn)輸入學(xué)號(hào)操作。(3)查找指定的學(xué)號(hào)(可用順序查找或索引查找命令)。(4)判斷輸入的學(xué)號(hào)在“成績(jī)”表中是否存在,如果存在就進(jìn)行下面的步驟5,否則給出提示信息,說(shuō)明指定的學(xué)號(hào)不存在。直接進(jìn)行步驟6。(5)計(jì)算該學(xué)號(hào)學(xué)生的平均成績(jī),并判斷該平均成績(jī)是否大于等于60分,如果是則顯示“平均分及格”信息,否則顯示“平均分不及格”信息。(6)結(jié)束對(duì)表中信息的操作,關(guān)閉相應(yīng)的表文件?!境绦虼a】:SET TALK OFFCLEARUSE 成績(jī)ACCEPT 請(qǐng)輸入學(xué)號(hào): TO MXHLOCATE FOR 學(xué)號(hào)=MXHIF FOUND()AVERAGE 成績(jī) TO M

7、PJCJ FOR 學(xué)號(hào)=MXH?MPJCJIF MPJCJ=60?平均分及格!ELSE?平均分不及格!ENDIFELSE? 該學(xué)號(hào)不存在!ENDIFUSESET TALK ON【例4.6】對(duì)上面統(tǒng)計(jì)平均成績(jī)的程序進(jìn)行擴(kuò)充,按平均成績(jī)分別顯示出“優(yōu)”(90100),“良”(8089),“中”(7079),“及格”(6069)和“不及格”(低于60分)?!窘忸}思路】該題基本方法同上,只是在進(jìn)行步驟5時(shí),首先判斷平均成績(jī)是否大于等于90,如是則顯示“優(yōu)”;否則繼續(xù)判斷平均成績(jī)是否大于等于80,如是則顯示“良”,否則繼續(xù)判斷平均成績(jī)是否大于等于70,依次類推,直到該平均成績(jī)小于60,則顯示“不及格”。

8、因此要用到IFENDIF的嵌套結(jié)構(gòu)?!境绦虼a】:SET TALK OFFCLEARUSE 成績(jī)ACCEPT 請(qǐng)輸入學(xué)號(hào): TO MXHLOCATE FOR 學(xué)號(hào)=MXHIF EOF()? 該學(xué)號(hào)不存在!ELSEAVERAGE 成績(jī) TO MPJCJ FOR 學(xué)號(hào)=MXHIF MPJCJ=90DC=優(yōu)ELSEIF MPJCJ=80DC=良ELSEIF MPJCJ=70DC=中ELSEIF MPJCJ=60DC=及格ELSEDC=不及格ENDIFENDIFENDIFENDIF?MXH,MPJCJ,DCENDIFUSESET TALK ON從上可看出,IF結(jié)構(gòu)只能在兩種情況下做出選擇。如果出現(xiàn)兩種

9、以上的情況,則需要采用嵌套的IF結(jié)構(gòu)。多重嵌套的分支結(jié)構(gòu)不僅增加了編寫程序的困難,也影響程序的可讀性,這種情況下可以使用多分支結(jié)構(gòu)DO CASEENDCASE語(yǔ)句來(lái)實(shí)現(xiàn)。因此上述程序可以編寫如下:SET TALK OFFCLEARUSE 成績(jī)ACCEPT 請(qǐng)輸入學(xué)號(hào): TO MXHLOCATE FOR 學(xué)號(hào)=MXHIF EOF()? 該學(xué)號(hào)不存在!ELSEAVERAGE 成績(jī) TO MPJCJ FOR 學(xué)號(hào)=MXHDO CASECASE MPJCJ=90DC=優(yōu)CASE MPJCJ=80DC=良CASE MPJCJ=70DC=中CASE MPJCJ=60DC=及格OTHERWISEDC=不及格ENDCASE?MXH,MPJCJ,DCENDIFUSESET TALK ON五、上機(jī)練習(xí)題【練習(xí)4.1】用順序結(jié)構(gòu)編寫一個(gè)程序連接兩個(gè)字符串(分別從鍵盤輸入)。【練習(xí)4.2】用順序結(jié)構(gòu)編寫程序,實(shí)現(xiàn)對(duì)“學(xué)生”表中指定學(xué)生(由鍵盤輸入)的獎(jiǎng)學(xué)金加10元,并顯示該學(xué)生的獎(jiǎng)學(xué)金。【練習(xí)4.3】輸入3個(gè)不同的數(shù),將它們從大到小排序(用選擇分支結(jié)構(gòu))?!揪毩?xí)4.4】計(jì)算下列函數(shù)的值: -1Y0【練

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論