歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

FORTRAN90第七章字符數(shù)據(jù)處理.ppt

  • 資源ID:2016027       資源大小:288.81KB        全文頁數(shù):20頁
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

FORTRAN90第七章字符數(shù)據(jù)處理.ppt

§7 字符數(shù)據(jù)處理,§7.1 字符型數(shù)據(jù) §7.2 字符型數(shù)據(jù)的運算 §7.3 字符子串 §7.4 字符型數(shù)據(jù)的應用舉例,一個字符在內(nèi)存中占一個字節(jié)。,§7.1 字符型數(shù)據(jù),§7.1.1 字符型常量 字符型常量是用定界符括起來的一串字符。定界符可用單引號或雙引號,但前后必須一致。,§7.1.1 字符型常量,字符型符號常量:可用parameter屬性給字符串命名,此名稱就是字符型符號常量,因為是常量,當然不能在程序中給它賦值。 給字符型符號常量時,其長度可用*表示。 Character(20),Parameter: Addr=“Hefei“ Character(*),Parameter: Book=“RedStar“,§7.1.2 字符型變量,字符型變量用于存放字符型常量。必須先定義 定義格式 Character(Len=字符串長度):變量名,變量名,§7.1.2 字符型變量,Len=可以不寫,當長度為1時可以連()也沒有。 如果變量表中有長度不同于Len=域指定的變量,可以對它進行個別說明,以個別說明為準。 Character(20):ch1,ch2,ch3*15,ch4*1,ch5*12 Character c1,c2,c3 character(20) s1,s2,s3*3,還可以定義字符型數(shù)組 character(20) c1(3),c2(5,6),c3(4,5)*8 character(20):s1(3),t2(5,6),u(4,5)*8,§7.1.3 字符型變量的賦值,格式:字符變量=字符表達式,當字符表達式的長度超過字符變量的長度時字符表達式右邊多余字符會丟掉,相反,當字符表達式的長度短于字符變量的長度時則在右邊補空格。以字符變量的長度為準。 character(20) s1,s2 s1=“ABCDEFGHHIJKL.“ s2=“1224WEFWE“,還可以將整型表達式賦給字符變量 Character(20) a a=65*256+66;print *,a;End !輸出為BA,§7.1.4 字符型變量的輸入與輸出,用表控格式輸入字符型數(shù)據(jù)時要帶定界符,格式化輸入時不要帶定界符。,用表控格式輸出字符型數(shù)據(jù)時,各字符串依次輸出,中間不留空格;如果想要分隔,則應在輸出列表中插入選定使用的分隔符。,格式化輸出是由格式編輯符控制的。,§7.1.5 字符型變量作虛參,字符型變量作過程的虛參時,可定義其為固定長度變量或假定長度變量。一般建議用假定長度變量較好。用固定長度變量時,其實際長度與實參的長度可以相同也可以不同,這可能會導致比較隱蔽的錯誤,應該引起注意。,Character (20) a,b,c call sub(a,b,c) end Subroutine sub(a,b,c) Character(10) a,b*(*),c*20 End subroutine sub,§7.2.1 字符表達式,§7.2 字符型數(shù)據(jù)運算,字符型數(shù)據(jù)的運算符只有字符連接符/一種,也稱加法運算,與字符型數(shù)據(jù)組成字符表達式,將兩個字符型數(shù)據(jù)連接起來。 Character *20 c,a*4,b*5 a= “This“ b= “isa“ c=a/b/“ test“ c=a(1:3)/b(:2)/c(5:8)/“OK“ Print *,c END 結(jié)果為:thiisisaok,§7.2.1 字符表達式,§8.2 字符型數(shù)據(jù)運算,兩個形狀相同的字符型數(shù)組的加法運算是將兩個數(shù)組的對應元素相加(字符串的連接),得到一個新的數(shù)組。例如: Character(3),dimension(2):text_1=(/abc,123/) Character(3),dimension(2):text_2=(/xyz,456/) Print*, text_1/ text_2 End 結(jié)果為: abcxyz123456,§7.2.2 字符型數(shù)據(jù)的比較,兩個字符串可以比較,也可用六種關系運算符: str.GT.char1 str2=a1 st/=name 字符串的比較實際上是比較字符的機內(nèi)碼 字符關系運算法則: 單個字符比較,代碼大者為“大”: b a 比較字符串時,如果兩個字符串長度不等, 則首先用空格把短串尾部補齊,使兩字符串 等長;從第1個字符開始依次比較每個字符, 字符大者其所在字符串為大;所有字符都相 等的兩個字符串相等。,統(tǒng)計字符串長度:LEN(S),§7.2.3 處理字符串的系統(tǒng)函數(shù),給出字符串S2在S1中的位置: INDEX(S1,S2)S1,S2為字符串。 例:INDEX(FORTRAN,TRA) 函數(shù)值是整數(shù)值,此處是4。,求ASCII碼的對應字符:char(I) I 為ASCII 例: CHAR(65) 函數(shù)值是A,§7.2.3 處理字符串的系統(tǒng)函數(shù),求字符ASCII碼: 如果字符型變量CH的值為A,則ICHAR(CH) 函數(shù)值是65。,字符串比較: LGE(C1,C2),LGT(C1,C2), LLE(C1,C2)與 LLT(C1,C2),FORTRAN90提供的字符串處理函數(shù)比較多,實際編程時可參考編輯器的On_Line_Help系統(tǒng)。,字符串中連續(xù)之部分稱為該字符串的子字符串。例: ORT, RAN P, rog, Program都是字符串FORTRAN Program的子字符串。,字符串str的子字符串用str(s:e)表示,s與e為子字符串在原字符串中的起止位置。str(1:5)表示str 的第1到第5個字符。s的缺省值是1,e的缺省值是字符串的長度;當se時,子字符串是空串。,§7.3 字符子串,§7.3.1 字符子串的定義,§7.3.2 字符子串的引用,§7.3.3 字符數(shù)組的子串,字符型數(shù)組或數(shù)組片段的子串是指其每一個數(shù)組元素的子串。 Character(10) A(6) A(1)=“1234567890“; A(2)= 'abcdefghij' Print*,A(1:2)(3:5);END 結(jié)果為:345cde,可以將一個子串賦給另一個子串,例如: Chrracter str*20 Str=1234567890abcdefghij Str(4:6)=str(11:12) Print*,str End 結(jié)果為:123ab7890abcdefghij,Character(80) A; Integer m,n Real :PI=3.14159265,DX,X DX = pi*0.05;X=0;m = int(pi/dx+0.5*dx)+1 Do L=1,M write(a,'(1X,F4.2)') X n = int(25*sin(x)+40 a(40:40) = “:“;a(n:n) = 'S' n = int(25*cos(x)+40;a(n:n) = 'c' print '(A)', a;x = x+dx Enddo;End,§7.4 字符型數(shù)據(jù)的應用舉例,例:用字符串方式輸出sin(x)與cos(x)的圖像,Character(LEN=80) A,c*1 Integer s,e read '(A)', A e = LEN(A); s = 1 do while(s = e) c = A(S:S); A(S:S) = A(E:E); A(E:E)=c e = e-1; s = s+1 enddo print '(1X,A)', a End,例:字符串的逆序串,例:輸入50個單詞,把以字母A開頭的打印出來。 Character*15 word Do I=1,50 Read*,word If(index(word,A)=1)PRINT*,WORD END DO END 上式中index(word,A)=1可改為: word(1:1)=A,例:打印下列圖形,要求中間一列在30列輸出,* * * * * * * * * * * * * * * * * * * * * * * * *,上半部(四行)的圖形可用下列程序段實現(xiàn) Do I=1,4 Line= K=2*I-1 Do J=1,k line(30+j-I: 30+j-I)=* End do Print*,line End do,下半部(三行)的圖形可用下列程序段實現(xiàn) Do I=3, 1,-1 Line= K=2*I-1 Do J=1,k line(30+j-I: 30+j-I)=* enddo Print*,line End do,程序為: Character*50 line 上半部程序段 下半部程序段 end,例:輸入一段文字,找出包含多少個空格,然后將空格刪除。,(1)下列子程序是求刪除一字符串所有空格后的字符串及其長度: SUBROUTINE SUB(STR,L) CHARACTER*(*)STR integer p L=LEN(TRIM(STR) p=1 do while(pL) if(str(p:p)/= )then p=p+1 else str(p:L-1)=STR(P+1:L) L=L-1 END IF END DO END SUBROUTINE SUB,(2)主程序為: CHARACTER*80 line Integer: m,n=0 Read*,k Do I=1,k Read*,line Call sub(line,m) Print*,line(1:m) N=n+(80-m) End do end,例:輸入十個姓名,要求按字母順序輸出,程序為: Parameter(n=10) Character*15 a(n),ch Read*,a Do I=1,n-1 P=I do j=I+1,n if(a(j)a(p)p=j End do ch=a(p) a(p)=a(I) a(I)=ch End do,Print*,a end,思考題(上機操作): 輸入十個姓名,要求按實際包含的字母個數(shù)多少的順序輸出。 提示: (1)編寫一子程序,求刪除所有空格后的字符串實際包含的字母個數(shù)。 (2)定義一整型數(shù)組,用來存放每個姓名實際包含的字母個數(shù)。 (3)在對整型數(shù)組排序的同時,交換字符型數(shù)組元素的值。,

注意事項

本文(FORTRAN90第七章字符數(shù)據(jù)處理.ppt)為本站會員(max****ui)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!