Fortran語言教程專業(yè)知識(shí)講座_第1頁
Fortran語言教程專業(yè)知識(shí)講座_第2頁
Fortran語言教程專業(yè)知識(shí)講座_第3頁
Fortran語言教程專業(yè)知識(shí)講座_第4頁
Fortran語言教程專業(yè)知識(shí)講座_第5頁
已閱讀5頁,還剩382頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Fortran語言

(Fortran77構(gòu)造化程序設(shè)計(jì))一般高校計(jì)算機(jī)基礎(chǔ)教學(xué)課程第1頁2023/10/102

說明第一章算法(略)第二章計(jì)算機(jī)和計(jì)算機(jī)程序(略)第2頁2023/10/103第三章

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

第3頁2023/10/1043.1Fortran語言發(fā)展概況

FORmulaTRANslator公式翻譯器

Fortran語言是一種適合于科學(xué)和工程計(jì)算問題程序設(shè)計(jì)語言;也是計(jì)算機(jī)高級(jí)語言發(fā)展史上使用最早一種程序設(shè)計(jì)語言。第4頁2023/10/1053.1Fortran語言發(fā)展概況

Fortran語言發(fā)展過程:1951年由約翰·貝克斯等人開始研究Fortran語言;1957年第一種Fortran程序在IBM704機(jī)上運(yùn)行;1958和1962年先后推出FortranⅡ和FortranⅣ;1966和1978年先后頒布Fortran66和Fortran77;1991年頒布了Fortran90。目前已有了Fortran95,Fortran2023第5頁2023/10/106Fortran語言特性Fortran語言最大特性是接近數(shù)學(xué)公式自然描述,在計(jì)算機(jī)里具有很高執(zhí)行效率。易學(xué),語法嚴(yán)謹(jǐn)。能夠直接對(duì)矩陣和復(fù)數(shù)進(jìn)行運(yùn)算。自誕生以來廣泛地應(yīng)用于數(shù)值計(jì)算領(lǐng)域,積累了大量高效而可靠源程序。很多專用大型數(shù)值運(yùn)算計(jì)算機(jī)針對(duì)Fortran做了優(yōu)化。廣泛地應(yīng)用于并行計(jì)算和高性能計(jì)算領(lǐng)域。Fortran90,F(xiàn)ortran95,F(xiàn)ortran2023相繼推出使Fortran語言具有了當(dāng)代高級(jí)編程語言某些特性。第6頁2023/10/1073.2簡(jiǎn)單Fortran程序分析

例1:求一元二次方程x2+3x-5.6=0根,并打印成果。利用公式:(這里,a=1,b=3,c=-5.6)第7頁2023/10/1083.2簡(jiǎn)單Fortran程序分析編程如下:ctherootsofthequadraticequation a=1.0 b=3.0 c=-5.6 x1=(-b+sqrt(b*b-4.0*a*c))/(2.0*a) x2=(-b-sqrt(b*b-4.0*a*c))/(2.0*a)write(*,100)x1,x2100format(1x,'x1=',f6.2,'x2=',f6.2) end 第8頁2023/10/1093.2簡(jiǎn)單Fortran程序分析執(zhí)行成果:x1=1.30x2=-4.30

例2:試求3!,6!,9!值。編程如下:第9頁2023/10/10103.2簡(jiǎn)單Fortran程序分析主程序:子程序:

cmainprogramcsubprogramj=k(3)functionk(n) l=k(6)k=1m=k(9)i=2 write(*,*)j,l,m5if(i.le.n)thenend k=k*i i=i+1 執(zhí)行成果:goto56720362880endifreturn end第10頁2023/10/10113.2簡(jiǎn)單Fortran程序分析Fortran程序基本構(gòu)造:⑴一種Fortran源程序由一種或多種程序單位組成,每個(gè)程序單位以“end”語句結(jié)束。⑵每個(gè)程序單位包括若干行語句行(執(zhí)行語句和非執(zhí)行語句行)非語句行(注釋行)⑶語句前可不設(shè)標(biāo)號(hào),也可根據(jù)需要設(shè)標(biāo)號(hào)。⑷各類語句在程序單位中位置有一定規(guī)則。⑸程序必須按要求格式書寫。第11頁2023/10/10123.3Fortran源程序書寫格式Fortran77源程序必須按下列格式書寫:

⑴每行只能在80列內(nèi)書寫,并把80列分為4個(gè)區(qū)。

⑵1~5列:標(biāo)號(hào)區(qū)(1~5位無符號(hào)整數(shù);第1列為“*”或“c”時(shí),為注釋行)

⑶第6列:續(xù)行標(biāo)志區(qū)(非空格或非零字符;最多19個(gè)續(xù)行)

⑷7~72列:語句區(qū)(書寫語句;一行只能寫一條語句)

⑸73~80列:語句注釋區(qū)(一般作編號(hào)注釋)第12頁2023/10/10133.4Fortran程序編輯與運(yùn)行FortranPowerStation4.0集成開發(fā)環(huán)境簡(jiǎn)介第13頁2023/10/10143.4Fortran程序編輯與運(yùn)行一、FortranPowerStation4.0啟動(dòng)選“開始”→“程序”→“FortranPowerStation4.0”→“MicrosoftDeveloperStudio”。二、創(chuàng)建項(xiàng)目工作間選“File”→“New”→“ProjectWorkspace”→“ConsoleApplication”,并輸入項(xiàng)目工作間名稱(如:aaa)和寄存項(xiàng)目工作間位置或途徑(如:c:\for\)→Create。第14頁2023/10/10153.4Fortran程序編輯與運(yùn)行三、給項(xiàng)目工作間添加和編輯文獻(xiàn)打開指定項(xiàng)目工作間→選“Insert”→“FileintoProject”→輸入要添加文獻(xiàn)名(如:st01.for)→“Add”。然后按Fortran程序書寫規(guī)則編輯程序。四、編譯項(xiàng)目工作間中文獻(xiàn)打開指定文獻(xiàn)→選“Build”→“Compilest01.for”。五、連編項(xiàng)目文獻(xiàn)選“Build”→“Buildaaa.exe”。六、運(yùn)行項(xiàng)目文獻(xiàn)選“Build”→“Executeaaa.exe”。(顯示程序執(zhí)行成果)第15頁2023/10/10163.4Fortran程序編輯與運(yùn)行注:若Fortran程序是由一種主程序文獻(xiàn)和若干個(gè)子程序文獻(xiàn)組成,則應(yīng)將各文獻(xiàn)添加到同一項(xiàng)目工作間,分別進(jìn)行編譯,然后連編和運(yùn)行項(xiàng)目文獻(xiàn)。七、打開項(xiàng)目文獻(xiàn)選“File”→“Open”→在打開對(duì)話框文獻(xiàn)類型下拉列表中選“ProjectWorkspace(*.mdp)”→然后選項(xiàng)目工作間文獻(xiàn)夾中項(xiàng)目文獻(xiàn)。第16頁2023/10/10173.5常量常量——在程序執(zhí)行期間其值固定不變量。Fortran處理六種類型常量:⑴整型常量(Integer)⑵實(shí)型常量(Real)⑶雙精度常量(Doubleprecision)⑷復(fù)型常量(Complex)⑸邏輯型常量(Logical)⑹字符型常量(Character)第17頁2023/10/10183.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)第18頁2023/10/10193.5常量3.5.2實(shí)型常量(有二種表達(dá)形式)⒈小數(shù)形式例:15.8,-21.05,14.0,14.,.17,0.0,…⒉指數(shù)形式(一般表達(dá)較大或較小數(shù))例:100000000→1.0E+80.0000125→1.25E-05

數(shù)字部分

指數(shù)部分第19頁2023/10/10203.5常量說明:⑴一種數(shù)值用指數(shù)形式表達(dá)時(shí)有兩種體現(xiàn)方式:①一種基本實(shí)數(shù)背面跟指數(shù)部分。例:0.876→8.76E-1-2589.4→-2.5894E+3②一種整數(shù)背面跟指數(shù)部分。例:0.876→876E-3-2589.4→-25894E-1第20頁2023/10/10213.5常量⑵同一種數(shù)值可用不一樣指數(shù)形式表達(dá)。例:0.876→8.76E-1→87.6E-2→876E-3⑶計(jì)算機(jī)在輸出時(shí),按標(biāo)準(zhǔn)化指數(shù)形式輸出。例:0.28→2.800000E-01-59.58E+12→-5.958000E+13

即數(shù)字部分大于1,且小數(shù)點(diǎn)前只有一位非零數(shù)字指數(shù)輸出形式。⑷在微機(jī)中,一般用四個(gè)字節(jié)寄存一種實(shí)數(shù),其取值范圍為:10-75~1075。超出此范圍時(shí)為“溢出”錯(cuò)誤。第21頁2023/10/10223.5常量⑸下列形式為不合法指數(shù)形式:①單獨(dú)小數(shù)點(diǎn)和單獨(dú)指數(shù)部分。例:.E5,E10×②指數(shù)部分只能是整數(shù),不能帶小數(shù)點(diǎn)。例:8E0.5,12.3E1.5×第22頁2023/10/10233.6變量變量——在程序執(zhí)行期間其值能夠變化量。3.6.1變量概念

Fortran為每一種變量分派一種對(duì)應(yīng)存放單元;每個(gè)變量在每個(gè)時(shí)刻只能有一種確定值。例:x=4.5xx=8.0x注:在程序中用到變量都必須要有確定值。4.58.0第23頁2023/10/10243.6變量3.6.2變量名變量名——標(biāo)識(shí)一種變量所用名字。命名規(guī)則:變量名第一種字符必須是字母;在第一種字符后可跟1~5個(gè)字母或數(shù)字。例:x,m1,total,k123,…

第24頁2023/10/10253.6變量注意幾點(diǎn):⑴變量名不辨別大小寫字母。例:TOTAL,Total,total代表同一變量⑵變量名中空格不起作用。例:abc,abc,abc,abc代表同一變量⑶變量名盡可能做到“見名知義”

AVER、SUM、Imax⑷允許變量名與語言中具有特定含義字(“保存字”)同名。例:sin,read,open,end,…提議不要使用fortran中具有特定含義字作變量名第25頁2023/10/10263.6變量3.6.3變量類型

Fortran能處理多種類型變量。不一樣類型變量用來寄存不一樣類型數(shù)據(jù)。變量類型說明(三種方式)⒈隱含說明即以I、j、k、l、m、n開頭變量為整型變量,以其他字母開頭變量為實(shí)型變量。(“I~N規(guī)則”)例:imax,m5,number,…

為整型變量

v,h2,aver,…

為實(shí)型變量第26頁2023/10/10273.6變量⒉顯式說明即用類型說明語句指定變量類型。如:Integer——說明變量為整型變量Real——說明變量為實(shí)型變量Doubleprecision——說明變量為雙精度變量Complex——說明變量為復(fù)型變量Logical——說明變量為邏輯型變量Character——說明變量為字符型變量第27頁2023/10/10283.6變量如:

Integerabc,xyzrealimax,k3logicala1,kpz⒊用implicit語句說明即說明用某一字母開頭變量為指定類型。例:implicitinteger(a,b),real(k)implicitinteger(x-z)第28頁2023/10/10293.6變量三種類型說明優(yōu)先級(jí):高類型說明語句(顯式說明)

implicit語句說明低

“I~N規(guī)則”第29頁2023/10/10303.7Fortran內(nèi)部函數(shù)

在編制Fortran程序時(shí),經(jīng)常要用到某些基本數(shù)學(xué)函數(shù),如三角函數(shù)、指數(shù)函數(shù)、對(duì)數(shù)函數(shù)等。為方便顧客,F(xiàn)ortran編譯系統(tǒng)已提供了這些函數(shù)計(jì)算程序,需要時(shí)即可調(diào)用。

Fortran內(nèi)部函數(shù)調(diào)用格式:函數(shù)名(自變量)第30頁2023/10/10313.7Fortran內(nèi)部函數(shù)如:sin(90*3.14159/180)→1.0sqrt(9.0)→3.0abs(-5.6)→5.6int(6.75)→6exp(3.0)→20.085540Fortran77所有內(nèi)部函數(shù)見附錄Ⅵ第31頁2023/10/10323.7Fortran內(nèi)部函數(shù)注意幾點(diǎn):⑴函數(shù)自變量(參數(shù))必須用括號(hào)括起來。

例:sinx+cosx→sin(x)+cos(x)⑵函數(shù)自變量能夠是常量、變量或體現(xiàn)式。

例:exp(3.0)sin(x+cos(x))⑶有些函數(shù)類型是由自變量類型確定。

例:mod(8.0,3.0)→2.0mod(8,3)→2⑷三角函數(shù)角度單位是“弧度”而不是“度”。⑸函數(shù)名分為“通用名”和“專用名”

內(nèi)部函數(shù)名一般用“通用名”。第32頁2023/10/10333.8Fortran算術(shù)體現(xiàn)式Fortran77提供了四種體現(xiàn)式:算術(shù)體現(xiàn)式關(guān)系體現(xiàn)式邏輯體現(xiàn)式字符體現(xiàn)式

算術(shù)體現(xiàn)式——將各運(yùn)算元素(常量、變量、函數(shù)和數(shù)組等)用算術(shù)運(yùn)算符連接起來一種有值式子。第33頁2023/10/10343.8Fortran算術(shù)體現(xiàn)式一、算術(shù)運(yùn)算符及其優(yōu)先級(jí)⒈算術(shù)運(yùn)算符(五種)加(+)減(-)乘(*)除(/)乘方(**)⒉算術(shù)運(yùn)算符優(yōu)先級(jí)括號(hào)→函數(shù)→乘方→乘、除→加、減注:同級(jí)運(yùn)算“先左后右”,連續(xù)乘方時(shí)“先右后左”。第34頁2023/10/10353.8Fortran算術(shù)體現(xiàn)式例:3+5-6.0*8.5/4**2+sin(x)→3+5-6.0×8.5÷42+sinxx**y**z、x**(y**z)→xyz(x**y)**z

→(xy)z有了算術(shù)體現(xiàn)式概念之后,我們就能夠?qū)ⅲ?/p>

數(shù)學(xué)運(yùn)算式→Fortran算術(shù)體現(xiàn)式第35頁2023/10/10363.8Fortran算術(shù)體現(xiàn)式二、算術(shù)體現(xiàn)式書寫規(guī)則⑴體現(xiàn)式中各運(yùn)算元素之間必須用運(yùn)算符分隔。

例:xyz→x*y*z2(x+y)→2*(x+y)⑵作任何運(yùn)算體現(xiàn)式只能寫在一行。例:

→(a+b)/(c+d)a+b/c+d×第36頁2023/10/10373.8Fortran算術(shù)體現(xiàn)式⑶兩個(gè)運(yùn)算符不能緊鄰。

例:

→a/(-b)→-a/b→a/-b⑷體現(xiàn)式一律用小括號(hào)。例:

a[x+b(y+c)]→a*(x+b*(y+c))第37頁2023/10/10383.8Fortran算術(shù)體現(xiàn)式三、體現(xiàn)式求值中類型問題⑴同類型量運(yùn)算成果,仍為原類型。

例:4*5=20,4.0*5.0=20.06.0/4.0=1.5,6/4=1(≠1.5)⑵不一樣類型量運(yùn)算時(shí),先將低級(jí)類型(整型)轉(zhuǎn)換為高級(jí)類型(實(shí)型),然后再按同類型量進(jìn)行運(yùn)算。

例:2.5*4=10.0(≠10)

2.0**3=2.0*2.0*2.0=8.0(屬同類量運(yùn)算)第38頁2023/10/10393.8Fortran算術(shù)體現(xiàn)式四、運(yùn)算中誤差問題⑴整數(shù)量運(yùn)算沒有誤差⑵實(shí)型量由于有效位數(shù)限制,運(yùn)算時(shí)會(huì)出現(xiàn)誤差

例1:(1.0/3.0)*3.0=0.9999999(≠1.0)

∵1.0/3.0=0.3333333

例2:X=1E30Y=-1E30Z=1.0

(X+Y)+Z=?X+(Y+Z)=?第39頁2023/10/10403.9賦值語句Fortran提供三類賦值語句:

算術(shù)賦值語句邏輯賦值語句字符賦值語句一、算術(shù)賦值語句一般格式

V=e

功能:把賦值號(hào)右邊體現(xiàn)式值,賦給賦值號(hào)左邊變量或數(shù)組元素。

例:

S=3.14159*r**2第40頁2023/10/10413.9賦值語句二、算術(shù)賦值語句中類型轉(zhuǎn)換問題⑴賦值號(hào)兩邊類型一致時(shí),直接賦值。

例:k=355⑵賦值號(hào)兩邊類型不一致時(shí),先計(jì)算,再轉(zhuǎn)換,最后賦值。

例:y1=6*2(y1值為12.0)

Imax=3.6*2(imax值為7(7.2→7))第41頁2023/10/10423.9賦值語句注意幾點(diǎn):⑴賦值號(hào)左邊只能是變量或數(shù)組元素,不能為帶運(yùn)算符體現(xiàn)式。

例:3*a=6*x+sin(x)×⑵一種賦值語句只能給一種變量或數(shù)組元素賦值。

例:a=b=c=d=3.5×⑶一種賦值語句執(zhí)行后,賦值號(hào)左邊變量原值被右邊體現(xiàn)式值取代。

例:x=1.0x=x+1.0(x值為2.0)第42頁2023/10/10433.10簡(jiǎn)單輸出語句顧客編制程序必須要有輸出語句,把成果顯示或打印出來。

Fortran提供了三種輸出方式:①表控格式輸出(標(biāo)準(zhǔn)或固定格式輸出)②指定格式輸出③無格式輸出(二進(jìn)制形式,適應(yīng)磁盤文獻(xiàn))一、表控格式輸出

按Fortran編譯系統(tǒng)隱含要求格式輸出。(即系統(tǒng)根據(jù)輸出數(shù)據(jù)不一樣類型,自動(dòng)給出對(duì)應(yīng)輸出格式。)第43頁2023/10/10443.10簡(jiǎn)單輸出語句二、表控格式輸出語句一般格式:

print﹡,〈輸出表列〉write(﹡,﹡)〈輸出表列〉

例1:print﹡,56.8,125

或write(﹡,﹡)56.8,125

例2:print﹡,a,b,c

或write(﹡,﹡)a,b,c第44頁2023/10/10453.10簡(jiǎn)單輸出語句例3:x=12.5 y=90.5z=x+yprint*,x,yprint*,'z=',zend

運(yùn)行成果:

12.50000090.500000Z=103.000000第45頁2023/10/10463.10簡(jiǎn)單輸出語句⒈整數(shù)表控格式輸出要求:每個(gè)整數(shù)占12列,數(shù)據(jù)打印在右端,左補(bǔ)空格。例:print*,123,-1128

輸出成果:

︺︺︺︺︺︺︺︺123︺︺︺︺︺︺︺-1128第46頁2023/10/10473.10簡(jiǎn)單輸出語句⒉實(shí)數(shù)表控格式輸出要求:每個(gè)實(shí)數(shù)占16列,數(shù)據(jù)打印在右端,左補(bǔ)空格。

例:print*,15.4,-321.45

輸出成果:

︺︺︺︺︺︺15.400000︺︺︺︺︺-321.450000第47頁2023/10/10483.10簡(jiǎn)單輸出語句當(dāng)實(shí)數(shù)值絕對(duì)值≥107或<1時(shí),按標(biāo)準(zhǔn)指數(shù)形式輸出。

例:print*,-10000000.,0.98

輸出成果:

︺︺-1.000000E+07︺︺︺︺9.800000E-01第48頁2023/10/10493.11簡(jiǎn)單輸入語句Fortran提供了三種輸入方式:①表控格式輸入(自由格式輸入)②指定格式輸入③無格式輸入一、表控格式輸入表控格式輸入——根據(jù)變量數(shù)據(jù)類型輸入對(duì)應(yīng)數(shù)據(jù)形式,數(shù)據(jù)間以逗號(hào)或空格分隔輸入方式。第49頁2023/10/10503.11簡(jiǎn)單輸入語句二、表控格式輸入語句一般格式:

read﹡,〈輸入表列〉read(﹡,﹡)〈輸入表列〉例1:read﹡,a,b(若a=14.7,b=30.0)鍵盤輸入:14.7,30.0↙第50頁2023/10/10513.11簡(jiǎn)單輸入語句例2:read﹡,x,k(若x=4.5,k=200)鍵盤輸入:4.5,200↙例3:read﹡,x,y,z(若x=1.5,y=2.5,z=3.5)

read﹡,i,j(若i=5,j=10)鍵盤輸入:1.5,2.5,3.5↙5,10↙第51頁2023/10/10523.11簡(jiǎn)單輸入語句注意幾點(diǎn):⑴輸入數(shù)據(jù)個(gè)數(shù)不得少于read語句中變量個(gè)數(shù),但多出數(shù)據(jù)也不起作用。例:read﹡,x,y,z(若x=1.5,y=2.5,z=3.5)鍵盤輸入:①1.5,2.5,3.5↙②1.5,2.5,3.5,5.2,6.0↙(最后兩個(gè)數(shù)被忽視)③1.5,2.5↙(計(jì)算機(jī)將等候顧客繼續(xù)輸入數(shù)據(jù))第52頁2023/10/10533.11簡(jiǎn)單輸入語句注意幾點(diǎn):⑵一種read語句能夠分多行輸入,但每一種read語句必須從新一行輸入。例:read﹡,x,y,z(若x=1.5,y=2.5,z=3.5)

read﹡,i,j(若i=5,j=10)鍵盤輸入:1.5↙2.5↙3.5↙5,10↙

若鍵盤輸入:1.5,2.5,3.5,5,10↙(錯(cuò))第53頁2023/10/10543.11簡(jiǎn)單輸入語句⑶在輸入數(shù)據(jù)時(shí)若出現(xiàn)“/”,則終止對(duì)此read語句輸入。例:read﹡,x,y,z

鍵盤輸入:1.5,2.5/↙(變量z值為原值或?yàn)榱?。)?4頁2023/10/10553.12參數(shù)語句(parameter語句)一、parameter語句功能為常量命名,即用一種符號(hào)代表一種常量。二、parameter語句一般形式

Parameter(p1=c1[,p2=c2,…,pn=cn])

其中:pn——符號(hào)常量;cn——常量。

第55頁2023/10/10563.12參數(shù)語句(parameter語句)例:求半徑為0.5m圓面積和圓周長(zhǎng)。編程如下:

parameter(r=0.5,pi=3.14159)s=pi*r**2h=2.0*pi*rprint*,s,hend第56頁2023/10/10573.12參數(shù)語句(parameter語句)注意幾點(diǎn):⑴參數(shù)語句必須寫在所有可執(zhí)行語句之前;⑵符號(hào)常量命名規(guī)則及類型與變量相同,并遵循“I~N規(guī)則”;⑶程序中不能給符號(hào)常量再賦值。第57頁2023/10/10583.13pause語句,stop語句,end語句一、pause語句

⒈一般形式

Pause[n]

注:n為1~5位正整數(shù)或字符常量。

⒉功能暫停程序執(zhí)行。(一種程序單位能夠有多種pause語句)第58頁2023/10/10593.13pause語句,stop語句,end語句例:

parameter(r=0.5,pi=3.14159)s=pi*r**2h=2.0*pi*r

pause'打印面積和周長(zhǎng)'print*,s,hend第59頁2023/10/10603.13pause語句,stop語句,end語句二、stop語句

⒈一般形式

stop[n]

注:n為1~5位正整數(shù)或字符常量。

⒉功能終止程序執(zhí)行。(一種程序單位能夠有多種stop語句)第60頁2023/10/10613.13pause語句,stop語句,end語句三、end語句⒈一般形式

end

⒉功能對(duì)主程序:終止程序執(zhí)行和作為程序單位結(jié)束標(biāo)志;對(duì)子程序:返回調(diào)用程序和作為程序單位結(jié)束標(biāo)志。(一種程序單位只能有一種end語句)第61頁2023/10/1062課后練習(xí)題

P75~76:第五、八、十一題第62頁2023/10/1063第四章

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

第63頁2023/10/1064計(jì)算機(jī)程序程序設(shè)計(jì)基本辦法

計(jì)算機(jī)處理問題所需要一系列代碼化指令序列——計(jì)算機(jī)程序。

程序=數(shù)據(jù)構(gòu)造+算法即“程序就是在數(shù)據(jù)某些特定表達(dá)方式和構(gòu)造基礎(chǔ)上,對(duì)抽象算法詳細(xì)描述?!?/p>

上述公式可擴(kuò)充為:程序=數(shù)據(jù)構(gòu)造+算法+程序設(shè)計(jì)辦法+語言工具第64頁2023/10/1065所謂面向過程程序設(shè)計(jì),是指利用面向過程語言工具(如Basic、Pascal、Fortran和C等)進(jìn)行程序開發(fā)各項(xiàng)活動(dòng)。程序設(shè)計(jì)基本辦法面向過程程序設(shè)計(jì)長(zhǎng)處:編程簡(jiǎn)單、構(gòu)造性強(qiáng)、可讀性好,程序執(zhí)行時(shí)序特性顯著;遵循這種構(gòu)造程序只有一種入口和一種出口。缺陷:存在數(shù)據(jù)與程序模塊分離和程序可重用性差等問題?;舅枷耄喊岩环N需要求解復(fù)雜問題分為若干個(gè)模塊來處理,每個(gè)模塊處理一種子問題;設(shè)計(jì)時(shí)遵循自頂向下、逐漸細(xì)化、模塊化設(shè)計(jì)和構(gòu)造化編碼標(biāo)準(zhǔn)。第65頁2023/10/1066程序設(shè)計(jì)基本辦法構(gòu)造化程序設(shè)計(jì)辦法:構(gòu)造化編碼在構(gòu)造化程序設(shè)計(jì)中,任何復(fù)雜算法,都能夠由三種基本構(gòu)造組成。在構(gòu)造算法時(shí),也僅以三種基本構(gòu)造作為基本單元。遵循這種構(gòu)造程序只有一種輸入口和一種輸出口。模塊化設(shè)計(jì)將一種復(fù)雜問題程序分為若干個(gè)程序模塊,每個(gè)模塊完成一項(xiàng)特定功能;其中有一種主模塊和若干個(gè)子模塊,主模塊控制各個(gè)子模塊來實(shí)現(xiàn)整個(gè)程序功能。自頂向下,逐漸細(xì)化第66頁2023/10/1067程序設(shè)計(jì)基本辦法面向?qū)ο蟪绦蛟O(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)是一種新程序設(shè)計(jì)范型。它將某些新理念和構(gòu)造化程序設(shè)計(jì)中好思想相融合,提供了一種全新程序設(shè)計(jì)辦法?;舅枷雽⒁环N需要求解問題分解為一系列實(shí)體(對(duì)象),然后圍繞這些對(duì)象建立數(shù)據(jù)和函數(shù);函數(shù)功能決定了該對(duì)象行為。要求一種對(duì)象函數(shù)能夠訪問另一對(duì)象函數(shù),但一種對(duì)象數(shù)據(jù)不能應(yīng)用于另一對(duì)象函數(shù)中。幾個(gè)基本概念:三類機(jī)制:類,對(duì)象,屬性,事件,辦法封裝、繼承、多態(tài)第67頁2023/10/10684.1算法及其表達(dá)辦法一、算法概念算法——處理某一問題所采取辦法和步驟。計(jì)算機(jī)算法——計(jì)算機(jī)能夠執(zhí)行算法。

計(jì)算機(jī)算法特性:

⑴有窮性——操作步驟是有限。

⑵確定性——辦法步驟是明確。

⑶有效性——辦法是正確,步驟是完整。

⑷必須有輸入和輸出。(取得必要信息,給出正確成果。)第68頁2023/10/10694.1算法及其表達(dá)辦法Fortran是構(gòu)造化程序設(shè)計(jì)語言,每個(gè)程序單位可由三種基本構(gòu)造組成:

⑴次序構(gòu)造⑵分支選擇構(gòu)造⑶循環(huán)構(gòu)造實(shí)踐證明,任何復(fù)雜問題都能夠用這三種基本構(gòu)造來描述。第69頁2023/10/10704.1算法及其表達(dá)辦法二、算法表達(dá)用N~S流程圖表達(dá)。(由幾個(gè)功能框組合而成)

⑴矩形框——用于表達(dá)次序構(gòu)造。如:若先執(zhí)行語句A,再執(zhí)行語句B。AB第70頁2023/10/10714.1算法及其表達(dá)辦法例:若a=1.5,b=4.5,求a+b平方。①畫N~S圖:②編程:

A=1.5B=4.5C=(a+b)**2Print*,cend1.5→a4.5→b(a+b)2→c打印c結(jié)束第71頁2023/10/10724.1算法及其表達(dá)辦法⑵三角框——用于表達(dá)分支選擇構(gòu)造。如:若P為條件,當(dāng)P成立執(zhí)行語句A,不然執(zhí)行語句B。PTrueFalseABPAB第72頁2023/10/10734.1算法及其表達(dá)辦法⑶L形框——用于表達(dá)循環(huán)構(gòu)造。

①當(dāng)型循環(huán)(P為條件,A循環(huán)體)如:若條件P成立,則執(zhí)行循環(huán)體A,不然跳出循環(huán)體。PAYNPA第73頁2023/10/10744.1算法及其表達(dá)辦法

②直到型循環(huán)(P為條件,A循環(huán)體)如:首先執(zhí)行循環(huán)體A,若條件P不成立繼續(xù)執(zhí)行循環(huán)體A,直到條件P成立為止。

A

PPAYN第74頁2023/10/10754.2關(guān)系體現(xiàn)式

關(guān)系體現(xiàn)式是組成選擇構(gòu)造判斷條件基本式子。它也是一種最簡(jiǎn)單邏輯體現(xiàn)式。

一、關(guān)系運(yùn)算符(P80表4-1)

.gt.(大于)

.ge.(大于等于)

.eq.(等于)

.lt.(不大于)

.le.(不大于等于)

.ne.(不等于)第75頁2023/10/10764.2關(guān)系體現(xiàn)式二、關(guān)系體現(xiàn)式一般形式

〈算術(shù)量〉〈關(guān)系運(yùn)算符〉〈算術(shù)量〉

即:⑴關(guān)系體現(xiàn)式是由關(guān)系運(yùn)算符將兩個(gè)算術(shù)量連接起來式子。⑵關(guān)系體現(xiàn)式運(yùn)算元素是算術(shù)量,成果是邏輯量:真(.True.)或假(.False.)。第76頁2023/10/10774.2關(guān)系體現(xiàn)式有了關(guān)系體現(xiàn)式,我們就能夠?qū)ⅲ簲?shù)學(xué)關(guān)系式─→Fortran關(guān)系體現(xiàn)式例:

x+y>15.4─→x+y.gt.15.4a+b≠a-b─→a+b.ne.a-bex≥2.17─→exp(x).ge.2.17第77頁2023/10/10784.2關(guān)系體現(xiàn)式注意:⑴算術(shù)運(yùn)算優(yōu)先于關(guān)系運(yùn)算。如:a+b.ne.a-b等同于(a+b).ne.(a-b)⑵實(shí)數(shù)運(yùn)算誤差對(duì)關(guān)系體現(xiàn)式影響如:1.0/3.0*3.0.EQ.1.0

值為.false.1.0/3.0*3.0=0.9999999∴對(duì)于a.eq.b

→abs(a-b).lt.1E-6c.ne.d

→abs(c-d).gt.1E-6第78頁2023/10/10794.3邏輯體現(xiàn)式關(guān)系體現(xiàn)式只能體現(xiàn)簡(jiǎn)單關(guān)系,如:

5≤x≤10就不能用關(guān)系體現(xiàn)式體現(xiàn),此時(shí)要用邏輯體現(xiàn)式。第79頁2023/10/10804.3邏輯體現(xiàn)式一、邏輯體現(xiàn)式一般形式

〈邏輯量〉〈邏輯運(yùn)算符〉〈邏輯量〉即:⑴邏輯體現(xiàn)式是由邏輯運(yùn)算符將兩個(gè)邏輯量連接起來式子。⑵邏輯體現(xiàn)式運(yùn)算元素是邏輯量,成果也是邏輯量:真(.True.)或假(.False.)。邏輯量包括邏輯常量、邏輯變量和關(guān)系體現(xiàn)式。第80頁2023/10/10814.3邏輯體現(xiàn)式二、邏輯常量?jī)蓚€(gè):①.true.(真)②.false.(假)三、邏輯變量

——用于寄存邏輯常量變量。邏輯變量能夠通過賦值語句來接收邏輯常量值,但在使用前,要進(jìn)行類型說明。

例:logicala,ba=.true.b=.false.第81頁2023/10/10824.3邏輯體現(xiàn)式四、邏輯運(yùn)算符

.and.(邏輯與)

.or.(邏輯或)

.not.(邏輯非)

.eqv.(邏輯等(同或))

.neqv.(邏輯不等(異或))第82頁2023/10/10834.3邏輯體現(xiàn)式五、邏輯運(yùn)算符運(yùn)算規(guī)則(P83表4.3)若a,b為兩個(gè)邏輯量,則:

a.and.b——(當(dāng)a、b同步為真時(shí),為真。)

a.or.b——(當(dāng)a、b中任意一種為真或同步為真時(shí),為真。)

.not.a——(當(dāng)a為真,其值為假;當(dāng)a為假,其值真。)

a.eqv.b——(當(dāng)a、b為同一邏輯常量時(shí),為真。)

a.neqv.b——(當(dāng)a、b不為同一邏輯常量時(shí),為真。)第83頁2023/10/10844.3邏輯體現(xiàn)式六、邏輯體現(xiàn)式運(yùn)算次序(P84表4.5)

運(yùn)算次序?yàn)椋?/p>

括號(hào)→算術(shù)運(yùn)算→關(guān)系運(yùn)算→邏輯運(yùn)算

而邏輯運(yùn)算:

.not.→.and.→.or.→.eqv.,.neqv.第84頁2023/10/10854.3邏輯體現(xiàn)式例1:寫出下列條件邏輯體現(xiàn)式。⑴5≤k≤10

k.ge.5.and.k.le.10⑵│f│≤3g或│f│=5t

abs(f).le.3*g.or.abs(f).eq.5*t⑶1≤a≤8并且1≤b≤8(a.ge.1.and.a.le.8).and.(b.ge.1.and.b.le.8)第85頁2023/10/10864.3邏輯體現(xiàn)式例2:若a=2.5,b=7.5,c=5.0,d=6.0,求下列邏輯體現(xiàn)式值。⑴(a.lt.b).and.(b.lt.c)

①t②f③f

第86頁2023/10/10874.3邏輯體現(xiàn)式例2:若a=2.5,b=7.5,c=5.0,d=6.0,求下列邏輯體現(xiàn)式值。⑵c/2.0+d.lt.a.and..not..true..or.c.le.d

①8.5④F③T

②F

.

⑤F.

⑥T第87頁2023/10/10884.4用塊if實(shí)現(xiàn)選擇構(gòu)造有下列三種典型塊if選擇構(gòu)造:⑴if(條件)then(塊if語句)

塊(then塊)endif(endif語句)PA第88頁2023/10/10894.4用塊if實(shí)現(xiàn)選擇構(gòu)造⑵if(條件)then

塊1(then塊)else

塊2(else塊)

endif

PAB第89頁2023/10/10904.4用塊if實(shí)現(xiàn)選擇構(gòu)造例:2X+3(X≤2)Y=

X+5(X>2)編程如下:

read(*,*)x if(x.le.2)then

y=2*x+3 else

y=x+5 endif

write(*,*)’x=’,x,’y=’,y endX≤2TrueFalseY=2X+3

Y=X+5輸出成果結(jié)束輸入X值第90頁2023/10/10914.4用塊if實(shí)現(xiàn)選擇構(gòu)造⑶if(條件1)then

塊1elseif(條件2)then

塊2(elseif塊)

┆elseif(條件n)then

塊n[else

塊(n+1)]endif

第91頁2023/10/10924.4用塊if實(shí)現(xiàn)選擇構(gòu)造說明:⑴每個(gè)塊if中能夠完整地包括一種(或多種)塊if構(gòu)造,即組成塊if嵌套構(gòu)造。如:

if(條件1)thenif(條件1)then

塊1if(條件2)then

else塊2

if(條件2)thenendif

塊2

else

endif

塊1endif

endif

第92頁2023/10/10934.4用塊if實(shí)現(xiàn)選擇構(gòu)造⑵一種塊if語句必須和一種endif語句相對(duì)應(yīng)。⑶塊if中“then塊”、“else塊”和“elseif塊”可為空塊。第93頁2023/10/10944.4用塊if實(shí)現(xiàn)選擇構(gòu)造

例1:求一元二次方程ax2+bx+c=0根。(當(dāng)b2-4ac≥0時(shí)有兩個(gè)實(shí)根,b2-4ac<0時(shí)有兩個(gè)復(fù)根。)

輸入a、b、cb2-4ac→dtrued≥0false計(jì)算兩實(shí)根計(jì)算兩復(fù)根輸出x1,x2輸出x1,x2結(jié)束第94頁2023/10/10954.4用塊if實(shí)現(xiàn)選擇構(gòu)造

print*,’inputa,b,c:’ read*,a,b,cf=-b/(2.0*a) d=b**2-4.0*a*cg=sqrt(-d)/(2.0*a)

if(d.ge.0.0)thenprint*,'x1=',f,'+i',g e=sqrt(d)print*,'x2=',f,'-i',g x1=(-b+e)/(2.0*a)endif x2=(-b-e)/(2.0*a)end print*,'x1=',x1 print*,'x2=',x2

else第95頁2023/10/10964.4用塊if實(shí)現(xiàn)選擇構(gòu)造例2:求下列函數(shù)值。

0(x<-10)2x+20(-10≤x<0)y=20(0≤x<20)30-0.5x(20≤x<40)50-x(40≤x<50)0(x≥50)第96頁2023/10/10974.4用塊if實(shí)現(xiàn)選擇構(gòu)造

輸入xtruex<-10falsetruex<0falsetruex<20falsetruex<40falsetrue

x<50

falsey=50-xy=0打印yy=0y=20y=30-0.5xy=2x+20第97頁2023/10/10984.4用塊if實(shí)現(xiàn)選擇構(gòu)造源程序一:

read*,xif(x.lt.50.0)then

if(x.lt.-10.0)theny=50.0-xy=0.0else

else

y=0.0

if(x.lt.0.0)thenendify=2.0*x+20.0endif

elseendif

if(x.lt.20.0)then

endif y=20.0endif

else

print*,’y=‘,y

if(x.lt.40.0)then

end y=30.0-0.5*x

else第98頁2023/10/10994.4用塊if實(shí)現(xiàn)選擇構(gòu)造源程序二:

read*,xprint*,’y=‘,y

if(x.lt.-10.0)thenend y=0.0

elseif(x.lt.0.0)then y=2.0*x+20.0

elseif(x.lt.20.0)then y=20.0

elseif(x.lt.40.0)then y=30.0-0.5*x

elseif(x.lt.50.0)then y=50.0-x else y=0.0 endif第99頁2023/10/101004.5邏輯if語句邏輯if語句也是一種選擇構(gòu)造,但與塊if不一樣,主要體現(xiàn)在:①只用一行表達(dá)一種選擇構(gòu)造;②僅當(dāng)條件成立時(shí)執(zhí)行,并且只執(zhí)行一條語句。邏輯if語句一般形式:If〈條件〉語句例:if(n.le.100)n=n+1第100頁2023/10/101014.5邏輯if語句例:2X+3(X≤2)Y=

X+5(X>2)編程如下:

read(*,*)xread(*,*)xif(x.le.2)then if(x.le.2)y=2*x+3

y=2*x+3if(x.gt.2)y=x+5elsewrite(*,*)’y=’,y

y=x+5endendifwrite(*,*)’y=’,yend第101頁2023/10/10102課后練習(xí)題P96:第一~三題;第四、五、七題第102頁2023/10/10103第五章循環(huán)構(gòu)造實(shí)現(xiàn)

第103頁2023/10/10104第五章循環(huán)構(gòu)造實(shí)現(xiàn)

所謂循環(huán),是指在程序執(zhí)行過程中需要反復(fù)執(zhí)行程序段。在實(shí)際問題中,我們經(jīng)常遇到循環(huán),如:求∑n,n!,…

無條件循環(huán)GOTO

循環(huán)構(gòu)造

直到型循環(huán)

條件循環(huán)當(dāng)型循環(huán)計(jì)數(shù)型循環(huán)第104頁2023/10/101055.1用goto語句實(shí)現(xiàn)循環(huán)goto語句一般形式:

goto<s1>

其中:s1——語句標(biāo)號(hào)。功能:程序執(zhí)行到此語句時(shí),無條件轉(zhuǎn)向標(biāo)號(hào)為s1語句去執(zhí)行。例:求1~10累加和。編寫程序段:integerx,sumx=0.0sum=0.010x=x+1sum=sum+xgoto10第105頁2023/10/101065.1用goto語句實(shí)現(xiàn)循環(huán)

假如我們把以上goto語句作為邏輯if語句中執(zhí)行語句,則就能夠?qū)崿F(xiàn)有條件循環(huán)。即:

integerx,sum求1~10累加和

x=0.0sum=0.010x=x+1sum=sum+xif(x.lt.10)goto10print*,sumendx=0.0,sum=0.0x+1→x

sum+x→sum直到x≥10輸出sum第106頁2023/10/101075.2當(dāng)型循環(huán)實(shí)現(xiàn)一、用塊if和goto語句實(shí)現(xiàn)循環(huán)

一般形式:

s1if(條件)then

標(biāo)號(hào)塊

gotos1endifP

A

所謂當(dāng)型循環(huán),是指執(zhí)行循環(huán)體要根據(jù)事先給定條件。當(dāng)條件成立時(shí)執(zhí)行循環(huán),不然就不執(zhí)行循環(huán)。第107頁2023/10/101085.2當(dāng)型循環(huán)實(shí)現(xiàn)編程如下:

read*,n m=1 i=1

10if(i.le.n)thenm=m*i i=i+1

goto10 endifprint*,m end輸入nm=1,i=1i≤n

m×i→mi+1→i輸出m例:求n!。第108頁2023/10/101095.2當(dāng)型循環(huán)實(shí)現(xiàn)

二、用dowhile語句實(shí)現(xiàn)當(dāng)型循環(huán)

一般形式

dos1[,]while(條件)┆循環(huán)體

s1<終端語句>第109頁2023/10/101105.2當(dāng)型循環(huán)實(shí)現(xiàn)例:求n!。編程如下:

read*,nm=1i=1

do10while(i.le.n)m=m*i i=i+1

10continueprint*,mend第110頁2023/10/101115.3直到型循環(huán)實(shí)現(xiàn)一、用邏輯if語句實(shí)現(xiàn)直到型循環(huán)

一般形式

s1循環(huán)體

if(條件)gotos1所謂直到型循環(huán),是指先執(zhí)行循環(huán)體,再判斷條件。假如條件為“假”(真),繼續(xù)執(zhí)行循環(huán),直到條件為“真”(假)時(shí)終止循環(huán)。第111頁2023/10/101125.3直到型循環(huán)實(shí)現(xiàn)例1:求n!。編程如下:

read*,nm=1i=1

10continue

m=m*i i=i+1

if(i.le.n)goto10

print*,mend讀nm→1,i→1m*i→mi+1→i直到i>n輸出m結(jié)束第112頁2023/10/101135.3直到型循環(huán)實(shí)現(xiàn)編程如下:

integersigns=1.0d=2.0sign=1

10sign=(-1)*signt=sign/ds=s+td=d+1

if(d.le.100.0)goto10print*,send例2:求值。第113頁2023/10/10114當(dāng)型與直到型循環(huán)比較

當(dāng)型循環(huán)直到型循環(huán)不一樣:先判斷條件先執(zhí)行循環(huán)體再執(zhí)行循環(huán)體再判斷條件 (循環(huán)體最少被 執(zhí)行一次)PAPA循環(huán)構(gòu)造關(guān)鍵:⑴條件判斷⑵變化條件語句第114頁2023/10/101155.4用do語句實(shí)現(xiàn)循環(huán)

當(dāng)循環(huán)初值、終值和循環(huán)次數(shù)都已知時(shí),可用do語句實(shí)現(xiàn)循環(huán)。用do語句實(shí)現(xiàn)循環(huán)稱為“do循環(huán)”。do循環(huán)是由一種do語句和循環(huán)體組成。第115頁2023/10/101165.4用do語句實(shí)現(xiàn)循環(huán)一、一般形式

dos[,]v=e1,e2[,e3]┆循環(huán)體

s<終端語句>說明:①

s——循環(huán)體終端語句標(biāo)號(hào)②v——循環(huán)控制變量(do變量),可為整型、實(shí)型或雙精度第116頁2023/10/101175.4用do語句實(shí)現(xiàn)循環(huán)一、一般形式

dos[,]v=e1,e2[,e3]┆循環(huán)體

s<終端語句>說明:③e1,e2,e3是整型、實(shí)型或雙精度體現(xiàn)式

e1——循環(huán)變量初值

e2——循環(huán)變量終值

e3——循環(huán)變量增量(步長(zhǎng),默認(rèn)值:1)當(dāng)v為整型變量,e3=1時(shí),e3可忽視例:DO10,I=1,10,2DO100,N=1,5第117頁2023/10/10118do循環(huán)執(zhí)行過程P103圖5.8計(jì)算e1,e2,e3值v←e1v>e2執(zhí)行循環(huán)體v←v+e3YN執(zhí)行終端語句

下面語句第118頁2023/10/10119r=MAX(INT((e2-e1+e3)/e3),0)v←v+e3執(zhí)行過程P103圖5.7并將其轉(zhuǎn)換為

循環(huán)變量類型第119頁2023/10/101205.4用do語句實(shí)現(xiàn)循環(huán)例如:求1~10累加和。

integerx,sumsum=0DO10,x=1,10sum=sum+x

x=x+110continueprint*,sumend

integerx,sumx=0.0sum=010if(x.le.10)thenx=x+1sum=sum+x

goto10

endifprint*,sumend第120頁2023/10/101215.4用do語句實(shí)現(xiàn)循環(huán)二、執(zhí)行過程(分四種情形)⑴當(dāng)e2>e1且e3>0:⑵當(dāng)e2>e1且e3<0:第121頁2023/10/101225.4用do語句實(shí)現(xiàn)循環(huán)⑶當(dāng)e2<e1且e3>0:⑷當(dāng)e2<e1且e3<0:第122頁2023/10/101235.4用do語句實(shí)現(xiàn)循環(huán)

編程如下:

do10i=1,30

read*,x

10if(x.ge.60)print*,i,xend循環(huán)體例1:從鍵盤輸入30個(gè)學(xué)生單科成績(jī),并將其中及格以上學(xué)生序號(hào)和成績(jī)打印出來。第123頁2023/10/101245.4用do語句實(shí)現(xiàn)循環(huán)例2:打印正弦sinx值。(間隔0.1o,從0o~360o)

編程如下:

do100i=0,3600

x=i/10.0y=sin(x*3.14159/180)100print*,’x=’,x,’y=’,yend第124頁2023/10/101255.4用do語句實(shí)現(xiàn)循環(huán)說明:⑴DO循環(huán)是當(dāng)型循環(huán)⑵可用e1,e2,e3值求出循環(huán)次數(shù)。計(jì)算公式:r=max(int((e2-e1+e3)/e3),0)①e3=0則運(yùn)行時(shí)犯錯(cuò)(被零除)例:do10,i=1.2,6.6,0.2r=max(int(6-1+0/0),0)(由于循環(huán)變量I是整型)②e1<e2且e3<0

e1>e2且e3>0,則循環(huán)次數(shù)為0⑶由于實(shí)數(shù)在內(nèi)存中存放誤差,v,e1,e2,e3盡也許用整型量。第125頁2023/10/101265.4用do語句實(shí)現(xiàn)循環(huán)說明:⑷e1,e2,e3值在do循環(huán)體內(nèi)不會(huì)變化,雖然給體現(xiàn)式e1,e2,e3中變量賦值也不影響循環(huán)次數(shù)例:

m=10do10,i=1,m,3m=100+mprint*,i,m10continueend

r=(10-1+3)/3=4第126頁2023/10/101275.4用do語句實(shí)現(xiàn)循環(huán)說明:⑸循環(huán)終端語句必須是可執(zhí)行語句(但除goto,塊if,else,elseif,endif,end,stop和return語句外)。⑹繼續(xù)語句(continue語句)循環(huán)終端語句必須是可執(zhí)行語句。那么,這種作為循環(huán)終端語句語句具有雙重作用:一是作為循環(huán)終端標(biāo)志,二是要完成本身功能。因此影響了程序可讀性。Fortran用一種專門語句作為do循環(huán)終端語句,即continue語句,它本身不進(jìn)行任何機(jī)器操作。第127頁2023/10/101285.4用do語句實(shí)現(xiàn)循環(huán)三、有關(guān)do循環(huán)要求⑴在循環(huán)體內(nèi)不允許對(duì)循環(huán)變量再賦值,但能夠引用。例:do10,i=20,1,-1

i=2*i

不合法

k=2*i引用i,合法

print*,i,k10continue第128頁2023/10/10129例2:do100,I=1,10

……20print*,I

……

100continue

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論