火曜日3,4限

環境・建設計算機実習T

アルゴリズムの基礎(FORTRAN演習)


繰り返し



    0. IF -条件判断と分岐-


    1. 繰り返し

    前回「条件判断と分岐」で学習した論理IF文と単純GO TO文を用いて記述した繰り返しのアルゴリズムはDO文およびCONTINUE文と呼ばれる制御文を用いると、プログラムの論理構造を分かりやすく記述し直すことができる。

    (1) 流れ図

    図-1 流れ図

    (2) IF文を使用した繰り返しの例

           ・・・
           前の文
           N=1
       10 continue
          if(N.gt.n) go to 20 
           処理A
           N=N+1
          go to 10
       20 continue
           次の文
           ・・・
        
           ・・・
           前の文
           N=1
       10 continue
          if(N.lt.n) then 
             処理A
             N=N+1
            go to 10
          end if
           次の文
           ・・・
        
    図-2.1 プログラム例 (IF文)

    (3) DO文を使用した繰り返しの例

    Fortran 77
           ・・・
           前の文
           do 10 N=1,n,1  
             処理A
        10 continue
           次の文
           ・・・
        
    Fortran 90
           ・・・
           前の文
           do N=1,n,1  
             処理A
           end do
           次の文
           ・・・
        
    図-2.2 プログラム例 (DO LOOP)

    図-2.1と図-2.2にIF文とDO文を使用した例を示す。両図は同じ処理をおこなう。

    図-2ではDO文とCONTINUE文によってはさまれた処理を1からNまで1つずつ繰り返しておこなうことを意味する。

    DO文による繰り返しの論理構造を、DOループという。一般形は次の通り。

    DO L V=E1,E2, E3

    L : これより後にあるCONTINUE文の文番号
    V : 変数名(整数型、実数型、倍精度実数型)
    E1: 初期値パラメータ
    E2: 終値パラメータ
    E3: 増分パラメータ(Vの増分を指定、例:1,2,-1,-2)
    E3=1の時はE3を省略することができる
    (この場合,『V=E1, E2』となる)
      (E1,E2,E3は整数型、実数型、倍精度実数型の式)

    E3は0ではいけない

     

    2. プログラム例1(E1,E2,E3が整数の場合)



    3. プログラム例2(E1,E2,E3が実数の場合) (計算機実習の授業では実定数のDO文は作成不可)



    4. プログラム例3(E1,E2,E3が算術式の場合)

    5. 多重DOループ

    6. 課題




質問・意見等
    940-2188 新潟県長岡市上富岡町1603-1 長岡技術科学大学 環境・建設系
    環境・建設計算機実習T 一部担当
    犬飼 直之 (内線 9624) inu@nagaokaut.ac.jp

GLESCO
( GLobe, EStuary and COast )

Copyright
Hydrauric Engineering Lab. Nagaoka University of Technology