Fortran - Do迴圈結構



do迴圈結構允許重複執行一條語句或一系列語句,直到給定的條件為真。

語法

do迴圈的一般形式為:

do var = start, stop [,step]    
   ! statement(s)
   …
end do

其中,

  • 迴圈變數var必須為整數

  • start是初始值

  • stop是最終值

  • step是增量,如果省略,則變數var增加1

例如

! compute factorials
do n = 1, 10
   nfact = nfact * n  
   ! printing the value of n and its factorial
   print*,  n, " ", nfact   
end do

流程圖

以下是do迴圈結構的控制流程:

  • 第一步首先執行,並且只執行一次。此步驟允許您宣告和初始化任何迴圈控制變數。在我們的例子中,變數var被初始化為start值。

  • 接下來,評估條件。如果為真,則執行迴圈體。如果為假,則不執行迴圈體,控制流跳轉到迴圈之後的下一條語句。在我們的例子中,條件是變數var達到其最終值stop。

  • 迴圈體執行後,控制流跳回到增量語句。此語句允許您更新迴圈控制變數var。

  • 現在再次評估條件。如果為真,則執行迴圈並重復該過程(迴圈體、然後增量步驟,然後再次條件)。條件變為假後,迴圈終止。

Do Loop

示例1

此示例列印數字11到20:

program printNum 
implicit none  

   ! define variables
   integer :: n
   
   do n = 11, 20     
      ! printing the value of n 
      print*,  n 
   end do 
   
end program printNum  

編譯並執行上述程式碼後,將產生以下結果:

11
12
13
14
15
16
17
18
19
20

示例2

此程式計算數字1到10的階乘:

program factorial  
implicit none  

   ! define variables
   integer :: nfact = 1   
   integer :: n  
   
   ! compute factorials   
   do n = 1, 10      
      nfact = nfact * n 
      ! print values
      print*,  n, " ", nfact   
   end do 
   
end program factorial  

編譯並執行上述程式碼後,將產生以下結果:

1             1
2             2
3             6
4            24
5           120
6           720
7          5040
8         40320
9        362880
10       3628800
fortran_loops.htm
廣告

© . All rights reserved.