版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
FORTRAN程序設計教案第一章FORTRAN程序設計基礎學習目的,就是要學會利用FORTRAN語言編寫出適合自己實際需要的程序,讓計算機完成自己指定的任務。內(nèi)容:1、程序設計的基本概念2,FORTRAN語言的發(fā)展3、FORTRAN程序的基本結(jié)構與書寫格式4、FORTRAN90開發(fā)環(huán)境等內(nèi)容。1.1程序與程序設計“程序”是用計算機能識別的語言所描述的解決實際問題的方法和步驟。程序設計:(1)分析問題,確定數(shù)學模型或方法。(2)設計算法,畫出流程圖。(3)選擇編程工具,編寫程序。(4)調(diào)試程序,分析輸出結(jié)果。1.2算法及其描述1.2.!算法的概念卡-x-y求U= 〇x+y這ー題的算法并不難,可寫成:(1)從鍵盤輸入a,b的值。(2)如果a<b,貝リx=,y=,否貝リx=,尸。(3)計算u的值:。(4)輸出u的值。例1.2輸入十個數(shù),要求找出其中最大的數(shù)。設max單元用于存放最大數(shù),先將輸入的第一個數(shù)放在max中,再將輸入的第二個數(shù)與max相比較,大者送到max,然后將第三個數(shù)與max相比,大者放在max中,…,一直到比完九次為止。算法要在計算機上實現(xiàn),還需要把它描述為更適合程序設計的形式,對算法中的量要抽象化、符號化,對算法的實施過程要條理化。上述算法可寫成如下形式:(1)輸入一個數(shù),放在存儲單元max中。(2)設置用來統(tǒng)計比較次數(shù)的單元i,初值置1。(3)若i<9,做第(4)步,否則做第(8)步。(4)輸入一個數(shù),放在存儲單元x中。(5)比較max和x中的數(shù),若x>max,則將x的值送給max,否則,max值不變。(6)i增加1,(7)返回到第(3)步。(8)輸出max中的數(shù),此時max中的數(shù)就是十個數(shù)中最大的數(shù)。例1.3求兩個正整數(shù)m和n的最大公約數(shù)。略:1.2.2算法的描述常用的有:自然語言、一般流程圖、N-S圖等。一般流程圖?般流程圖是?種傳統(tǒng)的算法描述方法,它用不同的兒何圖形來代表不同性質(zhì)的操作。例如,用矩形框表示要進行的操作,用菱形框表示判斷,用流程線將各步操作連接起來并指示算法的執(zhí)行方向。例1.4用一般流程圖來描述例1.1?例1.3的算法。見教材程序的三種基本結(jié)構1966年Bohra和Jacopini提出了組成結(jié)構化算法的三種基本結(jié)構,即順序結(jié)構、選擇結(jié)構和循環(huán)結(jié)構。順序結(jié)構:最簡單的ー種基本結(jié)構,依次順序執(zhí)行不同的程序塊。選擇結(jié)構:根據(jù)條件滿足或不滿足而去執(zhí)行不同的程序塊。在圖1.4(b)中,當條件P滿足時執(zhí)行A程序塊,否則執(zhí)行B程序塊。循環(huán)結(jié)構:是指重復執(zhí)行某些操作,重復執(zhí)行的部分稱為循環(huán)體。循環(huán)結(jié)構分當型循環(huán)和直到型循環(huán)兩種,分別見圖1.4(c)和圖1.4(d)。當型循環(huán)先判斷條件是否滿足,當條件P滿足時反復執(zhí)行A程序塊,每執(zhí)行一次測試一次P,直到P不滿足為止,跳出循環(huán)體執(zhí)行它下面的基本結(jié)構。直到型循環(huán)先執(zhí)行一次循環(huán)體,再判斷條件P是否滿足,如果不滿足則反復執(zhí)行循環(huán)體,直到P滿足為止。N-S圖N-S圖以三種基本結(jié)構作為構成算法的基本元素,每ー種基本結(jié)構用ー個矩形框來表示,而且取消了流程線,各基本結(jié)構之間保持順序執(zhí)行關系。N-S圖可以保證程序具有良好的結(jié)構,所以N-S圖又叫做結(jié)構化流程圖。例1.5用N-S圖來描述例1.1~例1.3的算法。程序設計方法結(jié)構化程序設計結(jié)構化程序設計采用自頂向下、逐步求精和模塊化的分析方法。模塊化是結(jié)構化程序的重要原則。結(jié)構化程序設計的過程就是將問題求解由抽象逐步具體化的過程。這種方法符合人們解決復雜問題的普遍規(guī)律,可以顯著提高程序設計的質(zhì)量和效率。例1.6計算s=l+(l+2!)+(l+2!+3!)H?林1+2!イ---1-10!)例1.7兩個自然數(shù)之和是667,且它們的最小公倍數(shù)與最大公約數(shù)之比是120:1,例如115和552,求這樣的自然數(shù)。例1.8驗證哥德巴赫猜想:任何大于2的偶數(shù)都是兩個素數(shù)之和。面向?qū)ο蟪绦蛟O計面向?qū)ο蟪绦蛟O計(Object-OrientedProgramming,簡稱〇OP)方法。對象是數(shù)據(jù)和操作的“封裝體”,封裝在對象內(nèi)的程序通過“消息”來驅(qū)動運行。在圖形用戶界面上,消息可通過鍵盤或鼠標的某種操作來傳遞。FORTRAN語言的發(fā)展
FORTRAN是FormulaTranslation的縮寫FORTRAN程序的基本結(jié)構為了使讀者對FORTRAN90有一個初步認識,下面先舉兩個簡單的例子。例1.9輸入圓的半徑,計算并輸出圓的周長和面積。該問題的程序分為三個步驟:?是輸入原始數(shù)據(jù),即圓的半徑,二是計算圓的周長和面積,三是輸出圓的周長和面積。程序如下:PROGRAMSAMPLE!程序舉例(以!開始的內(nèi)容用于對程序進行注釋說明)REALR,P,S !定義三個實型變量READ*,R !輸入圓的半徑P=2*3.14I59*RS=3.14159*R*RPRINT*,R,P,S!P=2*3.14I59*RS=3.14159*R*RPRINT*,R,P,S!計算圓的周長!計算圓的面積!輸出圓的周長和面積END例1.10輸入兩個實數(shù),輸出它們中較大的數(shù)。程序略例如個簡單的FORTRAN程序結(jié)構如下:[PROGRAM程序名][說明部分][可執(zhí)行部分]END[PROGRAM[程序名]]其中,方括號中的內(nèi)容為可選項。由此可見,從語法上講只有END是必不可少的。對FORTRAN程序而言,END意味著程序的編譯到此為止,即程序的結(jié)束。FORTRAN程序的書寫格式固定格式(1)第1?5列為標號區(qū)。標號最多為5位數(shù)字,數(shù)字中的空格不起作用。標號大小與程序執(zhí)行順序無關,語句可以不帶標號。第1列為C或*,說明此行為注釋行。(2)第6列為續(xù)行標志區(qū)。續(xù)行標志是除空格和零以外的任何FORTRAN77字符。注意,注釋行不具有續(xù)行的概念,續(xù)行不能使用語句標號。(3)第7~72列為語句區(qū)。語句可以從第7列以后任何位置開始書寫。但一行只能寫ー個語句。(4)第73?80列為注釋區(qū)。自由格式在自由格式源程序中,不再有標號區(qū)、續(xù)行標志區(qū)、語句區(qū)和注釋區(qū)的劃分,源程序可以從第1列寫到第132歹リ。具體規(guī)定如下:(1)一行可以寫多個語句,語句之間用“;”分隔,但最后ー個語句不允許有標點符號。(2)用!作為注釋符,!可以寫在一行中的任一列。因為注釋總是延伸致程序行的結(jié)束,所以在同一行的不同語句之間不能插入注釋。(3)續(xù)行符&,表示其后有續(xù)行。例如Y=exp(-0.5*x)*cos(x+3.14258/3)+exp(0.5*x)*sin(x+3.14258/3)+120&
*log(l+sqrt(l-x*x))1.7FORTRAN90開發(fā)環(huán)境系統(tǒng)安裝與啟動licr?s?ft St?4i?-ppO-[?■12.f90?]?同日二也J兇-Win32圖む1.EditYi?vgsertguildloolsfindow畫潮?;豜 Ilicr?s?ft St?4i?-ppO-[?■12.f90?]?同日二也J兇-Win32圖む1.EditYi?vgsertguildloolsfindow畫潮。回] I?らIot\\rP-2*3.11?159?R?S-3.1H159?R?R?PRINT??R.P.S!!ENDPROGRAMSAMPLE周」義入?M出一定輸XProfite/Ready Ln7.Col14~|SecI圖1.14FORTRANPowerStation4.0工作窗ロ上機步驟(1)建立一個項目(Project)o(2)建立源程序文件。(3)將源文件加入項目。(4)編譯和運行。作業(yè):3.(1)、(2),(3)、(4)、(5)。第二章順序結(jié)構程序設計FORTRAN常量常量是在程序運行過程中,其值不改變的量。例如15、0、ー21、3.1416,,FORTRAN5等都是常量。FORTRAN中,常量可以分為直接常量和符號常量兩大類。.直接常量:是指數(shù)據(jù)本身就是ー個常量。不同類型的常量有不同的表示方法,下面依次介紹。(1)整型常量:整型常數(shù)或整數(shù),包括正數(shù)、負數(shù)或0。如125,-258,+28等。必須注意:整型常量中的數(shù)字之間不能用“,”分隔(2)實型常量:實數(shù)。它有2種表示形式:小數(shù)形式和指數(shù)形式。小數(shù)形式根據(jù)小數(shù)點前后是否有數(shù)字形成3種不同格式,分別是:m.n、m.、.n。數(shù)字前面可以加上“+”或“-”號,默認為正號。小數(shù)點”.”前或后可以不出現(xiàn)數(shù)字。例如3.52、4.0、-5.(相當于-5.0)、.6378(相當于0.6378)等。指數(shù)形式:1.32E5表示13200或1.32*1〇5。指數(shù)形式應注意以下事情:首先,有效數(shù)字可以是整型或?qū)嵭统A?其次,E后面的指數(shù)只能是整型常量。.符號常量:用ー個標識符來代表ー個常量。符號常量常用PARAMETER語句來定義。例如:PARAMETER(PI=3.1416,M=10,…)。FORTRAN變量變量:是指在程序運行過程中其值可以改變的量。變量實質(zhì)上代表的是一個內(nèi)存單元(高級語言的ー個重要的優(yōu)點是:允許通過變量名,而不是存儲單元的物理地址來訪問存儲單元)。2.2.2變量名變量的名字即標識符。標識符只能由字母、數(shù)字和下劃線組成,且開頭只能是字母。定義標識符時應注意以下事情:(1)FORTRAN標識符不區(qū)分字母的大小寫,如grade、Grade>GRADE所表示的是同一個變量。(2)標識符的長度因FORTRAN版本不同而有差異,在FORTRAN90中,標識符長度范圍是1~31,超過的字符無效。(3)標識符要盡量做到“見名知義”,如可用AREA代表“面積”,GRADE代表“成績”,AVER代表“平均值”等。FORTRAN沒有規(guī)定的“保留字”2.2.3變量的說明FORTAN中變量的類型的定義有三種方式:.強制說明:類型說明詞變量名1,變量名2…。INTEGER:整型變量說明:REAL:實型變量說明;DOUBLEPRECISION:雙精度型變量說明;COMPLEX:復型變量說明:LOGICAL:邏輯型變量說明;CHARACTER:字符型變量說明;注意,在FORTRAN%中,還可以用如下語句來聲明變量的類型:REAL::SCORE=89.5該語句在變量類型進行聲明的同時進行變量的初始化。2隱含說明語句:IMPLICIT說明語句可以將某個或某些字母開頭的變量規(guī)定為所需的類型,格式為:IMPLICIT類型說明(字母表)。例如:IMPLICITINTEGER(A,C,T-V)該語句的含義是將以A和C及T到V開頭的變量規(guī)定為INTEGER類型(即整型)。3隱含約定FORTRAN語言規(guī)定,以I,J,K,L,M,N6個字母開頭的變量被當作整型變量。該規(guī)則又稱為I?N規(guī)則。例如:在沒有前面兩種說明的情況下,II,MA,N3s等都為整型變量。注意:I?N規(guī)則有一定的副作用,F(xiàn)ORTRAN%中一般不提倡用,通過在程序變量說明之前加入:IMPLICITNONE語句來取消I-N規(guī)則。(2)在以上3類規(guī)則中,第一類優(yōu)先級最高,第二類次之,隱含約定最低。IMPLICIT語句和變量強制說明語句,都為非執(zhí)行語句,FORTRAN77規(guī)定:應把它們放在所有可執(zhí)行語句之前。FORTRAN內(nèi)部函數(shù)內(nèi)部函數(shù)是指系統(tǒng)本身帶有的能完成?定功能的程序單位。如數(shù)學函數(shù)中的三角函數(shù),象正弦函數(shù)。FORTRAN常用的函數(shù)見教材。說明:內(nèi)部函數(shù)使用應當注意:(1)所有函數(shù)必須遵守原有數(shù)學規(guī)則。(2)所有函數(shù)名字的后面都必須帶有括號(),否則將產(chǎn)生錯誤。(3)三角函數(shù)參數(shù)單位是弧度。(4)要注意FORTAN語言中函數(shù)名與數(shù)學中函數(shù)名的差異,如FORTRAN語言中LOG(X),相當于數(shù)學的自然對數(shù),即LNX。下面看一些函數(shù)運用的具體例子:(1)求三個數(shù)X、Y、Z中的最大值可以表示為:MAX(X,Y,Z);(2)判斷?個數(shù)自然數(shù)M是否為另外一個自然數(shù)N的因數(shù),通過MOD(N,M)是否為〇可以判斷,如果為〇,則說明M是N的因數(shù),否則說明N不能被M整除。FORTRAN算術表達式運算符號與其優(yōu)先級別FORTRAN提供5中算術運算:+、ー、?、/、?*,分別代表加、減、乘、除、乘方運算。例如:2**3表示2コ,M*N表示MXN。2.4.3算術表達式中類型轉(zhuǎn)化賦值語句賦值語句的格式為:變量名=表達式例如,PI=3.1416其含義是將3.1416的值賦給左邊的變量PI,X=Xl+X2*X3+5將算術表達式Xl+X2*X3+5的值賦給變量X,1=1+1變量I在原來的基礎上增加1。賦值語句的作用是:將右邊表達式的值賦給左邊變量,即將表達式的值存放到變量所對應的存儲單元。執(zhí)行賦值語句時的類型轉(zhuǎn)換問題:FORTRAN規(guī)定:(1)左右兩邊類型相同,運算完畢,直接賦值(2)左右兩邊類型不同,右邊表達式按原來規(guī)則計算,再轉(zhuǎn)換為與左邊變量相同的類型,然后將值賦給左邊的變量。例如INTEGERNN=3.33*3賦值過程如下:先計算右邊表達式3.33*3的值,為9.99,再將9.99轉(zhuǎn)化為整型9,最后將9賦值給N,因此N的值是9。為了加深對賦值語句的理解,看下面程序段INTEGERM,NREALX,YM=5/2N=5.0/2X=5/2Y=5.0/2X的值是2.000000;Y的值是2.500000o簡單輸入輸出語句輸入輸出是計算機內(nèi)存與外部設備交換數(shù)據(jù)的過程。要順利地傳遞數(shù)據(jù),一般應在輸入輸出語句中給計算機語提供三方面的信息:(1)通過什么設備進行輸入輸出:什么樣的格式進行輸入輸出;、輸出的內(nèi)容。FORTRAN提供多種輸入輸出方式,與此對應的是各種輸入輸出語句。下面要介紹的是其中最簡單的表控輸入、輸出語句,也就是系統(tǒng)默認的輸入輸出方式。表控輸入語句所謂輸入(1)數(shù)據(jù)按用戶規(guī)定的格式輸入。(2)用自由格式輸入,即表控格式輸入。(3)無格式輸入。表控格式輸入一般格式為:READ*,變量表變量之間用逗號隔開,例如:READ*,X,Y,Z其中,READ后面的“*”號表示“表控輸入”,語句含義是從系統(tǒng)隱含指定的輸入設備上(一般為鍵盤)讀入3個實型數(shù)據(jù)分別給X、Y、和Z。表控輸入也可以寫為:READ(*,*)變量表,其中第一個?表示“系統(tǒng)隱含指定的輸入設備”,第二個?是指“表控輸入”。表控輸入語句使用注意:(1)在輸入數(shù)據(jù)時,如果只輸入ー個數(shù)據(jù),則直接輸入,再按回車鍵即可。但當輸入多個數(shù)據(jù)時,數(shù)據(jù)之間必須分隔,分隔方法有兩種:?種是每輸入ー個數(shù)據(jù),鍵入ー個回車,即ー個數(shù)據(jù)作為一行。另ー種方法是在一行輸入數(shù)據(jù),但數(shù)據(jù)之間用分隔符隔開,允許的分隔符號有空格、逗號和斜杠。兩個數(shù)據(jù)之間空格可以有多個,但逗號只能有一個,多個逗號意味著對某些變量輸入空數(shù)據(jù),即不輸入數(shù)據(jù)。例如:READ*,SI,S2,S3輸入方式為:1.22.53.45或1.2,2.3,3.45再回車,還可以毎輸入ー個數(shù)據(jù)ー個回車。(2)如果輸入數(shù)據(jù)少于變量個數(shù),則計算機將等待繼續(xù)輸入,如果數(shù)據(jù)多于變量個數(shù),則多余的數(shù)據(jù)不起作用。(3)當多個輸入語句并列使用時,ー個READ語句對應一行。(4)如果在輸入數(shù)據(jù)行中出現(xiàn)“/”號,表示READ語句的輸入到此結(jié)束,未被賦值的變量將不被賦值。例如:READ*,I,J,X,Y輸入數(shù)據(jù)為:2,6/14.3,12.64回車這時,I為2,J為6,而X、Y將得不到值。(5)特別注意:輸入的數(shù)據(jù)類型應與變量類型盡量保持一致,整型變量不能接受實型數(shù)據(jù),否則運行時將出錯,實型變量可以接受整型數(shù)據(jù),但最后按實型數(shù)據(jù)處理。表控輸出語句一般格式為:PRINT*,輸出項表其中“*”同樣代表表控格式,輸出項內(nèi)容可以是常量、變量、表達式或字符串,它們之間使用逗號隔開。例如PRINT*,XPRINT*,“Y=”,Y,"Z=”,ZPRINT*,“最大的數(shù)是:”,MAX,“最小的數(shù)是:”,MIN注意:(1)每ー個PRINT語句在新的一行開始顯示。PRINT?后面字符串里的內(nèi)容將原樣顯示。(3)單獨ー個PRINT?語句,后面無列表相當于ー個換行語句。PRINT?語句可以進行表達式的運算,例如PRINT*,X*2,Y+3(5)表控格式還可以寫成WRITE(*,*)輸出列表WRITE(*,*)X,YPRINT*,X,Y例2.1分析下列程序的結(jié)果程序見教材例2.2輸入三個實數(shù),輸出最大值和最小值程序見教材:程序執(zhí)行控制語句STOP語句:使程序“終止運行”,ー個程序可以有多個STOP語句,為了區(qū)分,可以在STOP后面加上標識,其一般格式為:STOP[N]例如:STOP150STOP'ABC'PAUSE語句PAUSE語句是暫停語句,其使用格式如下:PAUSE[N]END語句END語句是ー個比較重要的語句,它的作用有二點:(1)結(jié)束本程序單位的運行,每個完整的FORTRAN程序,都必須在最后加?個END,以結(jié)束程序。(2)在FORTRAN子程序中,同樣用END作為該程序單位的結(jié)束,但同時兼起返回的作用:使程序返回到被調(diào)用處,即RETURN語句的功能。程序舉例例2.3任意輸入兩個數(shù),對它們進行加、減、乘、除、乘方運算程序略例2.4輸入自變量的值,求出對應的函數(shù)值,已知f(x尸xS+siMx+lnK+l)程序略例2.5將兩個變量的值互換。程序略例2.6輸入ー個三位整數(shù),將它反向輸出,如輸入123,輸出321。程序略作業(yè):習題二的1、2、6、10第三章選擇結(jié)構程序設計塊IF結(jié)構塊CASE結(jié)構來實現(xiàn)選擇結(jié)構。關系運算和邏輯運算關系運算關系表達式是指由一個關系運算符把兩個數(shù)值表達式或字符表達式連接起來的式子,用于對兩個運算量進行比較。FORTRAN共有6個關系運算符見教材。關系運算表達式書寫應注意:(1)當關系運算里包含算術運算時,先算術運算,再作關系運算。為了防止混淆,最好是給算術運算加上括號。(2)關系運算用于兩個不同類型數(shù)據(jù)比較時,將自動進行數(shù)據(jù)類型的轉(zhuǎn)化,轉(zhuǎn)化規(guī)則同算術運算。(3)關系表達式計算所得到的結(jié)果為ー個邏輯型(LOGICAL)值,即結(jié)果為.TRUE.或.FALSE.。因此計算結(jié)果不能再參與關系運算。例如,(A.GT.B).LT.C這樣的表達式是非法的,因為(A.GT.B)結(jié)果為邏輯型值,不能再參與關系運算。(4)在使用.EQ.(==)或.NE.(/=)時,應非常小心,因為實型數(shù)據(jù)在計算機里存儲時是用近似值表示的,可能存在誤差,例如LOGICALAREALXREAD*,XA=(X*X.EQ.1.44)PRINT*,'A=',AEND當輸入1.2時,輸出結(jié)果為A=.F.。即象1.2*1.2.EQ.!這樣的表達式,其結(jié)果卻為假,解決的辦法是用ABS(1.2*1.2-1,44)<=1.0E-6取代它。邏輯運算FORTRAN所用的基本邏輯運算有:(1)邏輯與運算,運算符為.AND.當連接的兩個邏輯操作數(shù)為真時,邏輯表達式取值為真,只要一個為假則取假。(2)邏輯或運算,運算符為.OR.連接的兩個邏輯操作數(shù)只要有一個為真時,邏輯表達式取值為真,全部為假時オ為假。例如|X>5,對應的FORTRAN表達式為:X>5.0R.X<-5o(3)邏輯非運算,運算符為.NOT.對后面的操作數(shù)取反,如果操作數(shù)為真,則取假,否則取真。(4)邏輯等于運算,運算符為.EQV.當連接的兩個邏輯值相同(同為真或同為假)時,該邏輯表達式取真,否則取假。(5)邏輯不等運算,運算符為.NEQV.當連接的兩個邏輯操作數(shù)取不同的值時,該邏輯表達式取真,否則為假。(6)邏輯異或運算,運算符為.XOR.當連接的兩個邏輯操作數(shù)不同時,該邏輯表達式取真,相同時取假。2.邏輯表達式下面看?些邏輯表達式的例子:(1)坐標中,第一象限的點用邏輯表達式可表示為:X.GT.0.AND.Y.GT.0(2)Xe[-3,5]對應的邏輯表達式是:X.GE.-3.AND.X.LE.5邏輯運算也有優(yōu)先級別之分,其中.NOT.的優(yōu)先級最高,其次是.AND.,然后是.OR.,最后是.EQV.、.NEQV.和.XOR.。3.2塊IF選擇結(jié)構例3.1輸入一個學生的成績,如果成績少于60分,則輸出“不及格”,90及90分以上,輸出“優(yōu)良”,6〇?89輸出“通過”。程序見教材:.單分支塊IF結(jié)構格式如下:圧(邏輯表達式1)THEN塊ENDIF.雙分支結(jié)構IF(邏輯表達式1)THEN塊1ELSE塊2ENDIF.多分支結(jié)構一般格式如下:IF(邏輯表達式1)THEN塊1ELSEIF(邏輯表達式2) THEN塊2 ...ELSEIF(邏輯表達式N)THEN塊NELSE塊N+1ENDIF塊IF語句注意:(I)IF(邏輯表達式)THEN語句單獨占一行。(2)塊語句是前面邏輯表達式為真的情況下所具體執(zhí)行的內(nèi)容,可以是一個或多個語句。(3)每ー個ELSE圧(邏輯表達式)語句是前面邏輯條件為假,該邏輯條件為真的情況下,作下面的塊語句。這些分支可有,也可沒有,這必須根據(jù)問題要求定。(4)最后的ELSE語句單獨占一行。(5)ENDIF語句作用為結(jié)束整個選擇結(jié)構,這是為了程序編譯而設置的,一定不能少,否則將產(chǎn)生一個或多個編譯錯誤。例3.2編程求任意一元二次方程AX2+BX+C=0的根,其中A、B、C為任意實數(shù)。分析:該問題根據(jù)A是否為〇分為兩種情況:程序見教材塊CASE選擇結(jié)構一般格式為:SELECTCASE(表達式)CASE(表達式1)塊1CASE(表達式2)塊2CASE(表達式N)塊NCASEDEFAULT默認塊ENDSELECT其中:(l)SELECTCASE后括號里的“表達式”,用來表示待選擇的內(nèi)容,如成績、エ資、年齡等,它一般為變量名,可以是整型、邏輯型、單個字符型變量或者相應的表達式。CASE后面括號里的表達式相當于前面SELECTCASE括號里表達式的具體取值,每對應不同的取值,所作的處理在其后的塊語句中完成。(3)CASEDEFAULT與其后的默認塊,是缺省情況,可有可無。如果加入它,則代表前面所有選擇表達式的值皆非的情況下執(zhí)行該塊。(4圧NDSELECT為CASE結(jié)構結(jié)束的標志。下面通過實例來加深對該選擇結(jié)構的理解。例3.3設計程序,完成小學加、減、乘、除四則運算,即輸入兩個數(shù),再輸入ー個運算符號,做對應的運算,并顯示相應的結(jié)果。分析:此問題實際上是根據(jù)輸入的運算符作出對應的操作,因此,SELECTCASE后面括號里的變量實際上就是表示運算符的變量,用OP表示,而以后的各個CASE分支,就是OP的具體取值。程序略:CASE后面括號內(nèi)表達式的值可以用以下方式確定:(1)用逗號隔開的單個值。例如,CASE(1,3,5,7)〇這時,選擇變量的值只要取其中之一,就執(zhí)行下面的塊。(2)用冒號分隔的值的范圍。一般形式為CASE(A:B),其中,A為下界,B為上界,選擇變量的值可以取到界限上,即取值相當于數(shù)學上的閉區(qū)間,ド界必須小于上界(字母按ASCII值來決定大?。?下界或上界也可以缺省。例如,CASE(2:8)、CASE(:10)、CASE(T:N)、CASE(15:)等都是正確的表示方法。(3)1和2的混合,如:CASE(2:4,6,8:)等。SELECTCASE語句的執(zhí)行過程:先計算表達式的值,然后在每個CASE語句的表達式列表中查找與之匹配的值,找到后,就執(zhí)行對應的CASE塊,每執(zhí)行完一個CASE塊,程序自動跳出CASE選擇結(jié)構;如果找不到,就執(zhí)行CASEDEFAULT語句所所對應的塊。如果沒有CASEDEFAULT語句,就跳過CASE選擇結(jié)構,執(zhí)行CASE結(jié)構后面的語句。下面我們再看ー個實例。例3.4編寫程序,輸入年月,輸出該月所對應的天數(shù)。分析:月份對應的天數(shù)為I、3、5、7、8、10、12月為31天,4,6、9、II月為30天,而2月,一般為28天,閏年為29天,因此,關于閏年的判斷,方法如下:年數(shù)能被4整除,但不能被100整除或者年數(shù)能被400整除都為閏年。程序見教材:邏輯圧語句格式:IF(條件表達式)可執(zhí)行語句其執(zhí)行過程是:先計算條件表達式的值,當條件表達式為真時,執(zhí)行可執(zhí)行語句,執(zhí)行后繼續(xù)執(zhí)行該邏輯圧語句后面的語句,否則,直接執(zhí)行該邏輯圧后面的語句。例3.5輸入三個數(shù),求出最大和最小的值。例3.6輸入X,求出對應的函數(shù)值。In(42+1)x<0sinx3+|x!其它算術IF語句算術圧語句是的格式為:IF(算術表達式)標號I,標號2,標號3該語句也是用來表示選擇,其執(zhí)行過程是:首先計算算術表達式的值,如果值小于〇,則執(zhí)行標號I對應的語句;如果等于〇,則執(zhí)行標號2對應的語句;如果大于〇,則執(zhí)行標號3對應的語句。下面看ー個具體的例子。例3.7輸入X,求函數(shù)的值。已知函數(shù)如下;x2+1x<0y="sin(x+1)x=0vx+2 x>0程序舉例例3.8判斷ー個正整數(shù)是否被3、5、7中的一個、兩個、或者三個整除,并輸出對應的信息,如:輸入35,則顯示能被5和7整除。例3.9輸入?個三位自然數(shù),判斷它是否為水仙花數(shù),所謂水仙花數(shù),是指各位數(shù)字的立方和等于該數(shù)本身的數(shù)如153=r+53+33為水仙花數(shù)。例3.10將學生成績分為優(yōu)(9〇?100分)、良(8〇?89)、中(7〇?79)、及格(6〇?69)、不及格五個檔次,從鍵盤輸入學生的成績,輸出對應的檔次。下面用SELECTCASE選擇結(jié)構來實現(xiàn)。作業(yè):1、5、9第四章循環(huán)結(jié)構程序設計在FORTRAN90中,用于實現(xiàn)循環(huán)結(jié)構的語句主要有DO語句和DOWHILE語句。木章介紹這兩種語句以及循環(huán)結(jié)構的程序設計方法。4.1用DO語句實現(xiàn)循環(huán)DO循環(huán)一般格式DO循環(huán)一般格式如下:DOi=el,e2[,e3]…(循環(huán)體)ENDDO例:DO循環(huán)的格式說明。(1)當循環(huán)變量變化的步長為1時,表達式e3可以省略。(2)如果循環(huán)變量和循環(huán)參數(shù)表達式的類型不一致,其處理辦法與賦值語句ー樣,先將表達式的最后結(jié)果轉(zhuǎn)換成循環(huán)變量的類型,然后再進行處理。例如INTEGERXDOX=l.2,5.6,2.4PRINT*,XENDDOEND程序執(zhí)行后的輸出結(jié)果為:135(3)DO循環(huán)的執(zhí)行次數(shù)r=MAX(INT((e2-el+e3)/e3),0)o例如DO1=10,1,-2循環(huán)次數(shù)r=MAX(INT((1-10-2)/(-2)),0)=5〇又如DO1=10,1,2循環(huán)次數(shù)r=MAX(1NT((1-10+2)/2),0)=0〇如果循環(huán)變量的步長為0,程序在編譯和連接時都沒有問題,但在執(zhí)行過程中求循環(huán)執(zhí)行次數(shù)時將出現(xiàn)語法錯,即進行了除零運算。這是應當避免的。DO循環(huán)執(zhí)行過程デ ピ “例4.1求y=1+x+—+—+A+—,其中x和n的值從鍵盤輸入。2! 3! n'.這是求若干個數(shù)之和的累加問題。累加問題可用遞推式來描述:Yi=Yz+Fi即第i次的累加和丫等于第i-1次的累加和加上第i次的累加項F。從循環(huán)的角度看即本次循環(huán)的累加和丫等于上次循環(huán)的累加和加上本次的累加項F,可用賦值語句Y=Y+F來實現(xiàn)。關于累加項F的遞推式為:Fi=Fi.l*X/I可用賦值語句F=F*X/I來實現(xiàn)。用DO循環(huán)控制F=F*X/I和Y=Y+F重復執(zhí)行N次,即可得到Y(jié)的值。程序略:例4.2ー個整數(shù)的因子(不包括該數(shù)本身)之和等于它本身,則稱該數(shù)為完數(shù)。例如6的因子有1,2,3,且1+2+3=6,因此6是完數(shù)。輸入ー個整數(shù),判斷它是否完數(shù)。根據(jù)完數(shù)的定義,先求整數(shù)的因子之和,然后判斷該數(shù)本身是否等于因子之和,若是則為完數(shù)。程序略:根據(jù)素數(shù)的定義(參閱例1.8),素數(shù)只有1和它本身兩個因子。因此,該程序稍加修改可以判斷M是否素數(shù)。例4.3Fibonacci數(shù)列定義如下:F(=lF2=lFn=Fn-l+Fn-2(n>2)求Fibonacci數(shù)列的前30項。設待求項為F,待求項前面的第1項為F1,待求項前面的第2項為F2。首先根據(jù)F1和F2推出F,再將F1作為F2,F作為fl,為求下ー項作準備。如此一直遞推下去。具體過程如下:11 235第—次F2+F1-FII第二次F2+F1fFII第三次 F2+F1-F例4.4所謂“水仙花數(shù)”是指ー個三位整數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如,153就是ー個水仙花數(shù)。輸岀全部“水仙花數(shù)”。在[100,999]范圍內(nèi),對所有整數(shù)逐一驗證是否符合的條件,輸出符合條件的數(shù)。這種方法稱為窮舉法。例4.5輸入30個學生的成績,分別統(tǒng)計成績在85700分、60?85分和60分以下各分數(shù)段的人數(shù)。4.1.3與循環(huán)有關的控制語句在循環(huán)體內(nèi)使用EXIT語句和CYCLE語句,可以改變循環(huán)的執(zhí)行方式。EXIT語句:例4.6求兩個整數(shù)a與b的最大公約數(shù)和最小公倍數(shù)。CYCLE語句CYCLE語句用來結(jié)束本次循環(huán),即跳過循環(huán)體中尚未執(zhí)行的語句。用DOWHILE語句實現(xiàn)循環(huán)格式如下:DOWHILE(邏輯表達式)循環(huán)體ENDDODOWHILE循環(huán)的執(zhí)行過程例4.8輸入ー個整數(shù),輸岀其位數(shù)。輸入的整數(shù)存入變量N中,用變量K來統(tǒng)計N的位數(shù)。程序略:例4.10見教材幾種循環(huán)組織方式的比較例4.11輸入ー個整數(shù)m,判斷是否素數(shù)。循環(huán)的嵌套例4.12求[100,1000]以內(nèi)的全部素數(shù)??煞譃閮刹?(1)判斷ー個數(shù)是否素數(shù),這就是例4.11的程序。(2)利用窮舉法將判斷ー個數(shù)是否素數(shù)的程序段,對指定范圍內(nèi)的每ー個數(shù)都執(zhí)行一遍,即可求出某個范圍內(nèi)的全部素數(shù)。例4.14驗證結(jié)論:任何ー個自然數(shù)N的立方都等于N個連續(xù)奇數(shù)之和。例如「=1,23=3+5,33=7+9+11。要求程序?qū)γ總€輸入的自然數(shù)計算并輸出相應的連續(xù)奇數(shù),直到輸入的自然數(shù)等于〇時為止。例4.16用牛頓迭代法求方程f(x)=2x3-4x2+3x-7=0在x=2.5附近的實根,直到滿足 為止。例4-17求f(x)在[a,b]上的定積分Xbf(X)dx。例4.20甲、乙、丙三位球迷分別預測已進入半決賽的四隊A,B,C,D的名次。甲預測:A第一名、B第二名;乙預測:C第一名、D第三名;丙預測:D第二名、A第三名。比賽結(jié)果,甲、乙、丙預測各對一半,試求A,B,C,D四隊的名次。作業(yè):實驗指導書上相關章節(jié)第五章FORTRAN90數(shù)據(jù)類型數(shù)據(jù)類型的概念(1)類型的名稱。(2)允許值的集合。(3)允許值(常量)的表示方法。(4)操作這些值的運算的集合。整型數(shù)據(jù)二進制常量的形式是以字母B開頭,后跟用ー對撇號或括號括起來的數(shù)字串,而且每個數(shù)字不是。就是1。例如,B,10101101,、B(1011101).ハ進制常量的形式是以字母〇開頭,后跟用ー對撇號或括號括起來的數(shù)字串,而且每個數(shù)字是0到7之間的ー個數(shù)字。例如,0453,、0(376)。十六進制常量的形式是以字母Z開頭,后跟用ー對撇號或括號括起來的數(shù)字串,而且每個數(shù)字是0到9或字母A到F之間的ー個。例如,Z,FFA9\B(9B45)。例5.1求Fibonacci數(shù)列前30項之和。Fibonacci數(shù)列的遞推公式是:Fo=O艮=1Fi=Fi-1+Fi-2實型數(shù)據(jù)一般形式為:有效數(shù)E指數(shù)[ー類別參數(shù)]REAL[([KIND=]類別參數(shù)值)][[,屬性列表]::]變量列表單精度用REAL(4)定義,雙精度用REAL(8)或DOUBLEPRECISION定義。缺省的類別值為4,即為單精度。。下面是?些變量說明:REAL::M12,AREA,LENREAL(4)::DX,DY或REAL*4::DX,DYREAL(8)::D_PRE,X或REAL*8::D_PRE,X或DOUBLEPRECISION::D_PRE,X例5.2利用雙精度按下面近似公式求皿。+包+ゼ)(-1<x<1):直到最后一項的絕對值小于10內(nèi)為止。In1(x+Vi+*2)=In1(x+Vi+*2)=1x31-3ギ=x 1 23 2-45 2-4-67復型數(shù)據(jù)復型常量復型變量用于說明復型變量的關鍵字是COMPLEX。其變量說明的基本格式為:COMPLEX[([KIND=]類別值)][[,屬性列表]::]變量列表復型數(shù)據(jù)應用舉例例5.3求一元二次方程Ax2+Bx+C=0的根。
我們可以用復數(shù)進行運算例5.4有一交流電路,如圖5.1所示。假設電壓V=220V,r<)=10Q,Lo=103H,ロ=100Q,C,=lOOuF,r2=50Q,L2=10-2H,C2=200uF?求(1)等效電阻Z。(2)流過r<,的交流電流I,流過わ的交流電流ト,以及流過r2的交流電流12。圖5.1圖5.1ー交流電路示意圖例5.5有一線段AB,A的坐標為(1,1),B的坐標為(4.5,4.5),如圖5.2所示。求AB的長度,以及黃金分隔點C的坐標。黃金分割點在線段的0.618處。分析:A,B的坐標可用復數(shù)表示:即A為(1.0,1.0),B為(4.5,4.5)〇AB的長度就是(A-B)的模,從圖中可以明顯地看到,AB的長度厶=44.5-1》+(4.5-1)2,可用ABS函數(shù)直接求出復數(shù)的模。黃金分隔點C的坐標為A+0.618X(B-A),例5.6對3=3〇,h(〇〇,h2a)o,h'w〇,…,(〇(,計算加 200加0+2)‘〇ーが(〇]め+イ〇30+lX0.6/?y+lX0.8z<y+1)同時求出G的絕對值,其中i為虛數(shù)單位。字符型數(shù)據(jù)字符型常量字符型常量又叫字符串常量,它是用單撇號或雙撇號括起來的字符序列。例如,"ABCD"、CHINA,、,12345678,等都是FORTRAN字符型常量。字符型常量中的字符可以是計算機系統(tǒng)中允許使用的任何字符。字符型變量用于存放字符型數(shù)據(jù)的變量就是字符型變量:說明的基本格式為:CHARACTER(LEN=nl[,KlND=n2])[[,屬性說明]::]變量列表格式中的nl和n2是ー個整數(shù)和整型表達式,nl代表被說明變量的長度,n2代表字符變量的類別參數(shù),各項屬性說明是字符型變量有關屬性的說明。例如CHARACTER(LEN=25,K1ND=2)::A,B,CCHARACTER(KIND=3,LEN=15)::VAR,CHCHARACTER(LEN=8),DIMENSION(1:10)::X,Y,ZCHARACTER(LEN=10),PARAMETER::NAME=,FORTRAN_90'都是合法的說明語句。如果字符長度寫在前,類別參數(shù)寫在后,則可以簡寫為:CHARACTER(25,2)::A,B,C類別參數(shù)同字符型常量。子字符串ー個字符串的一部分稱為該字符串的子串(Substring)。例如,字符變量A的值為,GOODMORNING',則,GOOD,、’MORNING,、‘G:'OR、1NG,等都是A的子串。用下面形式表示一個子串:字符變量名(m:n)其中,m和n是整數(shù)和整型表達式,表示子字符串在字符串中的起止位置,該子字符串的長度為n-m+l(n2m扌1)。字符表達式與字符賦值語句字符表達式是指用字符運算符把字符常數(shù)、字符變量等字符型數(shù)據(jù)連接起來的有意義的式子。字符關系表達式在進行關系運算時,遵循以下規(guī)律:(1)兩個單個字符比較,以它們的代碼值決定大小。例如'A'<'B'的值為假'8'>'2'的值為真(2)兩個字符串比較時,將兩個字符串中的字符自左向右這個進行比較。若所有字符完全相同,則兩表達式相等;否則,以第一次出現(xiàn)不同字符的比較結(jié)果為準。例如'SHANGHAI'<'SHANKONG'的值為真因為第3個字符'E'v'O',則前ー表達式的值小于后者。(3)若兩個字符串中字符個數(shù)不等時,則將較短的字符串后面補足空格后再比較。例如'WHERE'<'WHEREVER'的值為真因為先將'WHERE'后邊補空格成為'WHERE'之后,再與'WHEREVER'比較,第6個字符空格小于字母マ’。用于字符處理的內(nèi)部函數(shù)串長度函數(shù)(LEN和LEN_TRIM)其一般形式為:LEN(String)和LEN_TRIM(String)其中String為字符型常量、變量等字符串。函數(shù)LEN的結(jié)果值是String中字符個數(shù)(包括前置及尾隨空格)。函數(shù)LEN_TR1M的值是把字符串去掉尾部空格后的長度。例如LEN_TRIM('ABCD')的值為5LEN('ABCD')的值為5LENTRIM('ABC')的值為3LEN('ABC')的值為5LEN_TRIM('')的值為〇LEN('')的值為5符串尾部空格函數(shù)(TRIM)其一般形式為:TRIM(String)函數(shù)的結(jié)果值是去拉String中的尾部空格后剩余的字符串。例如TRIM(rABCう的值為,ABCTRIMfABCリ的值為,ABC,置函數(shù)(INDEX)其一般形式為:INDEX(Stringl,String2)其中String1,String2均為字符型,且類別參數(shù)應該一致。若String2是String1的ー個子串,其函數(shù)的結(jié)果值是ー個正整數(shù),該數(shù)表示String2在Stringl中最左邊的子串的起始位置;若String2不是Stringl的子串,則函數(shù)結(jié)果值為〇。例如,INDEX(TOLLOWME「ME,)的值為8.因為,ME啲第一個字符M出現(xiàn)在,FOLLOWME,的第8個字符位置上:INDEX(,F(xiàn)OLLOWME:L〇,)的值為〇。較函數(shù)(LGE、LGT、LLE和LLT)(1)大于或等于函數(shù)LGE其?般形式為:LGE(Stringl,String2)若Stringl》String?,其函數(shù)值為真,否則為假。例如,LGE(,ABC,,,EFG,)的值為假。(?)大于函數(shù)LGT其一般形式為:LGT(Stringl,String?)若Stringl〉String?,其函數(shù)值為真,否則為假。例如,LGE(,ABC,,,EFG,)的值為假。(3)小于或等于函數(shù)LLE其一般形式為:LLE(Stringl,String?)若StringlWString?,其函數(shù)值為真,否則為假。例如,LGE(,ABC,,,EFG,)的值為真。(4)小于函數(shù)LLT其一般形式為:LGE(Stringl,String?)若Stringl〈String?,其函數(shù)值為真,否則為假。例如,LGE(,ABC,,,EFG,)的值為真??崭裾{(diào)整函數(shù)(ADJUSTL和ADJUSTR)其一般形式為:ADJUSTL(String)和ADJUSTR(String)調(diào)左函數(shù)ADJUSTL的函數(shù)值是把String的首部空格調(diào)到尾部,調(diào)右函數(shù)ADJUSTR的函數(shù)值是把String的尾部空格調(diào)到首部。例如ADJUSTL(,ABC,)的值為,ABC,ADJUSTR(,ABCう的值為,ABC符序號相互轉(zhuǎn)化函數(shù)(ICHAR、IACHAR、CHAR和ACHAR)(1)字符向字符序號轉(zhuǎn)化函數(shù)其一般形式為:ICHAR(CH)和lACHAR(CH)其中CH是長度為1的字符型常量和變量。其函數(shù)的結(jié)果值為字符在相應處理系統(tǒng)中的字符序號,若要按照ASCH碼求其序號,則使用1ACHAR函數(shù)。若系統(tǒng)采用的是ASCH碼,則函數(shù)ICHAR和IACHAR作用ー樣。例如IACHAR(,A,)的值為65IACHARCZ,)的值為90在FORTRAN90中,允許String所代表的字符長度超過1,此時只取第一個字符作為有效字符。例如,ICHAR(,ABC,)的值為65。(?)字符序號向字符轉(zhuǎn)化函數(shù)
其ー一般形式為:CHAR⑴和ACHAR⑴其中I可以是整型常量、變量或表達式。其函數(shù)的結(jié)果值為序號I所對應的字符,若要按照ASCH碼求其對應的字符時,則使用ACHAR函數(shù)。若系統(tǒng)采用的是ASCII碼,則函數(shù)CHAR和ACHAR作用一樣。例如ACHAR(65)的值為ス’IACHAR(90)的值為2符處理應用舉例例5.7在讀入的ー批單詞中,把以字母B開頭的打印出來,直到輸入2ZZ,結(jié)束。例5.8將一個字符串中的字符按逆序打印出來。例5.9翻譯密碼。為了保密,常不采用明碼電文,而用密碼電文,按事先約定的規(guī)律將一個字符轉(zhuǎn)換為另ー個字符。收報人則按相反的規(guī)律轉(zhuǎn)換得到原來的字符。例如,將字母,A,一,p,-B'-'G',C— 即將一個字母變成其后第五個字母。例如:"HEISINBEIJING"應轉(zhuǎn)換為:"MJNXNSGJNONSL."流程圖如右例5.10從ー篇文章中查出其中包含多少個"CHINA".邏輯型數(shù)據(jù)邏輯常量只有真和假兩種值:.TRUE.和.FALSE.。用于說明邏輯型變量的關鍵字是LOGICAL。其變量說明的格式為:LOGICAL[([KIND=]類別值)][[,屬性列表]]變量列表邏輯型變量可以定義為LOGICAL,LOGICAL(l),LOGICAL(2),LOGICAL(4)或LOGICAL(8)(僅存在于Alpha系統(tǒng)上)。還可以指定為LOGICAL*1,LOGICAL*2,LOGICAL*4,或LOG1CAL*8。下面的例子說明了邏輯型變量的定義方式:LOGICALDOIT,DONTLOGICAL(2)::IIS,IIFLOGICAL*4::FLAG1,FLAG2例5.11當某點的X,Y坐標落在下圖(圖5.4)中四個方塊內(nèi)和方塊邊上時,Z=0,如在方塊外,Z=3。編出相應的程序。
例5.12已知用表控輸入一組參加比賽成員的考試成績。每個輸入記錄包含四個整數(shù),第一個值是參加者的號碼,其余三個值是競賽者的數(shù)、理、化的分數(shù)。輸入記錄的最后是以4個」做為結(jié)束標志。寫ー個程序打印出:(a)參加者的總?cè)藬?shù);(b)至少兩科超過?5分競賽者的號碼和它們的分數(shù):(c)至少兩科超過75分的競賽者人數(shù)。引入變量CN、M、P,C分別存放競賽者的號碼和三科成績(數(shù)、理、化)。程序如下:作業(yè):實驗指導書上有關章節(jié)第六章格式輸入輸出數(shù)據(jù)的輸入輸出是程序的重要組成部分。在前面幾章中,我們使用最簡單的輸入輸出語句,即用表控方式進行輸入和輸出。這是比較簡單、自由的輸入輸出方式。在有些情況下,我們希望按照自己所要求的格式來進行輸入輸出,以使輸入更加靈活,輸出更加美觀。這就是本章要介紹的格式輸入輸出問題。FORTRAN語言關于輸入輸出格式的各種規(guī)定很多,比較煩瑣,讀者不應死記硬背和過分死摳語言細節(jié),而應結(jié)合程序設計實踐和上機操作先掌握ー些基本格式,對于ー些特殊用法在使用時查閱有關規(guī)定即可。6.!輸入輸出概述輸入輸出是指在計算機內(nèi)存與外部設備之間傳送數(shù)據(jù)的過程。從外部設備將數(shù)據(jù)傳送到計算機內(nèi)存稱為輸入。將計算機內(nèi)部的數(shù)據(jù)傳送到外部設備稱為輸出。要順利地傳送數(shù)據(jù),一般應在輸入輸出語句中給計算機提供三方面的信息:(1)通過什么設備來進行輸入輸出。(2)采用什么樣的格式來進行輸入輸出。(3)輸入輸出的具體內(nèi)容。每ー種計算機系統(tǒng)都隱含指定一種輸入設備和輸出設備。在微機中,隱含指定鍵盤為輸入設備,顯示器為輸出設備。在輸入輸出數(shù)據(jù)較多時,也可以使用磁盤作為輸入輸出設備,即從已經(jīng)建立的磁盤文件中去讀取數(shù)據(jù),將處理結(jié)果寫入到磁盤文件中去。關于文件操作將在第11章介紹。輸入輸出的格式由格式編輯符來指定,不同的數(shù)據(jù)類型需要不同的格式編輯符,不同的格式編輯符確定不同的輸入輸出格式。輸入輸出的具體內(nèi)容即輸入輸出項,輸入項只能為變量,輸出項可以為常量、變量、函數(shù)和表達式,也可以是隱含的DO循環(huán)。下面先看ー個格式輸入輸出的例子。INTEGERJDOJ=l,5,2WRITE(*,10)JENDDO10FORMAT(1X,3I5)END程序輸出為:135每循環(huán)一次輸出循環(huán)變量J的值,每個數(shù)據(jù)占5格。再看下面的例子。INTEGERJWRITE(*,10)(J,J=1,5,2)10FORMAT(1X,3I5)END程序輸出為:135程序中,WRITE語句的輸出項"(J,J=1,5,2)”是一個隱含的DO循環(huán),當作一個整體輸出,每個數(shù)據(jù)占5格。格式輸入輸出語句格式輸出格式輸出語句有兩個:PRINT語句和WRITE語句。PRINT語句PRINT語句的一般格式是:PRINTf,輸出項其中f是格式說明符,指明了輸出所用的格式。它有以下三種形式:(1)格式說明符是ー個“レ’,表示輸出使用表控格式。這在前面幾章已作介紹。(2)格式說明符是ー個字符常量。例如PRINT'(1X,2F7.3),,X,Y(3)格式說明符是格式語句(FORMAT)的語句標號。這是最常用的格式輸出形式。例如PRINT100,A,B,C100FORMAT(1X,F9.4,2F7.3)輸出項指定了輸出的具體內(nèi)容。輸出項可以是變量、常量、函數(shù)以及表達式。此外,輸出項還可以是隱含DO循環(huán)。WRITE語句WRITE語句的一般格式是:WRITE(u,f)輸出項其中u是設備號,用于指明具體使用的輸入輸出設備。u可以是ー個無符號整常量,也可以是ー個整型變量或整型表達式,還可以是星號?。?表示由計算機系統(tǒng)預先約定的外部設備,一般為顯示器。f是格式說明符,指明了輸入輸出所用的格式。它也有三種形式,用法與PRINT語句相同。輸出項也可以是常量、變量、函數(shù)以及表達式,還可以是隱含的DO循環(huán)。格式輸入格式輸入語句是指READ語句,它有兩種形式:READf,輸入項READ(u,f)輸入項其中f指明了輸入所用的格式。它有以下三種形式:(I)格式說明符是ー個“*”,表示輸入使用表控格式。(2)格式說明符是ー個字符常量。例如READ(二(13,214),)I,J,K(3)格式說明符是格式語句(FORMAT)的語句標號。這是最常用的格式輸入形式。u是設備號,用于指明具體使用的輸入設備。u可以是ー個無符號整常量,也可以是一個整型變量或整型表達式,還可以是星號“*”表示由計算機系統(tǒng)預先約定的外部設備,一般為鍵盤。輸入項指定了輸入的具體內(nèi)容。輸入項目可以變量,不允許是常量或表達式。此外,輸入項目也可以是隱含DO循環(huán)。格式說明語句FORTRAN用專門的格式說明來描述輸入輸出的格式。盡管格式說明可以直接放在輸入輸出語句中,但為了使程序的可讀性更強,最好使用格式說明語句來進行格式說明。格式說明語句的?般格式是:nFORMAT(格式說明)其中n是語句標號,F(xiàn)ORMAT語句ー定帶有語句標號,以便同格式輸入輸出語句配合使用。格式說明由若干個編輯描述符組成,編輯描述符之間用逗號分隔。例如10FORMAT(1X,I4,F5.1)格式說明語句是非執(zhí)行語句,它只是給輸入輸出語句提供數(shù)據(jù)的格式描述。在程序運行過程中,由輸入輸出語句根據(jù)格式說明語句提供的數(shù)據(jù)格式描述,實現(xiàn)數(shù)據(jù)的格式控制。單獨的格式說明語句在程序中不器任何作用。例如10FORMAT(1X,I4,F5.1)WRITE(*,10)2345,67.8格式說明包含3種編輯描述符X,I和F。分別用14和F5.1來控制2345和67.8的輸出格式,IX也有特定的用途。格式說明語句可以放在程序單位語句(主程序語句PROGRAM,子程序語句FUNCTION或SUBROUTINE)之后,END語句之前的任何位置。常用的編輯描述符編輯描述符分成兩大類:可重復編輯描述符和非重復編輯描述符??芍貜途庉嬅枋龇芍貜途庉嬅枋龇怯脕砭庉嬢斎胼敵鲰椀妮斎胼敵龈袷降模运鼈兛偸桥c輸入輸出項相對應。不同類型的輸入輸出項使用不同的編輯描述符。FORTRAN提供的內(nèi)部數(shù)據(jù)類型有整型、實型、復型、字符型和邏輯型。相應地,編輯描述符也分五類介紹。.整型數(shù)據(jù)編輯描述符根據(jù)數(shù)據(jù)采用的進制不同,整型數(shù)據(jù)編輯符分為四種,I編輯符、B編輯符、〇編輯符和Z編輯符。I編輯符用來描述十進制的整型數(shù)據(jù),B編輯符用來描述二進制的整型數(shù)據(jù),0編輯符用來描述八進制的整型數(shù)據(jù),Z編輯符用來描述卜六進制的整型數(shù)據(jù)。下面逐一介紹。(1)1編輯符。I編輯符用于十進制整數(shù)的輸入輸出。它的一般格式是:rlw其中r是重復系數(shù),為1時可以省略。w表示字段寬度,即與該編輯描述符對應的輸入輸出項所占用的字符個數(shù)。I型輸入的使用規(guī)則:在輸入記錄中從左往右取w個字符存入對應的輸入項。注意取得的W個字符必須是整數(shù),正負號也占ー個字符位置,空格字符當〇。例如READ(*,10)I,J,K10FORMAT(I4,I5,I6)語句執(zhí)行時,若從鍵盤輸入71ロ4-346ローロ1ロ2345(口代表空格),則I,J,K的值分別為:7104、ー3460和-1023。I型輸出的使用規(guī)則:在輸出記錄中,對應的輸出項的值占w個字符寬度。當w大于輸出項實際的數(shù)字位數(shù)時,在輸出字段中插入前導空格補足W個字符。當W小于輸出項實際的數(shù)字位數(shù)時,將輸出W個“*”,表示字段寬度定義小了。例如WRITE(*,10)K,L10FORMAT(1X,I5,I4)當K=12,L=-7567時,輸出結(jié)果為:ロロロ12****(2)B,0,Z編輯符。這是FORTRAN90新增的編輯符。分別采用二進制、ハ進制和十六進制形式描述整型量的輸入輸出。其基本用法與I編輯符相同。例如READ(*,10)I,JWR1TE(*,2O)I,J,I,J10FORMAT(B3,B4)20FORMAT(1X,I5,I4,O4,Z5)END語句執(zhí)行時,若從鍵盤輸入1011101,則I,J的值分別為二進制數(shù)!0I和二進制數(shù)1101。輸出結(jié)果為:ロロロロ5ロロ13ロロロ5ロロロロD但與I編輯符也有區(qū)別,特別注意以下幾點:①如果需要輸出的二進制、ハ進制、十六進制數(shù)據(jù)位數(shù)大于編輯符定義的字段寬度,這時仍能輸出數(shù)據(jù),不過實際輸出的數(shù)據(jù)是從原數(shù)據(jù)的わ端截取相應的位數(shù)而得到的。例如WRITE(*,20)1420FORMAT(1X,B3)輸出結(jié)果為:110②Z編輯符可以用來輸入輸出字符型和邏輯型數(shù)據(jù)。例如WRITE(*,20)14>90,14<34,'ab'20FORMAT(1X,Z3,Z3,Z5)輸出結(jié)果為:ロロ〇ロロ1ロ6162從上述輸出結(jié)果可以看出,對于字符型數(shù)據(jù),如果用Z編輯符輸出,則輸出結(jié)果為每ー個字符所對應的ASCII碼值。例如字母“a”的ASCII碼值用十六進制表示為61,字母“b”的ASCII碼值用十六進制表示為62。對于邏輯型數(shù)據(jù),如果用Z編輯符輸出,則邏輯真輸出為1,邏輯假輸出為〇。.實型數(shù)據(jù)編輯描述符有四種編輯符可以對實型數(shù)據(jù)進行操作,它們是F編輯符、E編輯符、EN編輯符、ES編輯符和G編輯符。(I)F編輯符。用于實型量的輸入輸出(按小數(shù)形式)。它的?般格式是:rFw.d其中r為重復系數(shù),為I時可以省略。w為字段寬度,d為輸入輸出項小數(shù)部分所占的位數(shù)。F型輸入規(guī)則:按編輯描述符中w指定的字段寬度從輸入記錄中截取數(shù)據(jù),若w個字符中不含小數(shù)點,則系統(tǒng)自動按d決定小數(shù)點的位置,若w個字符中含有小數(shù)點,則按“自帶小數(shù)點優(yōu)先”的原則,不再按Fw.d中的d去加工該數(shù)據(jù),此時d不起作用。例如READ(*,10)A,B10FORMAT(F7.2,F6.1)語句執(zhí)行時,如從鍵盤輸入123456D726.89,則A、B的值分別為12345.6和726.89。當輸入的是指數(shù)形式時,如果E前面的數(shù)字部分含有小數(shù)點,則d不起作用。如果數(shù)字部分不含有小數(shù)點,則自動按d決定數(shù)字部分小數(shù)點的位置。例如READ(*,10)A,B10FORMAT(F8.0,F7.2)執(zhí)行語句時,如從鍵盤輸入72.48E-3□□ロロ2E2,則A、B的值分別為0.07248、2.0。F型輸出規(guī)則:把輸出項的值轉(zhuǎn)換成字段寬度為w的小數(shù)形式輸出,其中小數(shù)部分占d位,小數(shù)點占?位。如果輸出項小數(shù)部分實際的位數(shù)小于d,則輸出時小數(shù)部分低位以零補足d位,否則保留d位,從d+1位開始四舍五入。如果輸出項實際長度小于w,則在左邊用空格補足w個,否則輸出w個“*",以示w太小。例如WRITE(*,10)A,B,C10FORMAT(1X,3F8.3)當A、B,C的值分別是78.9、ー0.00072、12345.678時,輸出為:□D78.900nn□-.OOI********E編輯符。用于輸入輸出指數(shù)形式的實數(shù)。它的一般格式是:rEw.d其中r是重復系數(shù),w是字段寬度,d為數(shù)字部分小數(shù)位數(shù)。E型輸入規(guī)則:與F編輯符完全相同。E型輸出規(guī)則:采取規(guī)格化的指數(shù)形式,即數(shù)字部分小數(shù)前面為〇,小數(shù)點后第一位為非零數(shù)字,指數(shù)部分占4列(E、指數(shù)符號位及兩位指數(shù))。如果輸出項數(shù)字部分的小數(shù)位數(shù)多于d位,保留d位,從第d+1位起四舍五入,小于d位,在其右邊補〇。如果輸出項實際的位數(shù)小于w,左補空格,否則輸出w個“*”。例如WRITE(*,10)A,B10FORMAT(1X,E12.4,E13.2)當A、B的值為128.433和一〇.0008時,輸出為:□□□.1284E+03□□□□□-.80E-03EN編輯符。EN編輯符與E編輯符基本用法相同。區(qū)別在于EN編輯符輸出數(shù)據(jù)的非指數(shù)部分的絕對值強制在1到1000的范圍內(nèi),且指數(shù)可以被3整除。例如WRITE(*,10)128.433,-0.000810FORMAT(1X,EN12.4,EN13.2)輸出為:128.433OE+〇〇口ユ800.00E-06(4)ES編輯符。ES編輯符與E編輯符基本用法相同。區(qū)別在于ES編輯符輸出數(shù)據(jù)的非指數(shù)部分的絕對值強制在1到10的范圍內(nèi)。例如WRITE(*,10)128.433,-0.000810FORMAT(1X,ES12.4,ES13.2)輸出為:□□1.2843E+02Q□□Q-8.00E-04(5)G編輯符。也用于實型量的輸入輸出。一般格式為:rGw.dG編輯符用于輸入時,與F、E編輯符的功能完全相同。用于輸出時,要根據(jù)輸出項的大小決定用F格式輸出還是用E格式輸出。例如WRITE(*,10)123456.789,0.09876510FORMAT(1X,G13.7,G11.4)輸出為:□123456.8D□□□□□.9877E-01.更型數(shù)據(jù)編輯描述符復型數(shù)據(jù)沒有專門的編輯符。對復型數(shù)據(jù)的輸入輸出,可以按實部和虛部分別輸入輸出。例如COMPLEXCMREAD(*,10)CMWRITE(*,20)CM10FORMAT(2F5.2)20FORMAT(1X,2F7.2)語句執(zhí)行時,從鍵盤輸入1234567890,則輸出為:□123.45D678.90.邏輯型數(shù)據(jù)編輯描述符邏輯型數(shù)據(jù)的輸入輸出用L編輯符。其一般格式是:rLw邏輯值只有兩個:真(.TRUE.)和假(.FALSE.)。在輸入時,輸入的數(shù)據(jù)可以是.TRUE.或.FALSE.,也可以是頭ー個字母為T或F的任何字符串(T或F前面可以接或空格,后面可以是任意字符)。例如LOGICALL1,L2READ(*,1O)L1,L210FORMAT(L6,L3)語句執(zhí)行時,從鍵盤輸入.TRUE..FT,則Ll、L2的值分別是.TRUE.、.FALSE.。在輸出時,對邏輯真(.TRUE.),輸出ー個字母T,對邏輯假(.FALSE.),輸出字母F,且在左邊補w-1個空格。例如WRITE(*,10).FALSE.,'A'.LT.'B'.OR.1.GT.210FORMAT(1X,L3,L4)輸出為:□□FOnCT5.字符型數(shù)據(jù)編輯描述符字符型數(shù)據(jù)的輸入輸出用A編輯符。其一般格式是:rAw其中字段寬度W可以省略,省略時,輸入輸出項的字段寬度隱含為對應的字符型輸入輸出項的長度LA編輯符的輸入規(guī)則:從輸入記錄中取w個字符,但這w個字符能否全部存入對應的輸入項,還取決于輸入項的長度L當w等于1時,w個字符全部送給輸入項。當w>l時,從w個字符中取出最右邊1個字符送給對應的輸入項。這一點與字符賦值語句的賦值規(guī)則剛好相反。當W<1時,當W個字符全部送入輸入項,并靠左對齊,右邊補1-W個空格。這一點同字符賦值語句的規(guī)則是相同的。例如CHARACTER*5C1,C2,C3READ(*,1O)C1,C2,C310FORMAT(A5,A2,A7)語句執(zhí)行時,從鍵盤輸入abcdefghijklmn,則Cl、C2、C3的值分別為abcde、埴ロロロ、jklmno用A編輯符輸入字符串時,不能有字符串的定界符,如果加了撇號,則撇號也作為字符串的ー個字符。而在表控格式輸入時,字符常量要加撇號定界符。A編輯符的輸出規(guī)則:在輸出記錄中,Aw編輯符所對應的輸出項一定占w個字符的寬度,但輸出項實際包含字符的個數(shù)1可能與w不一致。當w=l時,輸出項所有的字符全部輸出。當w>l時,輸出項所有的字符全部輸出,并且靠右對齊,左補w-1個空格。當w<l時,輸出項最左邊w個字符輸出。當w省略時,按輸出項的長度輸出,這是最方便的形式。例如WRITE(*,10)'FORTRAN90','PROGRAM'10FORMAT(1X,A7,A8)輸出為:FORTRANロPROGRAM最后我們對上面討論的編輯描述符作一個總結(jié):FORTRAN90提供的編輯描述符很多,這給初學者學習帶來了困難,但ー些編輯描述符也有共同特點,把握這些特點以后也就不難掌握了??芍貜途庉嬅枋龇怯脕頉Q定對應輸入輸出項的輸入輸出格式的,其中都有字段寬度w,而且對于輸入都是從輸入記錄中取w個字符,對于輸出都是在輸出記錄中輸出w個字符。但問題是,在輸入時,取得的w個字符按什么規(guī)則加工后傳送到對應的輸入項。在輸出時,當輸出項實際包括的字符的個數(shù)和編輯符中所確定的字段寬度(對于數(shù)值型數(shù)據(jù)還有小數(shù)位數(shù))之間不相符時,如何輸出?讀者可以分數(shù)值型、邏輯型、字符型進行總結(jié)。6.4.2非重復編輯描述符非重復編輯描述符直接向當前輸出記錄傳遞信息,因此不需要輸入輸出項與其對應。非帀復編輯描述符有:(1)X編輯符。用于在輸入輸出的常數(shù)之間插入空格。它的一般格式是:nX其中n是正數(shù),用于指明從當前位置向右跳過n個字符位置。這里n不能省略,即使n為1,也要寫成IX。例如READ(*,10)K,J,A10FORMAT((2I3,3X),E5.2)執(zhí)行語句時,從鍵盤輸入:876-42193671E4后,K、J、A的值分別為876、ー42、67100.0?其中非重復編輯符3X,跳過193這三個字符。(2)H編輯符。用于輸岀ー個字符串。其一般格式是:nHh由2…%其中n是正整數(shù),表示字符串的長度,h|h2…h(huán)n為n個字符。(3)撇號編輯符。用于輸出一個字符串。撇號編輯符和H編輯符作用相同,但撇號編輯符使用更為方便。例如WRITE(*,10)345,'HELLO!'10FORMAT(1X,2HI=I4;C=',A)輸出為:I=D345C=HELLO!(4)斜扛編輯符:結(jié)束當前正在輸入或輸出的記錄,并轉(zhuǎn)入下ー個記錄開始輸入輸出。例如WRITE(*,10)A,B10FORMAT(//2(10X,F9.2/))語句執(zhí)行后將輸出5個記錄。6.4.3縱向走紙控制符FORTRAN規(guī)定,將輸出記錄中的第一個字符作為縱向走紙控制符,這個字符不輸出,而從輸出紀錄的第二個字符開始輸出。常用的控制字符有:空格(走紙一行)、0(走紙ニ行)、1(換頁)、+(不走紙,返回到本行重迭打印)。例如WRITE(*,10)123,456710FORMAT(1X,I3,2X,I4)按本來意義,IX產(chǎn)生一個空格,應輸出:□123DD4567但按FORTRAN規(guī)定,將輸出記錄中的第一個字符作為縱向走紙控制符,所以實際輸出是在走紙一行之后,輸出:123DO4567如果不在輸出記錄的第一個字符處增加一個空格,則系統(tǒng)將應該輸出的第一個字符作為縱向走紙控制符,從而使本來該輸出的字符被“吃掉”了。例如WRITE(*,10)123,456710FORMAT(I3,2X,14)輸出為:(空一行)23DD4567輸出記錄的第一個字符“1”作為縱向走紙控制符用,走紙兩行(字符“1”本來作分頁控制用,但微機中無分頁功能)。所以,在FORMAT語句中,一般都在格式說明的第一個字符位置增加一個空格作為縱向走紙控制符。6.5輸入輸出項與編輯符的相互作用在執(zhí)行輸入輸出語句時,要求輸入輸出項與編輯符在前后順序和數(shù)據(jù)類型方面都ーー對應,否則就會出錯。要注意輸入輸出項和編輯符之間的相互作用關系:(1)如果可重復編輯符的個數(shù)多于輸入輸出項的個數(shù),則多余的編輯符不起作用。例如WRITE(*,10)123,456710FORMAT(1X,I3,2X,I4,I5)多余的編輯符15不起作用。(2)如果可重復編輯符的個數(shù)少于輸入輸出項的個數(shù),則按順序用完最后?個可重復編輯符之后,再重復使用格式說明,但產(chǎn)生一個新記錄。例如WRITE(*,10)A,I,B,J10FORMAT(1X,F7.2,I3)語句執(zhí)行后,將產(chǎn)生2個輸出記錄。(3)如果在編輯描述符表中包含有重復使用的編輯符組,則當所有編輯符用完之后,返回到最ん邊那個編輯符組(包括其重復系數(shù))開始使用。分析下列程序的輸出結(jié)果。1=56J=1247K=5126WRITER,10)1,J,K10FORMAT(IX,2(15,2X)/)END在編輯描述符表中的IX,作縱向走紙控制用,(15,2X)是ー個編輯符組,帀復系數(shù)為2,第一次引用時,按15輸出I值,2X產(chǎn)生兩個空格,第二次引用時,按15輸出J值,2X產(chǎn)生兩個空格。此后是斜扛編輯符建立一個新記錄。輸出K值時,格式說明已用完,返回到編輯符組(15,2X),并產(chǎn)生一?新記錄,所以,第二行為空行。在第三行按15輸出K值,且第一個字符(為空格)作縱向走紙控制用而不輸出。輸出結(jié)果為:ロロロ56ロロロ1247(空ー行)5126習題第七章數(shù)組在迄今所涉及的程序設計問題中,我們都是采用FORTRAN的基本數(shù)據(jù)類型(整型、實型、復型、邏輯型和字符型)定義單個的變量來對數(shù)據(jù)進行描述。在科學計算中,常常需要保存具有相同類型的ー批數(shù)據(jù),這時如果仍然用單個變量來表示,不但十分麻煩,有時根本無法處理。為了描述現(xiàn)實問題中的各種復雜的數(shù)據(jù),FORTRAN語言還提供了由基本數(shù)據(jù)類型按某種機制組成的結(jié)構數(shù)據(jù)類型。數(shù)組是一種結(jié)構數(shù)據(jù)類型,本章介紹它的定義與應用。數(shù)組的概念在許多應用中,我們需要存儲和處理大量數(shù)據(jù)。在我們迄今涉及的程序設計問題中,我們能夠利用少量的存儲單元,處理大量的數(shù)據(jù)。這是因為我們能夠處理每ー個單獨的數(shù)據(jù),然后再重復使用存儲該數(shù)據(jù)的存儲單元。例如我們求一個班學生的平均成績,每個成績被存儲在ー個存儲單元中,完成對該成績的處理。在讀入下??個成績時,原來的成績不再被保留。這種辦法允許我們處理大量成績,而不必為每ー個成績分配單獨的存儲單元。然而,一旦某個成績被處理,在后面就不能再重新使用它了。在有些應用中,為了其后的處理,需要保存所處理的數(shù)據(jù)。例如,要計算和打印ー個班學生的平均成績以及每個成績與平均成績的差。在這種情況下,在計算每個成績與平均成績的差之前,必須先算出平均成績。因此,必須能夠兩次考査學生成績。首先計算平均成績,然后計算每個成績與這個平均成績的差。由于我們不愿意兩次重復輸入學生成績,我們希望在第一步時,將每個學生的成績保存于單獨的存儲單元中,以便在第二步時重新使用它們。在輸入數(shù)據(jù)時,用不同的名字引用每?個存儲單元將是煩瑣的。如果有100個成績要處理,我們將需要一個長的輸入語句,其中每個變量名被列出一次。我們也需要100個賦值語句,以便計算每個成績與平均成績的差。數(shù)組的使用將簡化大批量數(shù)據(jù)的存儲和處理。我們把具有相同類型的一批數(shù)據(jù)看成是ー個整體,叫做數(shù)組。給數(shù)組取?個名字叫數(shù)組名。所以數(shù)組名代表ー批數(shù)據(jù),而以前使用的簡單變量代表ー個數(shù)據(jù)。數(shù)組中的毎ー個數(shù)據(jù)稱為數(shù)組元素,它可通過順序號(下標)來區(qū)分。只要給出數(shù)組名和下標就可以表示某ー數(shù)組元素。例如,一個班60名學生的成績組成一個數(shù)組G,每個學生的成績分別表示為:G⑴,G⑵,G(3),…,G⑴,…,G(60)又如某廠5個車間全年各季度的產(chǎn)量組成數(shù)組P,每個車間每季度的產(chǎn)量分別表示為:P(1,1),P(1,2),P(1,3),P(1,4)P(2,1),P(2,2),P(2,3),P(2,4)P(3,1),P(3,2),P(3,3),P(3,4)P(4,1),P(4,2),P(4,3),P(4,4)P(5,1),P(5,2),P(5,3),P(5,4)在這里,區(qū)
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026黑龍江哈爾濱市侵華日軍第七三一部隊罪證陳列館招聘編外人員15人備考考試試題及答案解析
- 行政服務中心消防安全培訓課件
- 化學專業(yè)知識培訓課件
- 拒絕作弊誠信考試宣傳教育班會課件
- 2026年醫(yī)療健康睡眠障礙
- 2026年護理形成性評價方法與學員激勵策略
- 游戲開發(fā)技術分享
- 2026年老人康復護理家庭協(xié)議
- 2026億緯鋰能招聘面試題及答案
- 2026年保密協(xié)議(中英文簡易版)
- 氫能源汽車2026年維修培訓
- 南京南京市建鄴區(qū)2025年9月政府購崗人員招聘筆試歷年參考題庫附帶答案詳解
- 2025年企業(yè)內(nèi)部培訓課程體系
- 2026年工程材料企業(yè)物資采購人員考試大綱
- 2025年湖南公務員《行政職業(yè)能力測驗》試題及答案
- 2025年地鐵車站物業(yè)管理合同協(xié)議
- 2025公路安全韌性提升技術指南
- 藥廠入職安全培訓課件
- 廣東省高州市全域土地綜合整治項目(一期)可行性研究報告
- GB/T 6730.62-2005鐵礦石鈣、硅、鎂、鈦、磷、錳、鋁和鋇含量的測定波長色散X射線熒光光譜法
- 中考歷史第一輪復習教案
評論
0/150
提交評論