Fortran Coder

标题: 关于通过循环来优化程序的。 [打印本页]

作者: yifanxing1992    时间: 2015-5-13 18:07
标题: 关于通过循环来优化程序的。
大神们,我的程序当中因为需要大量的循环性的计算,但是我不太会用循环来控制,就是程序当中的重复部分希望能通过一个循环体来实现,功能跟我原先的设计需要完全一致,我应该怎么做捏?求指导。。就是红色那部分,希望能用一个循环来优化。求大神指导~~~~!!!~拜托了
附上部分程序:
[Fortran] 纯文本查看 复制代码
  if(t==60000.)then
    if(thita>0..and.thita<=0.005)then
    write(11,101)t,Exc,y(4),y(1),y(6),y(3)
    else if(thita>0.005.and.thita<=0.01)then
    write(12,102)t,Exc,y(4),y(1),y(6),y(3)
    else if(thita>0.01.and.thita<=0.015)then
    write(13,103)t,Exc,y(4),y(1),y(6),y(3)
    else if(thita>0.015.and.thita<=0.02)then
    write(14,104)t,Exc,y(4),y(1),y(6),y(3)
    else if(thita>0.02.and.thita<=0.025)then
    write(15,105)t,Exc,y(4),y(1),y(6),y(3)
    else if(thita>0.025.and.thita<=0.03)then
    write(16,106)t,Exc,y(4),y(1),y(6),y(3)

    end if
    end if

    101 format(1X,F15.6,6F15.5)
    102 format(1X,F15.6,6F15.5)
    103 format(1X,F15.6,6F15.5)
    104 format(1X,F15.6,6F15.5)
    105 format(1X,F15.6,6F15.5)
    106 format(1X,F15.6,6F15.5)


    open(unit=11,file='0.005.txt')
    open(unit=12,file='0.01.txt')
    open(unit=13,file='0.015.txt')
    open(unit=14,file='0.02.txt')
    open(unit=15,file='0.025.txt')
    open(unit=16,file='0.03.txt')



作者: li913    时间: 2015-5-13 22:49
[Fortran] 纯文本查看 复制代码
        integer  i
        real v
        character(10) :: filename='0.005.txt'
        v = 0.0
        do i=11, 16
                v = v + 0.005
                write(filename(1:5),'(f5.3)') v
                open(unit=i,file=filename)
        end do
        if(t==60000.0 .and. thita>0 .and. thita<=0.03)then
                i = 11 + int( (thita-tiny(thita)) / 0.005)
                write(i,101) t,Exc,y(4),y(1),y(6),y(3)
        end if
        101 format(1X,F15.6,6F15.5)

作者: yifanxing1992    时间: 2015-5-15 00:17
li913 发表于 2015-5-13 22:49
[mw_shl_code=fortran,true]        integer  i
        real v
        character(10) :: filename='0.005.txt'

谢谢~~~应该可以用哎~~




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2