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
广告