




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第三章 程序的建立和執(zhí)行方法書本:第31頁(yè)知識(shí)目標(biāo): 1、創(chuàng)建、修改和執(zhí)行程序文件 2、程序流程語(yǔ)句1、創(chuàng)建、修改和執(zhí)行程序文件 1、建立程序方法 2、修改程序文件 3、運(yùn)行程序文件 例例 3.1 新建一個(gè)程序文件:新建一個(gè)程序文件:p1.prg,實(shí)現(xiàn)從鍵盤上任意輸入,實(shí)現(xiàn)從鍵盤上任意輸入3個(gè)個(gè)數(shù),求它們的和以及平均值并且顯示結(jié)果。數(shù),求它們的和以及平均值并且顯示結(jié)果。 程序代碼:程序代碼: input請(qǐng)輸入第一個(gè)數(shù):to A input請(qǐng)輸入第二個(gè)數(shù):to B input請(qǐng)輸入第三個(gè)數(shù):to C ?A+B+C=,A+B+C ?(A+B+C)/3=,(A+B+C)/32、程序流程語(yǔ)句 程序的結(jié)
2、構(gòu)分為3種:順序、分支、循環(huán) 1、順序結(jié)構(gòu):是指程序的執(zhí)行順序是按照語(yǔ)句的排列順序由上到下一次執(zhí)行。(如下圖)輸出語(yǔ)句輸出語(yǔ)句1輸出語(yǔ)句輸出語(yǔ)句2輸出語(yǔ)句輸出語(yǔ)句32、程序流程語(yǔ)句 2、分支結(jié)構(gòu):是指按照某種條件的判斷結(jié)果來決定程序的執(zhí)行走向,當(dāng)條件成立時(shí)執(zhí)行某個(gè)程序段,當(dāng)條件不成立時(shí)執(zhí)行另一程序段或者什么也不執(zhí)行。(如下圖)(如下圖)輸出語(yǔ)句輸出語(yǔ)句1判斷語(yǔ)句判斷語(yǔ)句輸出語(yǔ)句輸出語(yǔ)句2輸出語(yǔ)句輸出語(yǔ)句3yesno2、程序流程語(yǔ)句 3、循環(huán)結(jié)構(gòu):是指根據(jù)條件的結(jié)果重復(fù)執(zhí)行若干次某個(gè)程序段。(如下圖)(如下圖)輸出語(yǔ)句輸出語(yǔ)句1判斷語(yǔ)句判斷語(yǔ)句輸出結(jié)果輸出結(jié)果結(jié)束結(jié)束條件分支控制語(yǔ)句-if語(yǔ)句
3、(1)if語(yǔ)句,格式: if 邏輯表達(dá)式 then 語(yǔ)句組 1 else 語(yǔ)句組 2 endif 備注:執(zhí)行過程,當(dāng)邏輯表達(dá)式的值為真時(shí),執(zhí)行語(yǔ)句組1;否則,執(zhí)行語(yǔ)句組2。其中else部分可以省略的,如果省略else部分,當(dāng)邏輯表達(dá)式為真時(shí),將會(huì)執(zhí)行語(yǔ)句組1,否則不執(zhí)行任何操作。例3.3 if 語(yǔ)句 鍵盤輸入任意一個(gè)分?jǐn)?shù),如果60分以上,則顯示成績(jī)是合格的,否則顯示成績(jī)是不合格的,請(qǐng)繼續(xù)努力。 程序如下: input 請(qǐng)輸入成績(jī):to A if A=60 then ?成績(jī)是合格的,請(qǐng)繼續(xù)加油! else ?成績(jī)不合格,請(qǐng)繼續(xù)努力吧! endif 輸出結(jié)果:見輸出結(jié)果:見vf例3.4 if 語(yǔ)句
4、題目:判斷輸入的數(shù)是正數(shù)、負(fù)數(shù)還是零。題目:判斷輸入的數(shù)是正數(shù)、負(fù)數(shù)還是零。程序如下程序如下:input請(qǐng)輸入任意的數(shù): to Aif A=0 then ?你輸入的數(shù)字是0else if A0 then ?你輸入的數(shù)字大于0 else ?你輸入的數(shù)字小于0 endifendif輸出結(jié)果:見輸出結(jié)果:見vf例3.5 if語(yǔ)句題目:讀取學(xué)生基本信息表中的數(shù)據(jù),判斷當(dāng)前記錄中的性別字段,題目:讀取學(xué)生基本信息表中的數(shù)據(jù),判斷當(dāng)前記錄中的性別字段,輸出相應(yīng)的提示信息。輸出相應(yīng)的提示信息。程序:程序:SET default to J:VFP教學(xué)用課件Visual FoxPro 7.0教學(xué)課件金山信息技術(shù)
5、學(xué)校學(xué)生信息表 &設(shè)置默認(rèn)值設(shè)置默認(rèn)值 或用或用set path to(設(shè)(設(shè)置默認(rèn)路徑)置默認(rèn)路徑)use 學(xué)生基本情況.dbfIF 性別=男?姓名+是男同學(xué)ELSE?姓名+是女同學(xué)ENDIFuse程序運(yùn)行結(jié)果:程序運(yùn)行結(jié)果:郭小名 是男同學(xué)例 3.6 if語(yǔ)句實(shí)例題目:題目:使用if語(yǔ)句對(duì)輸入的成績(jī)進(jìn)行“優(yōu)秀”,“良好”,“中等”,“及格”,“不及格”的評(píng)定。程序如下:程序如下:input請(qǐng)輸入成績(jī): to Aif A=90?你的成績(jī)優(yōu)秀elseif A=80?你的成績(jī)良好elseif A=70?你的成績(jī)中等elseif A=60?你的成績(jī)及格else?你的成績(jī)不及格endifen
6、difendifendif程序運(yùn)行結(jié)果:程序運(yùn)行結(jié)果:見vfp7.0if語(yǔ)句在flash動(dòng)畫制作中的運(yùn)用 1 、簡(jiǎn)單、簡(jiǎn)單 loading(進(jìn)度加載)(進(jìn)度加載) 代碼:代碼: 方法 1 、使用載入字節(jié)數(shù)判斷 b=getBytesTotal();/ 獲取總的字節(jié)數(shù) a=getBytesLoaded();/ 已經(jīng)下載的字節(jié)數(shù) onEnterFrame=function()/ 進(jìn)入幀時(shí) , 進(jìn)行判斷 if (a = b) / 如果載入的字節(jié)數(shù)等于總的字節(jié)數(shù) delete this.onEnterFrame/ 刪除進(jìn)入幀 gotoAndPlay(frame);/ 轉(zhuǎn)入到你要播放的幀 else / 否
7、則 a=getBytesLoaded();/ 已經(jīng)下載的字節(jié)數(shù) percent=int(a/b*100)+%;/ 計(jì)算已經(jīng)下載的百分比 if 語(yǔ)句總結(jié) 用法:程序中的判斷運(yùn)算。 用途:廣且多 例如:1、通關(guān)游戲中的通關(guān)設(shè)置(游戲類)(游戲類) 2、學(xué)校學(xué)生成績(jī)達(dá)不達(dá)標(biāo)判斷(教育類)(教育類) 3、通信系統(tǒng)中打電話收取電話費(fèi)(商業(yè)類)(商業(yè)類) 缺點(diǎn):一般只用于缺點(diǎn):一般只用于2-4種結(jié)果的判斷,語(yǔ)句重復(fù)較多種結(jié)果的判斷,語(yǔ)句重復(fù)較多input請(qǐng)輸入成績(jī): to Aif A=90?你的成績(jī)優(yōu)秀elseif A=80?你的成績(jī)良好elseif A=70?你的成績(jī)中等elseif A=60?你的成績(jī)
8、及格else?你的成績(jī)不及格endifendifendifendif5種結(jié)果需要重復(fù)寫種結(jié)果需要重復(fù)寫4次次if else語(yǔ)句語(yǔ)句憤怒的小鳥游戲分析分?jǐn)?shù)達(dá)到分?jǐn)?shù)達(dá)到20000分過第一關(guān)分過第一關(guān)if score=20000 進(jìn)入第二個(gè)進(jìn)入第二個(gè)else 重新開始重新開始if.else.endif語(yǔ)句一般適用于有兩三種可能的情況需要判斷,若要語(yǔ)句一般適用于有兩三種可能的情況需要判斷,若要判斷多種可能的情況,判斷多種可能的情況,do case.endcase結(jié)構(gòu)將比使用多個(gè)結(jié)構(gòu)將比使用多個(gè)if語(yǔ)句方語(yǔ)句方便。便。do case語(yǔ)句格式:do casecase 邏輯表達(dá)式1語(yǔ)句組1 case 邏輯表
9、達(dá)式2語(yǔ)句組2.case 邏輯表達(dá)式n語(yǔ)句組n otherwise語(yǔ)句組n+1endcase條件分支控制語(yǔ)句-do case語(yǔ)句備注:當(dāng)備注:當(dāng)case后面的邏輯表后面的邏輯表達(dá)式的值為達(dá)式的值為“值值”時(shí),執(zhí)行時(shí),執(zhí)行該該case后面的語(yǔ)句組;如果后面的語(yǔ)句組;如果所有所有case后面的邏輯表達(dá)式后面的邏輯表達(dá)式的值為的值為“假假”時(shí),則執(zhí)行時(shí),則執(zhí)行otherwise后面的語(yǔ)句組。后面的語(yǔ)句組。例3.7 do case語(yǔ)句題目:題目:使用do case語(yǔ)句對(duì)輸入的成績(jī)進(jìn)行“優(yōu)秀”,“良好”,“中等”,“及格”,“不及格”的評(píng)定。比較一下if語(yǔ)句和do case語(yǔ)句的各自的優(yōu)點(diǎn)。程序代碼:程
10、序代碼:input 請(qǐng)輸入分?jǐn)?shù): to Ado casecase A=90?成績(jī)優(yōu)秀case A=80?成績(jī)優(yōu)良case A=70?成績(jī)中等case A=60?成績(jī)及格otherwise?成績(jī)不及格endcase程序運(yùn)行結(jié)果:程序運(yùn)行結(jié)果:見vfp7.0上機(jī)練習(xí)題:1、使用 if 語(yǔ)句語(yǔ)句對(duì)“學(xué)生基本情況表”中的專業(yè)(計(jì)算機(jī)/會(huì)計(jì))進(jìn)行判斷。(表如下圖)2、使用 if 語(yǔ)句語(yǔ)句對(duì)輸入學(xué)生成績(jī)進(jìn)行A/B/C/D/E(A:90分以上,分以上,B:80分以上,分以上,C:70分一上,分一上,D:60分以分以上,上,E:60分以下分以下)五個(gè)級(jí)別的判斷。3、使用do case 語(yǔ)句語(yǔ)句對(duì)輸入的歲數(shù)進(jìn)行
11、出生年份的計(jì)算(只需計(jì)算出1420歲之間的年份,20歲是1993年出生,14歲是1999年,以此類推)。學(xué)生基本情況表(學(xué)生基本情況表(1)循環(huán)結(jié)構(gòu)控制語(yǔ)句 scan (1)scan語(yǔ)句 scan語(yǔ)句格式: scanscopefor 邏輯表達(dá)式1where (while)邏輯表達(dá)式2 語(yǔ)句組 loop exit endscan 備注:scan語(yǔ)句是一個(gè)循環(huán)次數(shù)由數(shù)據(jù)表中記錄條數(shù)決定的特殊的循環(huán),每次執(zhí)行完循環(huán)體內(nèi)的語(yǔ)句組后,表中的記錄指針自動(dòng)移向下一條記錄,重復(fù)執(zhí)行循環(huán)體內(nèi)的語(yǔ)句,直到表文件尾。例子3.10:scan語(yǔ)句 題目:輸出D學(xué)生的總分 程序: input 請(qǐng)輸入語(yǔ)文分?jǐn)?shù): to A
12、input 請(qǐng)輸入數(shù)學(xué)分?jǐn)?shù): to B input 請(qǐng)輸入英語(yǔ)分?jǐn)?shù): to C D=0 scan D=A+B+C endscan ?該學(xué)生的總分為:,D 程序運(yùn)行結(jié)果:見vfp7.0例3.8 scan語(yǔ)句 題目:在屏幕上輸出學(xué)生的基本信息題目:在屏幕上輸出學(xué)生的基本信息 程序代碼:程序代碼: use J:VFP教學(xué)用課件Visual FoxPro 7.0教學(xué)課件金山信息技術(shù)學(xué)校學(xué)生信息表學(xué)生基本情況.dbf scan ?姓名,性別,專業(yè) ENDSCAN use 運(yùn)行結(jié)果:運(yùn)行結(jié)果: 見vfp7.0例3.9 scan語(yǔ)句題目:在屏幕上輸出學(xué)生性別信息題目:在屏幕上輸出學(xué)生性別信息程序代碼:程序代
13、碼:SET default to J:VFP教學(xué)用課件Visual FoxPro 7.0教學(xué)課件金山信息技術(shù)學(xué)校學(xué)生信息表use 學(xué)生基本情況.dbfscanIF 性別=男?姓名+是男同學(xué)ELSE?姓名+是女同學(xué)ENDIFendscanuse程序運(yùn)行結(jié)果:程序運(yùn)行結(jié)果:見vfp7.0循環(huán)結(jié)構(gòu)控制語(yǔ)句 for (2)for語(yǔ)句 如果事先知道循環(huán)次數(shù),則可以使用for循環(huán)。 語(yǔ)句格式: for 循環(huán)變量=初值 to 終值 step 步長(zhǎng) 語(yǔ)句組 exit loop endfor 說明:循環(huán)變量被賦初值后,如果循環(huán)變量沒有超過終值,則執(zhí)行語(yǔ)句組;循環(huán)變量遞增(減),如果沒有超過終值,繼續(xù)執(zhí)行循環(huán);否
14、則,結(jié)束循環(huán)。例子3.11:for語(yǔ)句題目:閱讀以下程序,分析運(yùn)行的結(jié)果題目:閱讀以下程序,分析運(yùn)行的結(jié)果程序:程序:for j=1 to 10? jendfor程序運(yùn)行結(jié)果:程序運(yùn)行結(jié)果:12345678910分析:變量分析:變量j由由1變到變到10,當(dāng),當(dāng)j=1時(shí)時(shí)顯示顯示1,當(dāng),當(dāng)j=2時(shí)顯示時(shí)顯示2.當(dāng)當(dāng)j=10時(shí)顯示時(shí)顯示10.例3.12 for語(yǔ)句 題目題目:使用使用for語(yǔ)句顯示學(xué)生基本情況表中的所有學(xué)生姓名。語(yǔ)句顯示學(xué)生基本情況表中的所有學(xué)生姓名。 程序代碼:程序代碼: SET default to J:VFP教學(xué)用課件Visual FoxPro 7.0教學(xué)課件金山信息技術(shù)學(xué)校
15、學(xué)生信息表 use 學(xué)生基本情況.dbf FOR i=1 to 6 ?姓名 skip ENDFOR use 程序運(yùn)行結(jié)果:程序運(yùn)行結(jié)果:見vfp7.0例3.13 for語(yǔ)句 題目:使用題目:使用for語(yǔ)句求出學(xué)生成績(jī)的總分和平均分。語(yǔ)句求出學(xué)生成績(jī)的總分和平均分。 程序代碼:程序代碼: use J:VFP教學(xué)用課件Visual FoxPro 7.0教學(xué)課件金山信息技術(shù)學(xué)校學(xué)生信息表學(xué)生基本情況.dbf for i=1 to reccount() sum=語(yǔ)文+數(shù)學(xué)+計(jì)算機(jī) replace 總分 with sum replace 平均分 with sum/3 skip endfor use 程序
16、運(yùn)行結(jié)果:程序運(yùn)行結(jié)果:見vfp7.0比較scan和for兩個(gè)循環(huán)語(yǔ)句 scan與與for語(yǔ)句的相同于區(qū)別:語(yǔ)句的相同于區(qū)別: 相同點(diǎn):相同點(diǎn):兩者都是循環(huán)執(zhí)行,循環(huán)次數(shù)都是可以判斷的。 不同點(diǎn):不同點(diǎn):(1)scan語(yǔ)句是對(duì)表進(jìn)行操作、而for語(yǔ)句不是。 (2)scan語(yǔ)句不需要另外移動(dòng)記錄指針,每次執(zhí)行完循環(huán)體內(nèi)的語(yǔ)句組后,表中的記錄指針自動(dòng)移向下一條記錄。而for語(yǔ)句需要增加控制記錄指針移動(dòng)的語(yǔ)句。上機(jī)練習(xí)題: 1、使用scan 語(yǔ)句語(yǔ)句對(duì)“學(xué)生基本情況表”中的專業(yè)(建筑/設(shè)計(jì))進(jìn)行判斷。(表如下圖) 2、使用for語(yǔ)句語(yǔ)句顯示學(xué)生基本情況表中的所有學(xué)生姓名。 學(xué)生基本情況表(學(xué)生基本情況表(2)循環(huán)結(jié)構(gòu)控制語(yǔ)句 do while (3) do while語(yǔ)句 如果想要在某一條件滿足時(shí)結(jié)束循環(huán),可以使用do while語(yǔ)句。使用do while語(yǔ)句事先可以不清楚循環(huán)的次數(shù),但是需要知道結(jié)束循環(huán)的條件。 語(yǔ)句格式: do while 邏輯表達(dá)式 語(yǔ)句組 loop exit enddo 備注:如果邏輯表達(dá)式的值為真(.t.),則
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 武漢工貿(mào)職業(yè)學(xué)院《大數(shù)據(jù)技術(shù)與應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年小學(xué)《義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)》(2022 年版)測(cè)試題庫(kù)及答案(共3套)
- 上海興偉學(xué)院《女性領(lǐng)導(dǎo)力與管理智慧》2023-2024學(xué)年第二學(xué)期期末試卷
- 流轉(zhuǎn)地租賃合同范本
- 做賬實(shí)操-防滑墊生產(chǎn)企業(yè)賬務(wù)處理
- 做賬實(shí)操-個(gè)人所得稅專項(xiàng)附加扣除填報(bào)說明
- 做賬實(shí)操-高鐵公司的賬務(wù)處理示例
- 新版統(tǒng)編版七年級(jí)下冊(cè)歷史課件 第17課 明朝的滅亡和清朝的建立
- 律師欠款合同范本
- 生產(chǎn)文員年終總結(jié)
- 2025年湖南理工職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)一套
- 2025年專利權(quán)侵權(quán)和解協(xié)議書范本
- 2024中考百日誓師大會(huì)動(dòng)員講話稿
- 2025年中國(guó)廣州軌道交通行業(yè)市場(chǎng)全景評(píng)估及投資前景展望報(bào)告
- 2025年中國(guó)電力中電華創(chuàng)電力技術(shù)研究有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 教職工開學(xué)安全第一課培訓(xùn)
- 2025年貴州貴安發(fā)展集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 2024-2025學(xué)年北京西城區(qū)八年級(jí)初二(上)期末英語(yǔ)試卷(含答案)
- 安徽省蕪湖市2024-2025學(xué)年第一學(xué)期期末考試七年級(jí)語(yǔ)文試卷(含答案)
- 《家庭護(hù)士》課件
- 2024年社區(qū)工作者考試時(shí)事政治模擬題及答案
評(píng)論
0/150
提交評(píng)論