freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[理學(xué)]visualfortran90第7章(編輯修改稿)

2025-02-17 13:24 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 數(shù)組實(shí)現(xiàn) IMPLICIT NONE INTEGER,DIMENSION(:),allocatable::A !① 說(shuō)明動(dòng)態(tài)數(shù)組 INTEGER::MAX,K,I,n Read*,n Allocate(a(n)) !② 分配存儲(chǔ)空間 READ*,(A(I),I=1,N) MAX=A(1)。K=1 DO I=2,n IF(A(I)MAX)THEN MAX=A(I)。K=I ENDIF ENDDO Print*,max,k Deallocate(a) !③ 釋放空間 end 主程序中動(dòng)態(tài)數(shù)組的應(yīng)用 假定大小數(shù)組: 假定大小數(shù)組: 說(shuō)明時(shí)最后一維的上界為 *號(hào),其余所有 的特征(維數(shù)、維界)都必須指定。 使用范圍: 假定大小數(shù)組只能在子程序中作虛數(shù)組用 。 注意點(diǎn): 使用數(shù)組時(shí)必須寫下標(biāo),即不能對(duì)名字操作,只能對(duì)元素或片段操作;且 調(diào)用時(shí)它從實(shí)數(shù)組獲得大小參數(shù) 例: Subroutine assume(A) Real , dimension (2,2,*)::A A=5 A為虛元 大小取對(duì)應(yīng)實(shí)元的大小 錯(cuò)誤用法 調(diào)用: Real ,dimension(8)::x Call assume(x) 由于輸入與輸出是程序中非常重要的組成部分,數(shù)組輸入與輸出的方法又比較靈活,需要整理一下常用的輸入與輸出方法。 方法: 同簡(jiǎn)單變量,使用讀、寫語(yǔ)句實(shí)現(xiàn) 輸入輸出表 :數(shù)組名、數(shù)組元素或數(shù)組片段 數(shù)組的輸入與輸出 P171 元素的 輸入輸出順序 分幾行輸入輸出 每行輸入輸出哪些元素 注意:三要素 假設(shè)存在: 1, 2, 3 4, 5, 6 INTEGER, DINENSION(2,3)::A : READ *, A 表示輸入輸出的是數(shù)組的全部元素且按 內(nèi)存順序 輸入順序: 1, 4, 2, 5, 3, 6 輸入格式:一行輸入 假設(shè)存在: 1, 2, 3 4, 5, 6 INTEGER, DINENSION(2,3)::A 用數(shù)組元素:顯 DO控制元素順序,行在外按行序,列在外按列序 DO I=1, 2 DO J=1, 3 READ*, A( I, J) ENDDO ENDDO 1 2 3 4 5 6 輸入格式:一列輸入 利用隱含 DO循環(huán)控制 數(shù)組元素 的順序。 行在外按行序,列在外按列序 READ( *, *) (( A( I,J),J=1,3),I=1,2) 行在外按行序 ,一個(gè) READ語(yǔ)句一行輸入 :1,2,3,4,5,6 輸入格式:一行輸入 5. 使用數(shù)組片段,輸入輸出的是所選的元素 PRINT *, A( 2:3) ,B(2:6:2) 相當(dāng)于: PRINT*,A(2),A(3),B(2),B(4),B(6) 利用一重隱含 DO循環(huán)配合數(shù)組片段相結(jié)合的方法,控制數(shù)組元素的順序。 例: READ*, ((A(I,1:3),I=1,2) 等價(jià)于: READ*,A(1,1:3),A(2,1:3) 實(shí)體混合出現(xiàn)。 READ *, A, N, B( 1:4) 除此之外,還可用數(shù)組構(gòu)造器給數(shù)組賦初值 ① DO I=1, 2 READ( *, *)( A( I, J), J=1, 3) ENDDO 行顯 DO列隱 DO的輸入 : 1, 2, 3 4, 5, 6 ② DO I=1, 2 READ( *, *) A( I, 1:3) ENDDO 行顯 DO列片段的輸入 : 1, 2, 3 4, 5, 6 輸入格式:與外觀一致 與外觀一致的輸入輸出格式(重點(diǎn)) ③ READ( *, ’ ( 3I2) ’ ) (( A( I,J),J=1,3),I=1,2) 格式 +雙重隱 DO輸入 : 1 2 3 4 5 6 ④ READ( *, ’ ( 3I2) ’ ) (A( I,1:3),I=1,2) 格式 +行隱 DO列片段輸入: 1 2 3 4 5 6 運(yùn)算規(guī)則: ?形一致 ?對(duì)應(yīng)元素進(jìn)行運(yùn)算 數(shù)組運(yùn)算 P191 與其他語(yǔ)言不同, FORTRAN90提供了強(qiáng)大的數(shù)組運(yùn)算功能,它允許把整個(gè)數(shù)組作為一個(gè)操作數(shù)進(jìn)行運(yùn)算,也允許在賦值語(yǔ)句中對(duì)整個(gè)數(shù)組或其片段進(jìn)行賦值,就像對(duì)一個(gè)簡(jiǎn)單變量的賦值一樣。 數(shù)組賦值語(yǔ)句的形式與一般變量賦值相似,其一般格式是: A=e A是一個(gè)數(shù)組名或數(shù)組片段, e是數(shù)組名、數(shù)組片段、構(gòu)造器或簡(jiǎn)單變量等組成的表達(dá)式。 注意: e中出現(xiàn)的數(shù)組或數(shù)組片段的 形 必須與 A相同 所謂 “ 形 ” 相同指維數(shù)相同,每維長(zhǎng)度相同,但每維的上下界可以不同。 形狀:各維維長(zhǎng)的序列 有時(shí)不嚴(yán)格加以區(qū)分,即稱“形”為“形狀” 數(shù)組賦值 P191 形狀不同,但維數(shù)、維長(zhǎng)相同,其形相同,都是( 3, 2) 例如: A的形狀為 (3:5,1:2) B的形狀為 (11:13,5:6) A=B !是合法的。 賦值規(guī)則:對(duì)應(yīng)元素賦值 也可以對(duì)數(shù)組直接賦某個(gè) 標(biāo)量(標(biāo)準(zhǔn)類型常量) 值。 INTEGER, DIMENSION( 4):: A A=5 含義: A的每個(gè)元素的值均為 5 數(shù)組表達(dá)式定義:表達(dá)式中出現(xiàn)數(shù)組名、數(shù)組片段、數(shù)組構(gòu)造器等數(shù)組操作數(shù)。 注意: 要求各數(shù)組操作數(shù)的 形 一致 : 對(duì)應(yīng)元素進(jìn)行運(yùn)算,結(jié)果還是數(shù)組。 例: INTEGER, DIMENSION( 2,3) ::A, B, C C=A+B 例: A( 1: 5) +B( 2: 6)形同為( 5)的片段相加 數(shù)組表達(dá)式 P191 數(shù)組表達(dá)式可以與標(biāo)量作算術(shù)運(yùn)算,其結(jié)果是數(shù)組。 例如: INTEGER, DIMENSION( 4):: A, B B=A5 !表示 A中各個(gè)元素的值均減去 5 即 B=A( /5, 5, 5, 5/) FORTRAN90的表達(dá)式中允許對(duì)數(shù)組求基本函數(shù),其函數(shù)值仍是一個(gè)形相同的數(shù)組。 例如: INTEGER, DIMENSION( 4):: A, B B=ABS(A) !表示 A中各個(gè)元素的值均取 ABS函數(shù)之后的值 即 B(1)=ABS(A(1)),B(2)=ABS(A(2)),…… 小結(jié):數(shù)組賦值、運(yùn)算,最終將歸結(jié)到每個(gè)對(duì)應(yīng)元素上進(jìn)行。 Fortran90提供了豐富的數(shù)組操作函數(shù),它們的函數(shù)值可以是數(shù)組、標(biāo)量,不一定全是數(shù)組。 ?求數(shù)組大小函數(shù)( SIZE) size(數(shù)組名 [,DIM]) 功能:求數(shù)組元素的個(gè)數(shù),函數(shù)值一定是正整數(shù)。 可選項(xiàng) DIM:指明選中哪一維來(lái)求函數(shù)值, DIM=1表求每一列的大小,即數(shù)組的行數(shù); DIM=2表求每一行的大小,即數(shù)組的列數(shù)。 數(shù)組內(nèi)在函數(shù) P193 10 2 5 例 :INTEGER,DIMENSION(2,5)::A PRINT*,SIZE(A) PRINT*,SIZE(A,DIM=1) PRINT*,SIZE(A,2) ? 求數(shù)組極值函數(shù) 求數(shù)組 A的最大值函數(shù):MAXVAL(A[,DIM][,MASK=邏輯表達(dá)式 ]) 可選項(xiàng) MASK:起屏蔽作用,為邏輯表達(dá)式 求數(shù)組最小值的函數(shù): MINVAL (A[[,DIM][,MASK]) 例: MAXVAL(A) MAXVAL(A,2) MINVAL(A,1,MASK=A0) 求數(shù)組每行的最大值,函數(shù)值是數(shù)組 求數(shù)組每列正數(shù)中的最小值,函數(shù)值是數(shù)組 例 把 10個(gè)整數(shù)中最大的數(shù)找出來(lái)。 一批數(shù)據(jù)的處理引入數(shù)組 分析 算法 : (1)元素法 : 用循環(huán)處理數(shù)組 循環(huán)變量為下標(biāo) (2) 數(shù)組名法 (函數(shù) )、片段法 PROGRAM EXAM IMPLICIT NONE INTEGER,DIMENSION(10)::A INTEGER::BIG READ*,A BIG=A(1) DO I=2,10 IF(A(I)BIG)BIG=A(I) ENDDO PRINT*,BIG END BIG=MAXVAL(A) 元素法 數(shù)組名法 (函數(shù) )、片段法 ?求數(shù)組最大值元素下標(biāo)的函數(shù): MAXLOC( A[,DIM][, MASK]) 求數(shù)組最小值元素下標(biāo)的函數(shù): MINLOC 函數(shù)值一定為一維數(shù)組 例: INTEGER,DIMENSION(2,3)::A INTEGER,DIMENSION(2)::B A= RESHAPE((/1,2,6,3,4,5/),(/2,3/)) B=MAXLOC(A,A4) 函數(shù)值是數(shù)組 MASK=可省略 B=(/2,2/) 例: INTEGER,DIMENSION(2,3)::A INTEGER,DIMENSION(3)::B A= RESHAPE((/1,2,6,3,4,5/),(/2,3/)) B=MAXLOC(A,1) 函數(shù)值是數(shù)組 B=(/2,1,2/) 1 6 4 2 3 5 注意:函數(shù) MAXLOG和 MINLOG的功能分別是找出數(shù)組中最大值或最小值元素的 位置 ,函數(shù)值是由各維下標(biāo)組成的向量形式,但這里返回的位置已經(jīng)是經(jīng)過(guò)整理了的下標(biāo)向量(維下界全為 1),即最大(最?。┰氐奈恢茫c該元素原來(lái)的下標(biāo)無(wú)關(guān)。 例: INTEGER,DIMENSION(5:1)::A=(/1,0,12,2,16,1,8/) INTEGER,DIMENSION(1)::B B=MAXLOC(A) PRINT*,B 數(shù)組 A中最大值是 16,其原有下標(biāo)是 1,但 MAXLOG是與位置有關(guān)的函數(shù), 因此 B的值為 5,而不是 1。 另雖然 A是一維數(shù)組,其最大值位置只有 1個(gè)數(shù)據(jù),但經(jīng)過(guò) MAXLOG(A)得到的結(jié)果仍然是一個(gè)向量 (/5/)。 所以,必須使用具有一個(gè)元素的整型一維數(shù)組存放它。 當(dāng)然,對(duì)二維數(shù)組使用 MAXLOG時(shí), 其結(jié)果必須用具有兩個(gè)元素的整型一維數(shù)組存放。 例: INTEGER,DIMENSION(5:1)::A=(/1,0,12,2,16,1,8/) INTEGER,DIMENSION(1)::B B=MAXLOC(A) PRINT*,B ?求數(shù)組 A各元素之和的函數(shù)( SUM) SUM(A[,DIM][,MASK]) 例如: SUM( A, MASK=A0) SUM(B,MASK=B0, DIM=1) 求 B中每列具有正值元素之和,函數(shù)值是數(shù)組。 沒(méi)有滿足條件的元素時(shí),結(jié)果為 0 求 A中具有正值的元素之和, 函數(shù)值不是數(shù)組 ?求數(shù)組各元素之連乘積的函數(shù)( PRODUCT) PRODUCT(array[,DIM][,
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1