Fortran結(jié)構(gòu)化程序設(shè)計(jì)課件_第1頁
Fortran結(jié)構(gòu)化程序設(shè)計(jì)課件_第2頁
Fortran結(jié)構(gòu)化程序設(shè)計(jì)課件_第3頁
Fortran結(jié)構(gòu)化程序設(shè)計(jì)課件_第4頁
Fortran結(jié)構(gòu)化程序設(shè)計(jì)課件_第5頁
已閱讀5頁,還剩771頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Fortran結(jié)構(gòu)化程序設(shè)計(jì)Fortran結(jié)構(gòu)化程序設(shè)計(jì)Fortran結(jié)構(gòu)化程序設(shè)計(jì)說明第一章算法(略)第二章計(jì)算機(jī)和計(jì)算機(jī)程序(略)2021/1/1821Fortran結(jié)構(gòu)化程序設(shè)計(jì)Fortran結(jié)構(gòu)化程序設(shè)計(jì)Fo說明第一章算法(略)第二章計(jì)算機(jī)和計(jì)算機(jī)程序(略)22022/12/9說明22022/12/9第三章

語言程序設(shè)計(jì)初步

32022/12/9第三章

語言程序設(shè)計(jì)初步32022/12/93.1語言的發(fā)展概況

公式翻譯器語言是一種適合于科學(xué)和工程計(jì)算問題的程序設(shè)計(jì)語言;也是計(jì)算機(jī)高級語言發(fā)展史上使用最早的一種程序設(shè)計(jì)語言。42022/12/93.1語言的發(fā)展概況

公式翻譯器42022/12/3.1語言的發(fā)展概況語言的發(fā)展過程:1951年由約翰·貝克斯等人開始研究語言;1957年第一個程序在704機(jī)上運(yùn)行;1958和1962年先后推出Ⅱ和Ⅳ;1966和1978年先后頒布66和77;1991年頒布了90。現(xiàn)在已經(jīng)有了95,200352022/12/93.1語言的發(fā)展概況語言的發(fā)展過程:52022/12/9語言的特征語言的最大特性是接近數(shù)學(xué)公式的自然描述,在計(jì)算機(jī)里具有很高的執(zhí)行效率。易學(xué),語法嚴(yán)謹(jǐn)??梢灾苯訉仃嚭蛷?fù)數(shù)進(jìn)行運(yùn)算。自誕生以來廣泛地應(yīng)用于數(shù)值計(jì)算領(lǐng)域,積累了大量高效而可靠的源程序。很多專用的大型數(shù)值運(yùn)算計(jì)算機(jī)針對做了優(yōu)化。廣泛地應(yīng)用于并行計(jì)算和高性能計(jì)算領(lǐng)域。90,95,2003的相繼推出使語言具備了現(xiàn)代高級編程語言的一些特性。62022/12/9語言的特征語言的最大特性是接近數(shù)學(xué)公式的自然描述,在計(jì)算機(jī)里3.2簡單的程序分析例1:求一元二次方程x2+35.6=0的根,并打印結(jié)果。利用公式:(這里,1,3,5.6)72022/12/93.2簡單的程序分析例1:求一元二次方程x2+3.2簡單的程序分析編程如下:c 1.0 3.0 5.6 x1=((b*4.0*a*c))/(2.0*a) x2=((b*4.0*a*c))/(2.0*a)(*,100)x12100(1x,'x1='6.2,'x2='6.2)

82022/12/93.2簡單的程序分析82022/12/93.2簡單的程序分析執(zhí)行結(jié)果:x1=1.30x24.30例2:試求3!,6!,9!的值。編程如下:92022/12/93.2簡單的程序分析執(zhí)行結(jié)果:例2:試求3!,6!,9!3.2簡單的程序分析主程序:子程序:cc(3)k(n) (6)1(9)2 (*,*)5() *i 1 執(zhí)行結(jié)果:56720362880

102022/12/93.2簡單的程序分析主程序:子程3.2簡單的程序分析程序的基本結(jié)構(gòu):⑴一個源程序由一個或多個程序單位組成,每個程序單位以“”語句結(jié)束。⑵每個程序單位包括若干行語句行(執(zhí)行語句和非執(zhí)行語句行)非語句行(注釋行)⑶語句前可不設(shè)標(biāo)號,也可根據(jù)需要設(shè)標(biāo)號。⑷各類語句在程序單位中的位置有一定規(guī)則。⑸程序必須按規(guī)定格式書寫。112022/12/93.2簡單的程序分析程序的基本結(jié)構(gòu):112022/123.3源程序的書寫格式77源程序必須按以下格式書寫:⑴每行只能在80列內(nèi)書寫,并把80列分為4個區(qū)。⑵1~5列:標(biāo)號區(qū)(1~5位無符號整數(shù);第1列為“*”或“c”時,為注釋行)⑶第6列:續(xù)行標(biāo)志區(qū)(非空格或非零字符;最多19個續(xù)行)⑷7~72列:語句區(qū)(書寫語句;一行只能寫一條語句)⑸73~80列:語句注釋區(qū)(一般作編號注釋)122022/12/93.3源程序的書寫格式77源程序必須按以下格式書寫:13.4程序的編輯與運(yùn)行4.0集成開發(fā)環(huán)境簡介132022/12/93.4程序的編輯與運(yùn)行4.0集成開發(fā)環(huán)境132022/3.4程序的編輯與運(yùn)行一、4.0的啟動選“開始”→“程序”→“4.0”→“”。二、創(chuàng)建項(xiàng)目工作間選“”→“”→“”→“”,并輸入項(xiàng)目工作間名稱(如:)和存放項(xiàng)目工作間的位置或路徑(如:c:\\)→。142022/12/93.4程序的編輯與運(yùn)行一、4.0的啟動142022/13.4程序的編輯與運(yùn)行三、給項(xiàng)目工作間添加和編輯文件打開指定的項(xiàng)目工作間→選“”→“”→輸入要添加的文件名(如:01)→“”。然后按程序的書寫規(guī)則編輯程序。四、編譯項(xiàng)目工作間中的文件打開指定的文件→選“”→“01”。五、連編項(xiàng)目文件選“”→“”。六、運(yùn)行項(xiàng)目文件選“”→“”。(顯示程序執(zhí)行結(jié)果)152022/12/93.4程序的編輯與運(yùn)行三、給項(xiàng)目工作間添加和編輯文件1523.4程序的編輯與運(yùn)行注:若程序是由一個主程序文件和若干個子程序文件組成,則應(yīng)將各文件添加到同一項(xiàng)目工作間,分別進(jìn)行編譯,然后連編和運(yùn)行項(xiàng)目文件。七、打開項(xiàng)目文件選“”→“”→在打開對話框文件類型下拉列表中選“(*)”→然后選項(xiàng)目工作間文件夾中的項(xiàng)目文件。162022/12/93.4程序的編輯與運(yùn)行注:若程序是由一個主程序文件和若干個3.5常量常量——在程序執(zhí)行期間其值固定不變的量。處理六種類型的常量:⑴整型常量()⑵實(shí)型常量()⑶雙精度常量()⑷復(fù)型常量()⑸邏輯型常量()⑹字符型常量()172022/12/93.5常量常量——在程序執(zhí)行期間其值固定不變的3.5常量3.5.1整型常量包括正、負(fù)整數(shù)和零。例:5,-13,0,…說明:①在(16位)微機(jī)中,整數(shù)的取值范圍為:-215~215-1(-32768~32767)②在(32位)微機(jī)中,整數(shù)的取值范圍為:-231~231-1(-2147483648~2147483647)182022/12/93.5常量3.5.1整型常量182022/13.5常量3.5.2實(shí)型常量(有二種表示形式)⒈小數(shù)形式例:15.8,-21.05,14.0,14.,.17,0.0,…⒉指數(shù)形式(通常表示較大或較小的數(shù))例:100000000→1.080.0000125→1.2505數(shù)字部分指數(shù)部分192022/12/93.5常量3.5.2實(shí)型常量192022/13.5常量說明:⑴一個數(shù)值用指數(shù)形式表示時有兩種表達(dá)方式:①一個基本實(shí)數(shù)后面跟指數(shù)部分。例:0.876→8.761-2589.4→-2.58943②一個整數(shù)后面跟指數(shù)部分。例:0.876→8763-2589.4→-258941202022/12/93.5常量說明:202022/12/93.5常量⑵同一個數(shù)值可用不同的指數(shù)形式表示。例:0.876→8.761→87.62→8763⑶計(jì)算機(jī)在輸出時,按標(biāo)準(zhǔn)化指數(shù)形式輸出。例:0.28→2.80000001-59.5812→-5.95800013即數(shù)字部分大于1,且小數(shù)點(diǎn)前只有一位非零數(shù)字的指數(shù)輸出形式。⑷在微機(jī)中,一般用四個字節(jié)存放一個實(shí)數(shù),其取值范圍為:10-75~1075。超出此范圍時為“溢出”錯誤。212022/12/93.5常量⑵同一個數(shù)值可用不同的指數(shù)形式表示。23.5常量⑸下列形式為不合法的指數(shù)形式:①單獨(dú)的小數(shù)點(diǎn)和單獨(dú)的指數(shù)部分。例:5,E10×②指數(shù)部分只能是整數(shù),不能帶小數(shù)點(diǎn)。例:8E0.5,12.3E1.5×222022/12/93.5常量⑸下列形式為不合法的指數(shù)形式:22203.6變量變量——在程序執(zhí)行期間其值可以改變的量。3.6.1變量的概念為每一個變量分配一個相應(yīng)的存儲單元;每個變量在每個時刻只能有一個確定的值。例:4.5x8.0x注:在程序中用到的變量都必須要有確定的值。4.58.0232022/12/93.6變量變量——在程序執(zhí)行期間其值可以改變的3.6變量3.6.2變量名變量名——標(biāo)識一個變量所用的名字。命名規(guī)則:變量名的第一個字符必須是字母;在第一個字符后可跟1~5個字母或數(shù)字。例:x,m1,,k123,…242022/12/93.6變量3.6.2變量名242022/123.6變量注意幾點(diǎn):⑴變量名不區(qū)分大小寫字母。例:,,代表同一變量⑵變量名中的空格不起作用。例:,a,c,abc代表同一變量⑶變量名盡量做到“見名知義”、、⑷允許變量名與語言中具有特定含義的字(“保留字”)同名。例:,,,,…建議不要使用中具有特定含義的字作變量名252022/12/93.6變量注意幾點(diǎn):252022/12/93.6變量3.6.3變量的類型能處理各種類型的變量。不同類型的變量用來存放不同類型的數(shù)據(jù)。變量類型的說明(三種方式)⒈隱含說明即以I、j、k、l、m、n開頭的變量為整型變量,以其它字母開頭的變量為實(shí)型變量。(“I~N規(guī)則”)例:,m5,,…為整型變量v,h2,,…為實(shí)型變量262022/12/93.6變量3.6.3變量的類型262022/3.6變量⒉顯式說明即用類型說明語句指定變量的類型。如:——說明變量為整型變量——說明變量為實(shí)型變量——說明變量為雙精度變量——說明變量為復(fù)型變量——說明變量為邏輯型變量——說明變量為字符型變量272022/12/93.6變量⒉顯式說明272022/12/93.6變量如:,,k3a1,⒊用語句說明即說明用某一字母開頭的變量為指定的類型。例:(a,b),(k)()282022/12/93.6變量如:282022/12/93.6變量三種類型說明的優(yōu)先級:高類型說明語句(顯式說明)語句說明低“I~N規(guī)則”292022/12/93.6變量三種類型說明的優(yōu)先級:292022/3.7內(nèi)部函數(shù)在編制程序時,經(jīng)常要用到一些基本的數(shù)學(xué)函數(shù),如三角函數(shù)、指數(shù)函數(shù)、對數(shù)函數(shù)等。為方便用戶,編譯系統(tǒng)已提供了這些函數(shù)的計(jì)算程序,需要時即可調(diào)用。內(nèi)部函數(shù)調(diào)用格式:函數(shù)名(自變量)302022/12/93.7內(nèi)部函數(shù)在編制程序時,經(jīng)常要用到一些基本的3.7內(nèi)部函數(shù)如:(90*3.14159/180)→1.0(9.0)→3.0(-5.6)→5.6(6.75)→6(3.0)→20.08554077全部內(nèi)部函數(shù)見附錄Ⅵ312022/12/93.7內(nèi)部函數(shù)如:312022/12/93.7內(nèi)部函數(shù)注意幾點(diǎn):⑴函數(shù)自變量(參數(shù))必須用括號括起來。例:→(x)(x)⑵函數(shù)自變量可以是常量、變量或表達(dá)式。例:(3.0)((x))⑶有些函數(shù)的類型是由自變量的類型確定的。例:(8.0,3.0)→2.0(8,3)→2⑷三角函數(shù)的角度單位是“弧度”而不是“度”。⑸函數(shù)名分為“通用名”和“專用名”

內(nèi)部函數(shù)名一般用“通用名”。322022/12/93.7內(nèi)部函數(shù)注意幾點(diǎn):322022/12/93.8算術(shù)表達(dá)式77提供了四種表達(dá)式:算術(shù)表達(dá)式關(guān)系表達(dá)式邏輯表達(dá)式字符表達(dá)式算術(shù)表達(dá)式——將各運(yùn)算元素(常量、變量、函數(shù)和數(shù)組等)用算術(shù)運(yùn)算符連接起來的一個有值的式子。332022/12/93.8算術(shù)表達(dá)式77提供了四種表達(dá)式:332022/123.8算術(shù)表達(dá)式一、算術(shù)運(yùn)算符及其優(yōu)先級⒈算術(shù)運(yùn)算符(五種)加(+)減(-)乘(*)除(/)乘方(**)⒉算術(shù)運(yùn)算符的優(yōu)先級括號→函數(shù)→乘方→乘、除→加、減注:同級運(yùn)算“先左后右”,連續(xù)乘方時“先右后左”。342022/12/93.8算術(shù)表達(dá)式一、算術(shù)運(yùn)算符及其優(yōu)先級342022/13.8算術(shù)表達(dá)式例:3+5-6.0*8.5/4**2(x)→3+5-6.0×8.5÷42+x**y**z、x**(y**z)→(x**y)**z→()z有了算術(shù)表達(dá)式概念之后,我們就可以將:

數(shù)學(xué)運(yùn)算式→算術(shù)表達(dá)式352022/12/93.8算術(shù)表達(dá)式例:3+5-6.0*8.5/4**2(3.8算術(shù)表達(dá)式二、算術(shù)表達(dá)式書寫規(guī)則⑴表達(dá)式中的各運(yùn)算元素之間必須用運(yùn)算符分隔。例:→x*y*z2()→2*()⑵作任何運(yùn)算的表達(dá)式只能寫在一行。例:→()/()×362022/12/93.8算術(shù)表達(dá)式二、算術(shù)表達(dá)式書寫規(guī)則362022/123.8算術(shù)表達(dá)式⑶兩個運(yùn)算符不能緊鄰。例:→()→→⑷表達(dá)式一律用小括號。例:a[()]→a*(*())372022/12/93.8算術(shù)表達(dá)式⑶兩個運(yùn)算符不能緊鄰。372022/123.8算術(shù)表達(dá)式三、表達(dá)式求值中的類型問題⑴同類型量運(yùn)算的結(jié)果,仍為原類型。例:4*5=20,4.0*5.0=20.06.0/4.0=1.5,6/4=1(≠1.5)⑵不同類型量運(yùn)算時,先將低級類型(整型)轉(zhuǎn)換為高級類型(實(shí)型),然后再按同類型量進(jìn)行運(yùn)算。例:2.5*4=10.0(≠10)2.0**3=2.0*2.0*2.0=8.0(屬同類量運(yùn)算)382022/12/93.8算術(shù)表達(dá)式三、表達(dá)式求值中的類型問題382022/3.8算術(shù)表達(dá)式四、運(yùn)算中的誤差問題⑴整數(shù)量運(yùn)算沒有誤差⑵實(shí)型量由于有效位數(shù)的限制,運(yùn)算時會出現(xiàn)誤差例1:(1.0/3.0)*3.0=0.9999999(≠1.0)

∵1.0/3.0=0.3333333例2:1E301E301.0()?()=?392022/12/93.8算術(shù)表達(dá)式四、運(yùn)算中的誤差問題392022/12/3.9賦值語句提供三類賦值語句:算術(shù)賦值語句邏輯賦值語句字符賦值語句一、算術(shù)賦值語句一般格式

功能:把賦值號右邊表達(dá)式的值,賦給賦值號左邊的變量或數(shù)組元素。例:3.14159*r**2402022/12/93.9賦值語句提供三類賦值語句:402022/12/93.9賦值語句二、算術(shù)賦值語句中的類型轉(zhuǎn)換問題⑴賦值號兩邊類型一致時,直接賦值。例:355⑵賦值號兩邊類型不一致時,先計(jì)算,再轉(zhuǎn)換,最后賦值。例:y1=6*2(y1的值為12.0)3.6*2(的值為7(7.2→7))412022/12/93.9賦值語句二、算術(shù)賦值語句中的類型轉(zhuǎn)換問題41203.9賦值語句注意幾點(diǎn):⑴賦值號左邊只能是變量或數(shù)組元素,不能為帶運(yùn)算符的表達(dá)式。例:3*6*(x)×⑵一個賦值語句只能給一個變量或數(shù)組元素賦值。例:3.5×⑶一個賦值語句執(zhí)行后,賦值號左邊變量的原值被右邊表達(dá)式的值取代。例:1.01.0(x的值為2.0)422022/12/93.9賦值語句注意幾點(diǎn):422022/12/93.10簡單的輸出語句用戶編制的程序必須要有輸出語句,把結(jié)果顯示或打印出來。提供了三種輸出方式:①表控格式輸出(標(biāo)準(zhǔn)或固定格式輸出)②指定格式輸出③無格式輸出(二進(jìn)制形式,適應(yīng)磁盤文件)一、表控格式輸出按編譯系統(tǒng)隱含規(guī)定的格式輸出。(即系統(tǒng)根據(jù)輸出數(shù)據(jù)的不同類型,自動給出相應(yīng)的輸出格式。)432022/12/93.10簡單的輸出語句用戶編制的程序必須要有輸出語句,3.10簡單的輸出語句二、表控格式輸出語句一般格式:﹡,〈輸出表列〉(﹡,﹡)〈輸出表列〉

例1:﹡,56.8,125或(﹡,﹡)56.8,125例2:﹡,b,c或(﹡,﹡)a,b,c442022/12/93.10簡單的輸出語句二、表控格式輸出語句4420223.10簡單的輸出語句例3:12.5 90.5

*,x,y*,'',z

運(yùn)行結(jié)果:12.50000090.500000103.000000452022/12/93.10簡單的輸出語句例3:12.54520223.10簡單的輸出語句⒈整數(shù)的表控格式輸出規(guī)定:每個整數(shù)占12列,數(shù)據(jù)打印在右端,左補(bǔ)空格。例:*,123,-1128輸出結(jié)果:︺︺︺︺︺︺︺︺123︺︺︺︺︺︺︺-1128462022/12/93.10簡單的輸出語句⒈整數(shù)的表控格式輸出4620223.10簡單的輸出語句⒉實(shí)數(shù)的表控格式輸出規(guī)定:每個實(shí)數(shù)占16列,數(shù)據(jù)打印在右端,左補(bǔ)空格。例:*,15.4,-321.45輸出結(jié)果:︺︺︺︺︺︺15.400000︺︺︺︺︺-321.450000472022/12/93.10簡單的輸出語句⒉實(shí)數(shù)的表控格式輸出4720223.10簡單的輸出語句當(dāng)實(shí)數(shù)值的絕對值≥107或<1時,按標(biāo)準(zhǔn)的指數(shù)形式輸出。例:*,-10000000.,0.98輸出結(jié)果:︺︺-1.00000007︺︺︺︺9.80000001482022/12/93.10簡單的輸出語句當(dāng)實(shí)數(shù)值的絕對值≥107或<1時3.11簡單的輸入語句提供了三種輸入方式:①表控格式輸入(自由格式輸入)②指定格式輸入③無格式輸入一、表控格式輸入表控格式輸入——根據(jù)變量的數(shù)據(jù)類型輸入相應(yīng)的數(shù)據(jù)形式,數(shù)據(jù)間以逗號或空格分隔的輸入方式。492022/12/93.11簡單的輸入語句提供了三種輸入方式:4920223.11簡單的輸入語句二、表控格式輸入語句一般格式:﹡,〈輸入表列〉(﹡,﹡)〈輸入表列〉例1:﹡,b(若14.7,30.0)鍵盤輸入:14.7,30.0↙502022/12/93.11簡單的輸入語句二、表控格式輸入語句5020223.11簡單的輸入語句例2:﹡(若4.5200)鍵盤輸入:4.5,200↙例3:﹡(若1.52.53.5)﹡(若510)鍵盤輸入:1.5,2.5,3.5↙5,10↙512022/12/93.11簡單的輸入語句例2:﹡(若4.5203.11簡單的輸入語句注意幾點(diǎn):⑴輸入數(shù)據(jù)的個數(shù)不得少于語句中變量的個數(shù),但多余的數(shù)據(jù)也不起作用。例:﹡(若1.52.53.5)鍵盤輸入:①1.5,2.5,3.5↙②1.5,2.5,3.5,5.2,6.0↙(最后兩個數(shù)被忽略)③1.5,2.5↙(計(jì)算機(jī)將等待用戶繼續(xù)輸入數(shù)據(jù))522022/12/93.11簡單的輸入語句注意幾點(diǎn):522022/12/93.11簡單的輸入語句注意幾點(diǎn):⑵一個語句可以分多行輸入,但每一個語句必須從新的一行輸入。例:﹡(若1.52.53.5)﹡(若510)鍵盤輸入:1.5↙2.5↙3.5↙5,10↙若鍵盤輸入:1.5,2.5,3.5,5,10↙(錯)532022/12/93.11簡單的輸入語句注意幾點(diǎn):532022/12/93.11簡單的輸入語句⑶在輸入數(shù)據(jù)時若出現(xiàn)“/”,則終止對此語句的輸入。例:﹡鍵盤輸入:1.5,2.5/↙(變量z的值為原值或?yàn)榱?。?42022/12/93.11簡單的輸入語句⑶在輸入數(shù)據(jù)時若出現(xiàn)“/”,則終3.12參數(shù)語句(語句)一、語句的功能為常量命名,即用一個符號代表一個常量。二、語句一般形式(p11[22,…])其中:——符號常量;——常量。

552022/12/93.12參數(shù)語句(語句)一、語句的功能552022/13.12參數(shù)語句(語句)例:求半徑為0.5m的圓面積和圓周長。編程如下:(0.53.14159)*r**22.0**r*

562022/12/93.12參數(shù)語句(語句)例:求半徑為0.5m的圓面積和3.12參數(shù)語句(語句)注意幾點(diǎn):⑴參數(shù)語句必須寫在所有可執(zhí)行語句之前;⑵符號常量的命名規(guī)則及類型與變量相同,并遵循“I~N規(guī)則”;⑶程序中不能給符號常量再賦值。572022/12/93.12參數(shù)語句(語句)注意幾點(diǎn):572022/12/3.13語句,語句,語句一、語句⒈一般形式[n]注:n為1~5位正整數(shù)或字符常量。⒉功能暫停程序的執(zhí)行。(一個程序單位可以有多個語句)582022/12/93.13語句,語句,語句一、語句582022/12/93.13語句,語句,語句例:(0.53.14159)*r**22.0**r'打印面積和周長'*

592022/12/93.13語句,語句,語句例:592022/12/93.13語句,語句,語句二、語句⒈一般形式[n]注:n為1~5位正整數(shù)或字符常量。⒉功能終止程序的執(zhí)行。(一個程序單位可以有多個語句)602022/12/93.13語句,語句,語句二、語句602022/12/93.13語句,語句,語句三、語句⒈一般形式

⒉功能對主程序:終止程序的執(zhí)行和作為程序單位的結(jié)束標(biāo)志;對子程序:返回調(diào)用程序和作為程序單位的結(jié)束標(biāo)志。(一個程序單位只能有一個語句)612022/12/93.13語句,語句,語句三、語句612022/12/9課后練習(xí)題P75~76:第五、八、十一題622022/12/9課后練習(xí)題P75~76:第五、八、十一題622022第四章

邏輯運(yùn)算和選擇結(jié)構(gòu)

632022/12/9第四章

邏輯運(yùn)算和選擇結(jié)構(gòu)632022/12/9計(jì)算機(jī)程序程序設(shè)計(jì)的基本方法計(jì)算機(jī)解決問題所需要的一系列代碼化指令序列——計(jì)算機(jī)程序。程序=數(shù)據(jù)結(jié)構(gòu)+算法即“程序就是在數(shù)據(jù)的某些特定的表示方式和結(jié)構(gòu)的基礎(chǔ)上,對抽象算法的具體描述?!鄙鲜龉娇蓴U(kuò)充為:程序=數(shù)據(jù)結(jié)構(gòu)+算法+程序設(shè)計(jì)方法+語言工具642022/12/9計(jì)算機(jī)程序程序設(shè)計(jì)的基本方法計(jì)算機(jī)解決問題所謂面向過程的程序設(shè)計(jì),是指利用面向過程的語言工具(如、、和C等)進(jìn)行程序開發(fā)的各項(xiàng)活動。程序設(shè)計(jì)的基本方法面向過程的程序設(shè)計(jì)優(yōu)點(diǎn):編程簡單、結(jié)構(gòu)性強(qiáng)、可讀性好,程序執(zhí)行時序特征明顯;遵循這種結(jié)構(gòu)的程序只有一個入口和一個出口。缺點(diǎn):存在數(shù)據(jù)與程序模塊的分離和程序的可重用性差等問題?;舅枷耄喊岩粋€需要求解的復(fù)雜問題分為若干個模塊來處理,每個模塊處理一個子問題;設(shè)計(jì)時遵循自頂向下、逐步細(xì)化、模塊化設(shè)計(jì)和結(jié)構(gòu)化編碼的原則。652022/12/9所謂面向過程的程序設(shè)計(jì),是指利用面向過程的語言工具(如、、和程序設(shè)計(jì)的基本方法結(jié)構(gòu)化程序設(shè)計(jì)方法:結(jié)構(gòu)化編碼在結(jié)構(gòu)化程序設(shè)計(jì)中,任何復(fù)雜的算法,都可以由三種基本結(jié)構(gòu)組成。在構(gòu)造算法時,也僅以三種基本結(jié)構(gòu)作為基本單元。遵循這種結(jié)構(gòu)的程序只有一個輸入口和一個輸出口。模塊化設(shè)計(jì)將一個復(fù)雜問題的程序分為若干個程序模塊,每個模塊完成一項(xiàng)特定功能;其中有一個主模塊和若干個子模塊,主模塊控制各個子模塊來實(shí)現(xiàn)整個程序的功能。自頂向下,逐步細(xì)化662022/12/9程序設(shè)計(jì)的基本方法結(jié)構(gòu)化程序設(shè)計(jì)方法:結(jié)構(gòu)化編碼模塊化設(shè)計(jì)自程序設(shè)計(jì)的基本方法面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)ο蟮某绦蛟O(shè)計(jì)是一種新的程序設(shè)計(jì)范型。它將一些新的理念和結(jié)構(gòu)化程序設(shè)計(jì)中好的思想相融合,提供了一種全新的程序設(shè)計(jì)方法?;舅枷雽⒁粋€需要求解的問題分解為一系列實(shí)體(對象),然后圍繞這些對象建立數(shù)據(jù)和函數(shù);函數(shù)的功能決定了該對象的行為。規(guī)定一個對象的函數(shù)可以訪問另一對象的函數(shù),但一個對象的數(shù)據(jù)不能應(yīng)用于另一對象的函數(shù)中。幾個基本概念:三類機(jī)制:類,對象,屬性,事件,方法封裝、繼承、多態(tài)672022/12/9程序設(shè)計(jì)的基本方法面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)ο蟮某绦蛟O(shè)計(jì)是一種4.1算法及其表示方法一、算法的概念算法——解決某一問題所采取的方法和步驟。計(jì)算機(jī)算法——計(jì)算機(jī)能夠執(zhí)行的算法。計(jì)算機(jī)算法的特征:⑴有窮性——操作步驟是有限的。⑵確定性——方法步驟是明確的。⑶有效性——方法是正確的,步驟是完整的。⑷必須有輸入和輸出。(取得必要的信息,給出正確的結(jié)果。)682022/12/94.1算法及其表示方法一、算法的概念682022/124.1算法及其表示方法是結(jié)構(gòu)化程序設(shè)計(jì)語言,每個程序單位可由三種基本結(jié)構(gòu)組成:⑴順序結(jié)構(gòu)⑵分支選擇結(jié)構(gòu)⑶循環(huán)結(jié)構(gòu)實(shí)踐證明,任何復(fù)雜的問題都可以用這三種基本結(jié)構(gòu)來描述。692022/12/94.1算法及其表示方法是結(jié)構(gòu)化程序設(shè)計(jì)語言,每4.1算法及其表示方法二、算法的表示用N~S流程圖表示。(由幾種功能框組合而成)⑴矩形框——用于表示順序結(jié)構(gòu)。如:若先執(zhí)行語句A,再執(zhí)行語句B。AB702022/12/94.1算法及其表示方法二、算法的表示AB702022/4.1算法及其表示方法例:若1.5,4.5,求的平方。①畫N~S圖:②編程:1.54.5()**2*,c

1.5→a4.5→b()2→c打印c結(jié)束712022/12/94.1算法及其表示方法例:若1.5,4.5,求的平方。4.1算法及其表示方法⑵三角框——用于表示分支選擇結(jié)構(gòu)。如:若P為條件,當(dāng)P成立執(zhí)行語句A,否則執(zhí)行語句B。PTrueFalseABPAB722022/12/94.1算法及其表示方法⑵三角框——用于表示分支選擇結(jié)構(gòu)4.1算法及其表示方法⑶L形框——用于表示循環(huán)結(jié)構(gòu)。①當(dāng)型循環(huán)(P為條件,A循環(huán)體)如:若條件P成立,則執(zhí)行循環(huán)體A,否則跳出循環(huán)體。PAYNPA732022/12/94.1算法及其表示方法⑶L形框——用于表示循環(huán)結(jié)構(gòu)。P4.1算法及其表示方法②直到型循環(huán)(P為條件,A循環(huán)體)如:首先執(zhí)行循環(huán)體A,若條件P不成立繼續(xù)執(zhí)行循環(huán)體A,直到條件P成立為止。

A

PPAYN742022/12/94.1算法及其表示方法②直到型循環(huán)(P為條件,A循4.2關(guān)系表達(dá)式關(guān)系表達(dá)式是構(gòu)成選擇結(jié)構(gòu)判斷條件的基本式子。它也是一種最簡單的邏輯表達(dá)式。一、關(guān)系運(yùn)算符(P80表4-1).(大于).(大于等于).(等于).(小于).(小于等于).(不等于)752022/12/94.2關(guān)系表達(dá)式關(guān)系表達(dá)式是構(gòu)成選4.2關(guān)系表達(dá)式二、關(guān)系表達(dá)式的一般形式〈算術(shù)量〉〈關(guān)系運(yùn)算符〉〈算術(shù)量〉即:⑴關(guān)系表達(dá)式是由關(guān)系運(yùn)算符將兩個算術(shù)量連接起來的式子。⑵關(guān)系表達(dá)式的運(yùn)算元素是算術(shù)量,結(jié)果是邏輯量:真(.)或假(.)。762022/12/94.2關(guān)系表達(dá)式二、關(guān)系表達(dá)式的一般形式762022/4.2關(guān)系表達(dá)式有了關(guān)系表達(dá)式,我們就可以將:數(shù)學(xué)關(guān)系式─→關(guān)系表達(dá)式例:>15.4─→.15.4≠─→≥2.17─→(x).2.17772022/12/94.2關(guān)系表達(dá)式有了關(guān)系表達(dá)式,我們就可以將:77204.2關(guān)系表達(dá)式注意:⑴算術(shù)運(yùn)算優(yōu)先于關(guān)系運(yùn)算。如:等同于().()⑵實(shí)數(shù)運(yùn)算誤差對關(guān)系表達(dá)式的影響如:1.0/3.0*3.0.1.0值為.1.0/3.0*3.0=0.9999999∴對于→().16→().16782022/12/94.2關(guān)系表達(dá)式注意:782022/12/94.3邏輯表達(dá)式關(guān)系表達(dá)式只能表達(dá)簡單的關(guān)系,如:5≤x≤10就不能用關(guān)系表達(dá)式表達(dá),此時要用邏輯表達(dá)式。792022/12/94.3邏輯表達(dá)式關(guān)系表達(dá)式只能表達(dá)簡單的關(guān)系,如:794.3邏輯表達(dá)式一、邏輯表達(dá)式的一般形式〈邏輯量〉〈邏輯運(yùn)算符〉〈邏輯量〉即:⑴邏輯表達(dá)式是由邏輯運(yùn)算符將兩個邏輯量連接起來的式子。⑵邏輯表達(dá)式的運(yùn)算元素是邏輯量,結(jié)果也是邏輯量:真(.)或假(.)。邏輯量包括邏輯常量、邏輯變量和關(guān)系表達(dá)式。802022/12/94.3邏輯表達(dá)式一、邏輯表達(dá)式的一般形式802022/4.3邏輯表達(dá)式二、邏輯常量兩個:①.(真)②.(假)三、邏輯變量——用于存放邏輯常量的變量。邏輯變量可以通過賦值語句來接受邏輯常量的值,但在使用前,要進(jìn)行類型說明。例:a,b..812022/12/94.3邏輯表達(dá)式二、邏輯常量812022/12/94.3邏輯表達(dá)式四、邏輯運(yùn)算符.(邏輯與).(邏輯或).(邏輯非).(邏輯等(同或)).(邏輯不等(異或))822022/12/94.3邏輯表達(dá)式四、邏輯運(yùn)算符822022/12/94.3邏輯表達(dá)式五、邏輯運(yùn)算符的運(yùn)算規(guī)則(P83表4.3)若為兩個邏輯量,則:——(當(dāng)a、b同時為真時,為真。)——(當(dāng)a、b中任意一個為真或同時為真時,為真。)——(當(dāng)a為真,其值為假;當(dāng)a為假,其值真。)——(當(dāng)a、b為同一邏輯常量時,為真。)——(當(dāng)a、b不為同一邏輯常量時,為真。)832022/12/94.3邏輯表達(dá)式五、邏輯運(yùn)算符的運(yùn)算規(guī)則(P83表44.3邏輯表達(dá)式六、邏輯表達(dá)式的運(yùn)算次序(P84表4.5)運(yùn)算次序?yàn)椋豪ㄌ枴阈g(shù)運(yùn)算→關(guān)系運(yùn)算→邏輯運(yùn)算而邏輯運(yùn)算:.→.→.→.842022/12/94.3邏輯表達(dá)式六、邏輯表達(dá)式的運(yùn)算次序(P84表44.3邏輯表達(dá)式例1:寫出下列條件的邏輯表達(dá)式。⑴5≤k≤10.5.10⑵│f│≤3g或│f│=5t(f).3*(f).5*t⑶1≤a≤8并且1≤b≤8(.1.8).(.1.8)852022/12/94.3邏輯表達(dá)式例1:寫出下列條件的邏輯表達(dá)式。8524.3邏輯表達(dá)式例2:若2.57.55.06.0,求下列邏輯表達(dá)式的值。⑴().()①t②f③f

862022/12/94.3邏輯表達(dá)式例2:若2.57.55.06.0,求下4.3邏輯表達(dá)式例2:若2.57.55.06.0,求下列邏輯表達(dá)式的值。⑵2.0①8.5④F③T②F.⑤F.⑥T872022/12/94.3邏輯表達(dá)式例2:若2.57.55.06.0,求下4.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)有以下三種典型的塊選擇結(jié)構(gòu):⑴(條件)(塊語句)塊(塊)(語句)PA882022/12/94.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)有以下三種典型的塊選擇結(jié)構(gòu):P4.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)⑵(條件)塊1(塊)

塊2(塊)

PAB892022/12/94.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)⑵(條件)PAB84.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)例:2X+3(X≤2)Y=X+5(X>2)編程如下: (*,*)x (.2) 2*3

5

(*,*)’’,’’

X≤2TrueFalseY=2X+3

Y=X+5輸出結(jié)果結(jié)束輸入X值902022/12/94.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)例:2X4.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)⑶(條件1)塊1(條件2)塊2(塊)┆(條件n)塊n[塊(1)]

912022/12/94.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)⑶(條件1)914.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)說明:⑴每個塊中可以完整地包含一個(或多個)塊結(jié)構(gòu),即構(gòu)成塊的嵌套結(jié)構(gòu)。如:(條件1)(條件1)塊1(條件2)塊2(條件2)塊2塊1

922022/12/94.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)說明:922022/12/94.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)⑵一個塊語句必須和一個語句相對應(yīng)。⑶塊中的“塊”、“塊”和“塊”可為空塊。932022/12/94.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)⑵一個塊語句必須和一個語句相4.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)例1:求一元二次方程20的根。(當(dāng)b2-4≥0時有兩個實(shí)根,b2-4<0時有兩個復(fù)根。)

輸入a、b、cb2-4ac→dtrued≥0false計(jì)算兩實(shí)根計(jì)算兩復(fù)根輸出x1,x2輸出x1,x2結(jié)束942022/12/94.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)例1:求一元二次方程20的根4.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)*,’:’ *(2.0*a) **2-4.0*a*c()/(2.0*a) (.0.0)*,'x1=','' (d)*,'x2=','' x1=()/(2.0*a) x2=()/(2.0*a) *,'x1='1 *,'x2='2

952022/12/94.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)*,’:’952024.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)例2:求下列函數(shù)值。0(x<-10)220(-10≤x<0)20(0≤x<20)30-0.5x(20≤x<40)50(40≤x<50)0(x≥50)962022/12/94.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)例2:求下列函數(shù)值。962024.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)

輸入xx<-10x<0x<20x<40x<50500打印yy=02030-0.5x220972022/12/94.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)輸入xx<-104.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)源程序一:*(.50.0)(10.0)50.00.00.0(.0.0)2.0*20.0

(.20.0) 20.0 *,’‘ (.40.0) 30.0-0.5*x

982022/12/94.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)源程序一:982022/12/4.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)源程序二: **,’‘ (10.0) 0.0 (.0.0) 2.0*20.0 (.20.0) 20.0 (.40.0) 30.0-0.5*x (.50.0) 50.0

0.0

992022/12/94.4用塊實(shí)現(xiàn)選擇結(jié)構(gòu)源程序二:992022/12/4.5邏輯語句邏輯語句也是一種選擇結(jié)構(gòu),但與塊不同,主要表現(xiàn)在:①只用一行表示一個選擇結(jié)構(gòu);②僅當(dāng)條件成立時執(zhí)行,并且只執(zhí)行一條語句。邏輯語句的一般形式:〈條件〉語句例:(.100)11002022/12/94.5邏輯語句邏輯語句也是一種選擇結(jié)構(gòu),但與4.5邏輯語句例:2X+3(X≤2)Y=X+5(X>2)編程如下:(*,*)x(*,*)x(.2) (.2)2*32*3(.2)5(*,*)’’5

(*,*)’’

1012022/12/94.5邏輯語句例:2X+3課后練習(xí)題P96:第一~三題;第四、五、七題1022022/12/9課后練習(xí)題P96:1022022/12/9第五章循環(huán)結(jié)構(gòu)的實(shí)現(xiàn)

1032022/12/9第五章循環(huán)結(jié)構(gòu)的實(shí)現(xiàn)1032022/12/9第五章循環(huán)結(jié)構(gòu)的實(shí)現(xiàn)所謂循環(huán),是指在程序執(zhí)行過程中需要重復(fù)執(zhí)行的程序段。在實(shí)際問題中,我們經(jīng)常遇到循環(huán),如:求∑n,n!,…無條件循環(huán)循環(huán)結(jié)構(gòu)直到型循環(huán)條件循環(huán)當(dāng)型循環(huán)計(jì)數(shù)型循環(huán)1042022/12/9第五章循環(huán)結(jié)構(gòu)的實(shí)現(xiàn)所謂循環(huán),是指在程序執(zhí)行過程中5.1用語句實(shí)現(xiàn)循環(huán)語句的一般形式:<s1>其中:s1——語句標(biāo)號。功能:程序執(zhí)行到此語句時,無條件的轉(zhuǎn)向標(biāo)號為s1的語句去執(zhí)行。例:求1~10的累加和。編寫程序段:0.00.0101

101052022/12/95.1用語句實(shí)現(xiàn)循環(huán)語句的一般形式:例:求1~10的累加5.1用語句實(shí)現(xiàn)循環(huán)如果我們把以上語句作為邏輯語句中的執(zhí)行語句,則就可以實(shí)現(xiàn)有條件的循環(huán)。即:求1~10的累加和0.00.0101

(.10)10*

x=0.0,sum=0.0x+1→x

sum+x→sum直到x≥10輸出sum1062022/12/95.1用語句實(shí)現(xiàn)循環(huán)如果我們把以上語句作為邏5.2當(dāng)型循環(huán)的實(shí)現(xiàn)一、用塊和語句實(shí)現(xiàn)循環(huán)一般形式:s1(條件)標(biāo)號塊s1

P

A所謂當(dāng)型循環(huán),是指執(zhí)行循環(huán)體要依據(jù)事先給定的條件。當(dāng)條件成立時執(zhí)行循環(huán),否則就不執(zhí)行循環(huán)。1072022/12/95.2當(dāng)型循環(huán)的實(shí)現(xiàn)一、用塊和語句實(shí)現(xiàn)循環(huán)PA所謂當(dāng)型5.2當(dāng)型循環(huán)的實(shí)現(xiàn)編程如下: * 1 110()*i 110

*

輸入nm=1,i=1i≤n

m×i→mi+1→i輸出m例:求n!。1082022/12/95.2當(dāng)型循環(huán)的實(shí)現(xiàn)編程如下:輸入n例:求n!。10825.2當(dāng)型循環(huán)的實(shí)現(xiàn)二、用語句實(shí)現(xiàn)當(dāng)型循環(huán)一般形式s1[,](條件)┆循環(huán)體s1<終端語句>1092022/12/95.2當(dāng)型循環(huán)的實(shí)現(xiàn)二、用語句實(shí)現(xiàn)當(dāng)型循環(huán)109205.2當(dāng)型循環(huán)的實(shí)現(xiàn)例:求n!。編程如下:*1110()*i 110*

1102022/12/95.2當(dāng)型循環(huán)的實(shí)現(xiàn)例:求n!。1102022/12/95.3直到型循環(huán)的實(shí)現(xiàn)一、用邏輯語句實(shí)現(xiàn)直到型循環(huán)一般形式s1循環(huán)體(條件)s1所謂直到型循環(huán),是指先執(zhí)行循環(huán)體,再判斷條件。如果條件為“假”(真),繼續(xù)執(zhí)行循環(huán),直到條件為“真”(假)時終止循環(huán)。1112022/12/95.3直到型循環(huán)的實(shí)現(xiàn)一、用邏輯語句實(shí)現(xiàn)直到型循環(huán)所謂直5.3直到型循環(huán)的實(shí)現(xiàn)例1:求n!。編程如下:*1110*i 1()10*

讀nm→1,i→1m*i→mi+1→i直到i>n輸出m結(jié)束1122022/12/95.3直到型循環(huán)的實(shí)現(xiàn)例1:求n!。讀n11220225.3直到型循環(huán)的實(shí)現(xiàn)編程如下:

1.02.0110(-1)*

1(.100.0)10*,s

例2:求的值。1132022/12/95.3直到型循環(huán)的實(shí)現(xiàn)編程如下:例2:求當(dāng)型與直到型循環(huán)的比較當(dāng)型循環(huán)直到型循環(huán)不同:先判斷條件先執(zhí)行循環(huán)體再執(zhí)行循環(huán)體再判斷條件 (循環(huán)體至少被 執(zhí)行一次)PAPA循環(huán)結(jié)構(gòu)關(guān)鍵:⑴條件判斷⑵改變條件的語句1142022/12/9當(dāng)型與直到型循環(huán)的比較當(dāng)型循環(huán)5.4用語句實(shí)現(xiàn)循環(huán)當(dāng)循環(huán)的初值、終值和循環(huán)次數(shù)都已知時,可用語句實(shí)現(xiàn)循環(huán)。用語句實(shí)現(xiàn)的循環(huán)稱為“循環(huán)”。循環(huán)是由一個語句和循環(huán)體組成。1152022/12/95.4用語句實(shí)現(xiàn)循環(huán)當(dāng)循環(huán)的初值、終值和循環(huán)次數(shù)5.4用語句實(shí)現(xiàn)循環(huán)一、一般形式s[,]1,e2[3]┆循環(huán)體s<終端語句>說明:①s——循環(huán)體終端語句的標(biāo)號②v——循環(huán)控制變量(變量),可為整型、實(shí)型或雙精度1162022/12/95.4用語句實(shí)現(xiàn)循環(huán)一、一般形式1162022/12/95.4用語句實(shí)現(xiàn)循環(huán)一、一般形式s[,]1,e2[3]┆循環(huán)體s<終端語句>說明:③e123是整型、實(shí)型或雙精度表達(dá)式e1——循環(huán)變量初值e2——循環(huán)變量終值e3——循環(huán)變量增量(步長,默認(rèn)值:1)當(dāng)v為整型變量,e3=1時,e3可忽略例:101,10,21001,51172022/12/95.4用語句實(shí)現(xiàn)循環(huán)一、一般形式例:101,10,21循環(huán)執(zhí)行過程P103圖5.8計(jì)算e1,e2,e3的值v←e1v>e2執(zhí)行循環(huán)體v←v+e3YN執(zhí)行終端語句

下面的語句1182022/12/9循環(huán)執(zhí)行過程計(jì)算e1,e2,e3的值v←e1v>e2(((e213)3),0)v←3執(zhí)行過程P103圖5.7并將其轉(zhuǎn)換為

循環(huán)變量的類型1192022/12/9(((e213)3),0)v←3執(zhí)行過程并將其轉(zhuǎn)換為

循5.4用語句實(shí)現(xiàn)循環(huán)例如:求1~10的累加和。

0101,10

110*

0.0010(.10)1

10

*

1202022/12/95.4用語句實(shí)現(xiàn)循環(huán)例如:求1~10的累加和。12025.4用語句實(shí)現(xiàn)循環(huán)二、執(zhí)行過程(分四種情形)⑴當(dāng)e2>e1且e3>0:⑵當(dāng)e2>e1且e3<0:1212022/12/95.4用語句實(shí)現(xiàn)循環(huán)二、執(zhí)行過程(分四種情形)121205.4用語句實(shí)現(xiàn)循環(huán)⑶當(dāng)e2<e1且e3>0:⑷當(dāng)e2<e1且e3<0:1222022/12/95.4用語句實(shí)現(xiàn)循環(huán)⑶當(dāng)e2<e1且e3>0:12225.4用語句實(shí)現(xiàn)循環(huán)編程如下:101,30*,x10(.60)*,i,x

循環(huán)體例1:從鍵盤輸入30個學(xué)生的單科成績,并將其中及格以上的學(xué)生序號和成績打印出來。1232022/12/95.4用語句實(shí)現(xiàn)循環(huán)編程如下:循環(huán)體例1:從鍵盤輸5.4用語句實(shí)現(xiàn)循環(huán)例2:打印正弦的值。(間隔0.1o,從0o~360o)編程如下:1000,360010.0(x*3.14159/180)100*,’’,’’,y

1242022/12/95.4用語句實(shí)現(xiàn)循環(huán)例2:打印正弦的值。(間隔0.1o,5.4用語句實(shí)現(xiàn)循環(huán)說明:⑴循環(huán)是當(dāng)型循環(huán)⑵可用e1,e2,e3的值求出循環(huán)次數(shù)。計(jì)算公式:(((e213)3),0)①e3=0則運(yùn)行時出錯(被零除)例:10=1.2,6.6,0.2((6-1+0/0),0)(因?yàn)檠h(huán)變量I是整型)②e1<e2且e3<0或e1>e2且e3>0,則循環(huán)次數(shù)為0⑶由于實(shí)數(shù)在內(nèi)存中存儲的誤差,v,e1,e2,e3盡可能用整型量。1252022/12/95.4用語句實(shí)現(xiàn)循環(huán)說明:1252022/12/95.4用語句實(shí)現(xiàn)循環(huán)說明:⑷e123的值在循環(huán)體內(nèi)不會改變,即使給表達(dá)式e123中的變量賦值也不影響循環(huán)次數(shù)例:10101,3100*10

(10-1+3)/3=41262022/12/95.4用語句實(shí)現(xiàn)循環(huán)說明:1262022/12/95.4用語句實(shí)現(xiàn)循環(huán)說明:⑸循環(huán)終端語句必須是可執(zhí)行語句(但除,塊,,,,,和語句外)。⑹繼續(xù)語句(語句)循環(huán)終端語句必須是可執(zhí)行語句。那么,這種作為循環(huán)終端語句的語句具有雙重作用:一是作為循環(huán)終端的標(biāo)志,二是要完成自身的功能。因此影響了程序的可讀性。用一個專門的語句作為循環(huán)的終端語句,即語句,它本身不進(jìn)行任何機(jī)器操作。1272022/12/95.4用語句實(shí)現(xiàn)循環(huán)說明:1272022/12/95.4用語句實(shí)現(xiàn)循環(huán)三、有關(guān)循環(huán)的規(guī)定⑴在循環(huán)體內(nèi)不允許對循環(huán)變量再賦值,但可以引用。例:1020,112*i不合法2*i引用i,合法*101282022/12/95.4用語句實(shí)現(xiàn)循環(huán)三、有關(guān)循環(huán)的規(guī)定1282022/1例2:1001,10……20*……100(.100.)20例1:101,100……(n**2.500)20……10……20*,n,n**2……5.4用語句實(shí)現(xiàn)循環(huán)三、有關(guān)循環(huán)的規(guī)定⑵可從循環(huán)體內(nèi)轉(zhuǎn)到循環(huán)體外,但不允許從循環(huán)外轉(zhuǎn)到循環(huán)內(nèi),內(nèi)外錯誤1292022/12/9例2:1001,10例1:101,1005.45.4用語句實(shí)現(xiàn)循環(huán)三、有關(guān)循環(huán)的規(guī)定⑵當(dāng)退出循環(huán)時,循環(huán)變量仍有定義,其值為離開循環(huán)時,循環(huán)變量的值三種情況①循環(huán)正常結(jié)束1*e3②循環(huán)次數(shù)為01③非正常退出循環(huán)例:100101,100,310*(.150)201020*

1302022/12/95.4用語句實(shí)現(xiàn)循環(huán)三、有關(guān)循環(huán)的規(guī)定1302022/15.4用語句實(shí)現(xiàn)循環(huán)例:計(jì)算100100100∑k,∑k2,∑1的值。111編程如下:cn,ms.000.0501,100

*k1.050*,n,m,s

1312022/12/95.4用語句實(shí)現(xiàn)循環(huán)例:計(jì)算5.4用語句實(shí)現(xiàn)循環(huán)四、循環(huán)的嵌套在一個循環(huán)中還可以包含一套或多套完整的循環(huán),這就是循環(huán)的嵌套。一般形式(以雙重循環(huán)為例)101,10┆201,10┆20┆101322022/12/95.4用語句實(shí)現(xiàn)循環(huán)四、循環(huán)的嵌套1322022/125.4用語句實(shí)現(xiàn)循環(huán)五、關(guān)于循環(huán)嵌套的規(guī)定⑴內(nèi)外循環(huán)不允許交叉。101,10┆201,10┆10┆201332022/12/95.4用語句實(shí)現(xiàn)循環(huán)五、關(guān)于循環(huán)嵌套的規(guī)定1332025.4用語句實(shí)現(xiàn)循環(huán)五、關(guān)于循環(huán)嵌套的規(guī)定⑵在一個程序單位中,并列的循環(huán)可用同名循環(huán)變量,而嵌套的循環(huán)不允用同一變量作為循環(huán)變量。例:101,10┆201,10┆20┆10使循環(huán)控制產(chǎn)生混亂1342022/12/95.4用語句實(shí)現(xiàn)循環(huán)五、關(guān)于循環(huán)嵌套的規(guī)定1342025.4用語句實(shí)現(xiàn)循環(huán)例:打印“九九表”。編程如下:101,9201,9*j*,i,’*’,‘=‘20*,’’10

1352022/12/95.4用語句實(shí)現(xiàn)循環(huán)例:打印“九九表”。1352022/5.4用語句實(shí)現(xiàn)循環(huán)六、三種循環(huán)形式的選擇⑴循環(huán)次數(shù)可事先確定,優(yōu)先用循環(huán)⑵若循環(huán)體可能一次也不執(zhí)行,則優(yōu)先用當(dāng)型循環(huán)若循環(huán)體至少執(zhí)行一次,則當(dāng)型、直到型循環(huán)都可1362022/12/95.4用語句實(shí)現(xiàn)循環(huán)六、三種循環(huán)形式的選擇1362022課后練習(xí)題P126:第二、三、八題。1372022/12/9課后練習(xí)題P126:第二、三、八題。1372022/12/9第六章的數(shù)據(jù)結(jié)構(gòu)

1382022/12/9第六章的數(shù)據(jù)結(jié)構(gòu)1382022/12/96.1程序中的數(shù)據(jù)結(jié)構(gòu)程序代數(shù)表達(dá)式:程序=算法+數(shù)據(jù)結(jié)構(gòu)對于同一個問題的求解,即一個程序的實(shí)現(xiàn),可以采用不同的數(shù)據(jù)結(jié)構(gòu)和不同的算法。選擇合適的數(shù)據(jù)結(jié)構(gòu)可以降低算法的復(fù)雜度。1392022/12/96.1程序中的數(shù)據(jù)結(jié)構(gòu)程序代數(shù)表達(dá)式:1392022/126.1程序中的數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)高級語言中用數(shù)據(jù)類型來表示不同的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)一般有以下三類:基本類型(支持)構(gòu)造類

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論