![第四章——IDL程序編寫_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/15/46cad5a6-b69e-4ca4-a4b9-826061190617/46cad5a6-b69e-4ca4-a4b9-8260611906171.gif)
![第四章——IDL程序編寫_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/15/46cad5a6-b69e-4ca4-a4b9-826061190617/46cad5a6-b69e-4ca4-a4b9-8260611906172.gif)
![第四章——IDL程序編寫_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/15/46cad5a6-b69e-4ca4-a4b9-826061190617/46cad5a6-b69e-4ca4-a4b9-8260611906173.gif)
![第四章——IDL程序編寫_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/15/46cad5a6-b69e-4ca4-a4b9-826061190617/46cad5a6-b69e-4ca4-a4b9-8260611906174.gif)
![第四章——IDL程序編寫_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/15/46cad5a6-b69e-4ca4-a4b9-826061190617/46cad5a6-b69e-4ca4-a4b9-8260611906175.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第四章IDL程序編寫第四章第四章 第四章IDL程序編寫第四章IDL程序編寫第四章IDL程序編寫2. 順序結構順序結構第四章IDL程序編寫3. 選擇結構選擇結構第四章IDL程序編寫第四章IDL程序編寫第四章IDL程序編寫嵌套:IF 表達式1 THEN BEGINIF 表達式2 THEN BEGIN語句序列1ENDIF ELSE BEGIN語句序列2ENDELSE ENDIF ELSE BEGINIF THEN BEGIN語句序列3ENDIF ELSE BEGIN語句序列4ENDELSE ENDELSE功能:根據(jù)三個表達式的值來選擇執(zhí)行四個語句序列中的一個流程圖:見下頁圖第四章IDL程序編寫第四章
2、IDL程序編寫例 編程序,計算并輸出 y 的值,其中x 的值要求從鍵盤任意輸入。PRO MS5FunctionREAD, PROMPT=請輸入X = ?, xIF x LE 3 THEN BEGINIF x LE -6 THEN BEGINy = 3 * x 2 - x + 1ENDIF ELSE BEGINIF x LE -3 THEN BEGINy = 5 * x 2 - 3 * x + 1ENDIF ELSE BEGINy = 7 * x 2ENDELSEENDELSEENDIF ELSE BEGINIF x LE 6 THEN BEGINy = 5 * x 2 + 3 * x + 1E
3、NDIF ELSE BEGINy = 3 * x 2 + x + 1ENDELSEENDELSEPRINT, y = , yEND第四章IDL程序編寫例 編程序,計算并輸出 y 的值,其中x 的值要求從鍵盤任意輸入。PRO MS5Function2 READ, PROMPT=請輸入X = ?, x y=x LE -6?3 * x 2 - x + 1:$ (x LE -3?5 * x 2 - 3 * x + 1:$ (x LE 3?7 * x 2:$ (x LE 6?5 * x 2 + 3 * x + 1:$ 3 * x 2 + x + 1) PRINT, y = , yEND第四章IDL程序編
4、寫IF語句嵌套的另外兩種常見格式第四章IDL程序編寫CASE語句格式:CASE 表達式 OF表達式1:BEGIN語句序列1 END 表達式n:BEGIN語句序列n END ELSE :BEGIN語句序列n+1 END ENDCASE功能:根據(jù)表達式的值與表達式1到 表達式n中的每一個表達式的值相比較,來選擇執(zhí)行n1個語句序列中的一個語句序列。第四章IDL程序編寫第四章IDL程序編寫例 編程序Chapter04M,輸入1月到12月中的任意一個月份數(shù)字,輸出該月份的英文單詞。程序如下:; MPRO MonthREAD, PROMPT=請輸入月份(1 , . , 12
5、):, mCASE m of 1 : PRINT, January & 2 : PRINT, February 3 : PRINT, March & 4 : PRINT, April 5 : PRINT, May & 6 : PRINT, June 7 : PRINT, July & 8 : PRINT, August 9 : PRINT, September & 10 : PRINT, October 11 : PRINT, November & 12 : PRINT, December ELSE : PRINT, 輸入的月份無效! ENDCASEEND第四章IDL程序編寫例 設計程序Cha
6、pter04MS6F,要求從鍵盤任意輸入一個值x,計算并輸出函數(shù) f (x) 的值,程序如下。其中f(x)為:; MS6FPRO MS6FunctionREAD, PROMPT=請輸入X = ?, xCASE 1 of x LT 0: y = 2 * x + 1 x LT 1: y = 3 * x + 2 x LT 2: y = 4 * x +3 x LT 3: y = 5 * x + 4 x LT 4: y = 6 * x + 7 ELSE: y = 8 * x * x + 1ENDCASEPRINT, f ( x ) = , yEND第四章IDL
7、程序編寫4. 循環(huán)結構循環(huán)結構是指在程序執(zhí)行過程中,根據(jù)實際需要,程序中的某一段程序是指在程序執(zhí)行過程中,根據(jù)實際需要,程序中的某一段程序需要循環(huán)執(zhí)行若干次,具有這種結構的程序稱為循環(huán)結構程序。需要循環(huán)執(zhí)行若干次,具有這種結構的程序稱為循環(huán)結構程序。如果某個程序中有語句序列如果某個程序中有語句序列A,該語句序列,該語句序列A要根據(jù)指定條件表達式的值循要根據(jù)指定條件表達式的值循環(huán)執(zhí)行,直到條件表達式的值為假為止。顯然語句序列環(huán)執(zhí)行,直到條件表達式的值為假為止。顯然語句序列A在程序執(zhí)行過程在程序執(zhí)行過程中,中, 要循環(huán)執(zhí)行若干次。循環(huán)結構的流程圖可以用圖表示要循環(huán)執(zhí)行若干次。循環(huán)結構的流程圖可以用
8、圖表示格式:格式:WHILE 表達式表達式 DO 語句語句 格式:格式:WHILE 表達式表達式 DO BEGIN語句序列語句序列A ENDWHILE功能:根據(jù)表達式的值,功能:根據(jù)表達式的值,表達式為真,表達式為真,循環(huán)執(zhí)行語句序列循環(huán)執(zhí)行語句序列A若若干次。干次。第四章IDL程序編寫例1設計程序Chapter04S,計算并輸出1 + + 1000。程序為:; SPRO Sum1000sum = 0L & i = 1WHILE i LE 1000 DO BEGINsum = sum + i & i+ENDWHILEPRINT, 1 + 2 + + 10
9、00 = , sumEND第四章IDL程序編寫格式:格式:CONTINUE功能:在循環(huán)語句中,用于終止本次循環(huán),轉向功能:在循環(huán)語句中,用于終止本次循環(huán),轉向WHILE進行下一次循環(huán)。進行下一次循環(huán)。格式:格式:WHILE 表達式表達式1 DO BRGIN語句序列語句序列1IF 表達式表達式2 THEN BEGIN語句序列語句序列2CONTINUEENDIF語句序列語句序列3ENDWHILE例例 計算并輸出計算并輸出2 + 4 + + 1000,設計程序如下:,設計程序如下:; SumEPRO SumEven1000sum = 0L & i = 1WHILE i LE 1
10、000 DO BEGINIF i MOD 2 THEN BEGINi=i+1 & CONTINUEENDIFsum = sum + i & i=i+1ENDWHILEPRINT, 2+4+ +1000 =, sumEND第四章IDL程序編寫格式:BREAK功能:用在循環(huán)語句中。用于無條件退出包含該BREAK語句的最內(nèi)層循環(huán),轉向執(zhí)行該層循環(huán)語句ENDWHILE后面的語句。WHILE和BREAK的組合格式為:格式:WHILE 表達式1 DO BEGIN語句序列1IF 表達式2 THEN BEGIN語句序列2BREAKENDIF語句序列3ENDWHILE第四章IDL程序編寫例 編程序Chapter
11、04MS,要求從鍵盤任意輸入兩個數(shù),計算并輸出這兩個數(shù)的和;然后詢問是否重復執(zhí)行上述操作,直到不愿意執(zhí)行為止。; MSPRO MSumyn = WHILE 1 DO BEGIN READ,PROMPT=請輸入X=, x READ,PROMPT=請輸入Y=, y PRINT,x,+,y,=, x+y READ,PROMPT=繼續(xù)嗎?(Y/N):, yn IF STRUPCASE(yn) EQ Y THEN BEGINCONTINUE ENDIF ELSE BEGINBREAK ENDELSEENDWHILEEND第四章IDL程序編寫格式1:FOR 變量 = 初值,終值 ,
12、步長 DO 語句格式2:FOR 變量 = 初值,終值 ,步長 DO BEGIN語句序列A ENDFOR功能:用變量來控制循環(huán)次數(shù),使序列A循環(huán)執(zhí)行指定的次數(shù)。例 編程序Chapter04G,用FORENDFOR語句輸出下面圖形,其中最底層為15個*。程序如下:; GPRO Graphics FOR i = 1, 15 DO BEGIN Ss=REPLICATE(*, i) PRINT, Ss ENDFOREND第四章IDL程序編寫嵌套格式:WHILE 表達式表達式1 DO BEGIN語句序列語句序列1WHILE 表達式表達式2 DO BEGIN語句序
13、列語句序列2WHILE 表達式表達式3 DO BEGIN語句序列語句序列3ENDWHILEENDWHILE ENDWHILEC、D錯誤結構第四章IDL程序編寫例例 編程序編程序Chapter04T,輸出下列九九乘法表。程序如下:,輸出下列九九乘法表。程序如下:1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*7=14 3*7=21 4*7=28 5*
14、7=35 6*7=42 7*7=491*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=641*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81; TPRO Table99i = 1WHILE i LT 10 DO BEGINj = 1WHILE j LE i DO BEGINPRINT,j,*,i,=,i*j, FORMAT=(4X,I1,1X,A1,1X,I1,1X,A1,1X,I2,$)j = j +1ENDWHILEPRINT, FORMAT =
15、 ( / ) i = i +1ENDWHILEEND第四章IDL程序編寫例例 編程序編程序Chapter04T,輸出九九乘法表。程序如下:,輸出九九乘法表。程序如下:; Chapter04Table993FPRO Chapter04Table993For FOR i=1, 9 DO BEGIN FOR j = 1, i DO BEGIN PRINT, j,*,i,=,i*j,FORMAT=(4X,I1,1X,A1,1X,I1,1X,A1,1X,I2,$) ENDFOR PRINT, FORMAT=( / ) ENDFOREND第四章IDL程序編寫Goto語句格
16、式:goto,標號標號格式:label:pro mmmAAA:print,wygoto,AAAend標號必須以字母開頭第四章IDL程序編寫5. 自定義函數(shù)自定義函數(shù)5.1主程序主體:必須以end結束,有兩種表現(xiàn)形式: (1) end (2)pro test 程序體 end文件名為,沒有名稱的主程序必須放在程序最后面。運行方式:以IDL.run 運行第四章IDL程序編寫5.2 過程主體:與主程序相似,但必須以pro proname開始,以end結束。 pro 過程名稱,變量V1,V2, ,kn1=k1,kn2=k2 程序體 endkeyword起重要作用調(diào)用和運行
17、方式:以IDLproname方式運行參數(shù)一般要有確定的參數(shù)一般要有確定的順序和確定的類型。順序和確定的類型。參數(shù)在使用時,一般參數(shù)在使用時,一般是必選項。是必選項。參數(shù)在使用時,參數(shù)參數(shù)在使用時,參數(shù)的個數(shù),類型和順序要的個數(shù),類型和順序要和定義時保持一致。和定義時保持一致。Kn1為關鍵字名,為關鍵字名,k1為關鍵為關鍵字變量字變量關鍵字一般要有確定的類型。關鍵字一般要有確定的類型。關鍵字在使用時,一般是可關鍵字在使用時,一般是可選項。選項。關鍵字在使用時,其類型要關鍵字在使用時,其類型要和定義時保持一致。和定義時保持一致。關鍵字在使用時,其個數(shù)可關鍵字在使用時,其個數(shù)可以比定義時少。以比定義
18、時少。關鍵字在使用時,其順序可關鍵字在使用時,其順序可以和定義時不一致,而且其順以和定義時不一致,而且其順序是可以任意的。序是可以任意的。第四章IDL程序編寫5.3函數(shù)主體:與過程相似,但以function fnname開始,以end結束,并以return語句返回一個IDL變量。 Function test 變量V1,V2, , 關鍵字k1=k1,k2=k2 程序體 return, Value end 調(diào)用和運行方式:以IDLret=fnname(para_list)方式運行。第四章IDL程序編寫例例 編寫自定義函數(shù)編寫自定義函數(shù)Factorial(n)= n!,計算并輸出,計算并輸出0 n的階乘的階乘;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代企業(yè)中的有效職場溝通模式及實踐案例分析
- 電梯控制系統(tǒng)的智能化與自動化技術
- 湖南省長沙市2024年七年級《語文》上冊期末試卷與答案(B卷)
- 2025年茅根竹蔗水項目投資可行性研究分析報告
- 部編版:2022年七年級《道德與法治》上冊第五章試卷以及答案
- 新版人教PEP版三年級下冊英語課件 Unit 2 Part A 第2課時
- 中南財經(jīng)政法大學《食品經(jīng)濟學》2023-2024學年第二學期期末試卷
- 云南輕紡職業(yè)學院《建筑環(huán)境與能源應用工程》2023-2024學年第二學期期末試卷
- 湖北健康職業(yè)學院《臨床醫(yī)學基礎》2023-2024學年第二學期期末試卷
- 知識產(chǎn)權司法保護的未來趨勢與挑戰(zhàn)
- 基于CiteSpace患者旅程地圖的研究熱點與發(fā)展趨勢分析
- 2024年山東省東營市中考數(shù)學試題 (解析版)
- 高中數(shù)學必修一試卷和答案
- 2024年陜西西安亮麗電力集團有限責任公司招聘筆試沖刺題(帶答案解析)
- 教學樓設計國內(nèi)外研究現(xiàn)狀
- 2024年高考作文素材積累之6個議論文人物素材及運用示例
- 小學數(shù)學試題命制培訓
- 奧數(shù)培訓班家長會
- 《邊城》讀書報告
- 模塊01 中國古代史 歷史小論文+觀點論述題專項50練(解析版)備戰(zhàn)2024年中考歷史一輪復習(部編版)
- 老舊小區(qū)加裝電梯方案
評論
0/150
提交評論