




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1,程序設(shè)計,2,回顧:,程序文件的創(chuàng)建執(zhí)行 程序中的輔助命令 交互式的輸入命令 結(jié)構(gòu)化程序的三大結(jié)構(gòu),順序結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu),3,程序中的輔助命令,1.程序注釋命令 2.程序結(jié)束命令 3.運(yùn)行環(huán)境設(shè)置命令,4,交互式的輸入命令,1.字符型數(shù)據(jù)輸入命令accept,5,交互式的輸入命令,2.表達(dá)式輸入命令input,6,交互式的輸入命令,3.接收單字符命令wait,7,交互式的輸入命令,4.定位輸出與輸入命令,8,Clear Use rsb Append blank 3,8 say “請輸入新職工信息:” 4,8 say “姓名:” get 姓名 必須為男或女,否則系統(tǒng)不予接受。 6,8
2、 say “基本工資:” get 基本工資 range 500,2500 Read Browse Wait “程序?qū)⒃?秒后關(guān)閉” windows at 18,8 timeout 8 Use Clear return,9,順序結(jié)構(gòu),特點 例1。假設(shè)我國2004年國民生產(chǎn)總值為130000億元,按每年平均8%的速度遞增,編程計算到2001年我國國民生成總值將會達(dá)到多少?,國民生成總值計算公式: 未來值p1=初值p0*(1+速度a)時間間隔,p1=p0*(1+a)n,10,順序結(jié)構(gòu),流程圖,11,順序結(jié)構(gòu),程序代碼:,Clear P0=130000 a-=0.08 N=6 P1=p0*(1+a)n
3、 ? “我國2004年的國民生產(chǎn)總值為:”,p0 ? “我國2010年的國民生產(chǎn)總值為:”,p1 return,12,順序結(jié)構(gòu),例2.在人事數(shù)據(jù)表中,根據(jù)從屏幕上輸入的職工姓名來查詢該職工的姓名、性別、職稱、出生日期、工作日期。,13,順序結(jié)構(gòu),法1:用accept輸入和輸出 Clear Use rsb Accept “請輸入被查詢職工的姓名:” to name ? “姓名:” +姓名 ? “性別:” +性別 ? “職稱:” +職稱 ? “出生日期:” +dtoc(出生日期) ? “工作日期:” +dtoc(工作日期) Use Return,14,順序結(jié)構(gòu) 法2:用屏幕定位輸入輸出命令,Cle
4、ar Use rsb 3,8 say “請輸入被查詢職工的姓名:” get name default space(8) Read Locate for alltrim(姓名)alltrim(name) 4,8 say “姓名:” +姓名 5,8 say “性別:” +性別 6,8 say “職稱:” +職稱 7,8 say “出生日期:” +dtoc(出生日期) 8,8 say “工作日期:” +dtoc(工作日期) Use Return,15,選擇結(jié)構(gòu),If endif,If Else endif,16,選擇結(jié)構(gòu),例:從鍵盤輸入一個數(shù),計算并輸出它的絕對值。,17,選擇結(jié)構(gòu),Set talk
5、 off Clear X=0 2,5 say “請輸入任意一個數(shù)” get x Read,If x0 x=-x Else x=x Endif 3,5 say “x的絕對值是:” , x Set talk on,18,選擇結(jié)構(gòu),例5.28 練習(xí):設(shè)出租車不超過3公里時一律收費(fèi)7元錢,超過時則超出部分每公里加收2.6元。根據(jù)里程數(shù)編程計算并顯示出應(yīng)付車費(fèi)。,19,Clear Input “請輸入里程數(shù):” to lc If lc=3 cf=7 Else cf=7+(lc-3)*2.6 endif? “車費(fèi)為:”,cf return,選擇結(jié)構(gòu),20,例:某公司對銷售人員的報酬計算方法如下:每月銷售1
6、0萬元(含10萬元)以下者,只得基本工資1000元;每月銷售10萬元以上至30萬元(含30萬元)者,則超過10萬元以上部分按2%提成;每月銷售30萬至50萬(含50萬)者,超過30萬元部分按5%提成;超過50萬元部分按10%提成。編程按輸入每個銷售人員編號和銷售額,計算每個銷售人員的報酬(結(jié)果按四舍五入規(guī)則取整)。,選擇結(jié)構(gòu),21,選擇結(jié)構(gòu),pay2+(a-300000)*0.05,pay3+(a-500000)*0.1,22,Clear Accept “銷售員編號:” to salenumber Input “銷售額:” to salevolume Pay1=1000 Pay2=pay1+r
7、ound(300000-100000)*0.02,0) Pay3=pay2+round(500000-300000)*0.05,0) If salevolume=100000 pays=pay1 Else if salevolume=300000 pays=pay1+round(salevolume-100000)*0.02,0) else if salevolume=500000 pays=pay2+round(salevolume-300000)*0.05,0) else pays=pay3+round(salevolume-500000)*0.1,0) endif endif Endif
8、 ? Salenumber+”號銷售員工作報酬:”+str(pays,6,0) return,23,,,Clear Accept “銷售員編號:” to salenumber Input “銷售額:” to salevolume Pay1=1000 Pay2=pay1+round(300000-100000)*0.02,0) Pay3=pay2+round(500000-300000)*0.05,0) Do case case salevolume=100000 pays=pay1 case salevolume=300000 pays=pay1+round(salevolume-100000
9、)*0.02,0) case salevolume=300000 pays=pay2+round(salevolume-300000)*0.05,0) otherwise pays=pay3+round(salevolume-500000)*0.1,0) Endcase ? Salenumber+”號銷售員工作報酬:”+str(pays,6,0),用多分支選擇結(jié)構(gòu)解上題,24,循環(huán)結(jié)構(gòu),程序中的另一個基本結(jié)構(gòu),利用循環(huán)結(jié)構(gòu)程序設(shè)計使我們有可能只編寫少量的語句,讓計算機(jī)重復(fù)執(zhí)行許多次,從而完成大量類同的計算。,25,循環(huán)結(jié)構(gòu),1.基本循環(huán)結(jié)構(gòu) do while loop exit enddo,2
10、6,循環(huán)結(jié)構(gòu),當(dāng)語句格式 do while loop enddo 功能:條件為真時,執(zhí)行循環(huán)體,當(dāng)條件為假時,循環(huán)結(jié)束,執(zhí)行l(wèi)oop后的語句。,27,循環(huán)結(jié)構(gòu),例題5.29 求1+2+100。,循環(huán)體 s=s+i i=i+1,變量s、i,初值: s=0 i=1,Set talk off Clear i=1 S=0 Do while i=100 s=s+I i=i+1 Enddo 2,10 say s Set talk on,28,循環(huán)結(jié)構(gòu),直到語句格式 do loop until 功能:先執(zhí)行循環(huán)體,再對條件進(jìn)行判斷,條件為假時,執(zhí)行循環(huán)體,直到條件為真時,循環(huán)結(jié)束,執(zhí)行l(wèi)oop until
11、下面的語句,29,循環(huán)結(jié)構(gòu),2.計數(shù)循環(huán)語句,For = to step loop exit Endfor/next,30,循環(huán)結(jié)構(gòu),利用循環(huán)結(jié)構(gòu)計算1+2+100。 set talk off clear s=0 for i=1 to 100 step 1 s=s+I endfor 2,10 say s set talk on,31,循環(huán)結(jié)構(gòu),3.數(shù)據(jù)表掃描循環(huán)語句,scan for while loop exit endscan,32,循環(huán)結(jié)構(gòu),例題:將人事數(shù)據(jù)表中基本工資小于1000的姓名、基本工資兩個字段輸出,并統(tǒng)計這些職工的人數(shù)。,基本操作步驟為:關(guān)閉所有數(shù)據(jù)表,打開人事數(shù)據(jù)表,設(shè)計一
12、個累加變量n,代表滿足條件的記錄數(shù),給n賦初值0,用表掃描循環(huán)結(jié)構(gòu)定位滿足條件的記錄,輸出姓名、基本工資兩個字段,并對n進(jìn)行累加1,循環(huán)結(jié)束即求得n,輸出n。,33,循環(huán)結(jié)構(gòu),close database clear use rsb n=0 scan for 基本工資1000 ? 姓名,基本工資 n=n+1 endscan ? “基本工資在1000元以下的人數(shù)有:”+str(n,2)+”人?!?close database return,34,循環(huán)結(jié)構(gòu),4.循環(huán)嵌套結(jié)構(gòu) 在一個循環(huán)體內(nèi)包含其他的循環(huán)結(jié)構(gòu),也稱為多重循環(huán)結(jié)構(gòu)。同一個類型的循環(huán)結(jié)構(gòu)可以嵌套。要編好循環(huán)嵌套結(jié)構(gòu)程序,必須做到:循環(huán)開
13、始語句和循環(huán)結(jié)束語句配對出現(xiàn);內(nèi)外層循環(huán)層次分明,不得交叉。VF最多允許128層嵌套。,35,循環(huán)結(jié)構(gòu),例題:用雙重循環(huán)打印九九乘法表,即: 1*1=1,1*2=2,1*9=9 2*1=2,2*2=4,2*9=18 9*1=9,9*2=18,9*9=81,36,循環(huán)結(jié)構(gòu),問題分析:這是一個有9行、9列數(shù)據(jù)項的矩陣,可以使用雙重循環(huán)解決。外循環(huán)用于控制各個行,內(nèi)循環(huán)用于控制每一行的各個列項,一行輸出完畢以后,換行輸出下一行各個列的數(shù)據(jù)項。,37,循環(huán)結(jié)構(gòu),*打印乘法九九表 clear for a=1 to 9 for b=1 to 9 p=a*b ? Str(a,1)+” ”+str(b,1)+”=”+str(p,2)+” ” endfor ?&注意?和?的區(qū)別 endfor return,38,程序的調(diào)試,在開發(fā)應(yīng)用程序時,為了保證程序的正確性和合理性,需要對應(yīng)用程序進(jìn)行調(diào)試,以發(fā)現(xiàn)其中的錯誤并進(jìn)行修改,直至達(dá)到設(shè)計要求,才能投入使用。 1. 程序中常見的錯誤 包括語法錯誤、溢出錯誤、邏輯錯誤。,39,語法錯誤包括命令字拼寫錯誤、
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 主播簽約薪酬合同范本
- 別墅室內(nèi)石材合同范本
- 保密設(shè)備合同范本
- 分時度假 合同范本
- 保險增值服務(wù)合同范本
- 第15課 現(xiàn)代醫(yī)療衛(wèi)生體系與社會生活 教學(xué)設(shè)計-2023-2024學(xué)年統(tǒng)編版(2019)高二歷史選擇性必修2 經(jīng)濟(jì)與社會生活
- 勞動合同范本txt
- 2024年招商銀行鄭州分行招聘考試真題
- 二手電線買賣合同范本
- 2024年銀川市永寧三沙源上游學(xué)校招聘筆試真題
- 氮氣能耗估算表
- 分離工程授課教案
- 《HSK標(biāo)準(zhǔn)教程3》第10課
- 人民醫(yī)院能源托管服務(wù)項目可研技術(shù)方案書
- 系統(tǒng)上線驗收合格證書
- ABO血型鑒定及交叉配血
- 消防水箱安裝施工方案
- 【重慶長安汽車公司績效管理現(xiàn)狀、問題及優(yōu)化對策(7600字論文)】
- 孔軸的極限偏差表
- 熱軋鋼板和鋼帶尺寸允許偏差
- BBC-商務(wù)英語會話
評論
0/150
提交評論