- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]FORTRAN955
Forall 可以多层嵌套,里面只能出现和数组数值相关的赋值操作,只能赋值一次; 其中可使用where,反之则不然 例: Forall (i=1:5) forall (j=1:5) a(I,j)=2 end forall forall (j=6:10) a(I,j)=2 end forall End forall Forall (i=1:5) where (abs(a(:,i)) 0.001) a(:, i)=1.0/(a(:,i) end where End forall Integer :: a(5)=5 Integer :: c(3)=2 Where(a/=0) c=a !错误,c与a的数组大小不同 !等号两边数组大小必须相同 Where (a(1:3)/=0) c=a(1:3) !正确,只对a(1~3)操作,数目相同 是否正确?? do i=1, 5 if(a(i)3) then b(i)=1 else b(i)=2 End if End do 多重判断 署名和嵌套 例:计算一组赋。税收入3万以下,税率10%;3~5万为12%;5万以上15% program ex0712 implicit none integer :: i real :: income(10)=(/ 25000, 30000, 50000, 40000, 35000, 60000, 27000, 45000, 28000, 70000 /) real :: tex(10)=0 where( income 30000.0 ) tex = income*0.10 elsewhere( income 50000.0 ) tex = income*0.12 elsewhere tex = income*0.15 end where write(*,(10(F8.1,1X))) tex end program ex0712b implicit none integer :: i real :: income(10,2)=(/ 25000, 30000, 50000, 40000, 35000, 60000, 27000, 45000, 28000, 70000, 20,30,40,45,67,89,21,56,76,34/) real :: tex(10)=0 where( income(:,1) 30000.0 ) where(income(:,2)70) tex = income(:,1)*0.10 where( income(:,1) 50000.0 ) where(income(:,2)70) tex = income(:,1)*0.12 elsewhere where(income(:,2)70) tex = income(:,1)*0.15 write(*,(10(F8.1,1X))) tex end 2500.0 3600.0 7500.0 5800.0 4200.0 0.0 2700.0 5400.0 0.0 10500.0 program ex0713 implicit none integer i integer :: a(5) forall(i=1:5) a(i)=5 end forall ! a(1)=a(2)=a(3)=a(4)=a(5)=5 write(*,*) a forall(i=1:5) a(i)=i end forall ! a(1)=1, a(2)=2, a(3)=3, a(4)=4, a(5)=5 write(*,*) a end FORALL DO I=1, 5 A(I)=5 END DO A(1:5)=5 DO I=1,5 A(I)= I END DO A=(/ (I, I=1,5) /) FORALL (fortran 95 添加)的语法: Forall (triplet1 [,triplet2 [,triplet3 …]][, mask]) …… !
文档评论(0)