Fortran - Do 循环构造


do 循环结构允许在给定条件为真时迭代执行一条语句或一系列语句。

句法

do 循环的一般形式是 -

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

在哪里,

  • 循环变量 var 应该是一个整数

  • start 是初始值

  • stop 是最终值

  • step 是增量,如果省略,则变量 var 增加单位

例如

! 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 进行初始化。

  • 接下来,评估条件。如果为真,则执行循环体。如果为 false,则循环体不会执行,控制流会跳转到循环后的下一条语句。在我们的例子中,条件是变量 var 达到其最终值 stop。

  • 执行循环体后,控制流程跳回增量语句。该语句允许您更新循环控制变量 var。

  • 现在再次评估病情。如果为真,则执行循环并重复该过程(循环体,然后递增步骤,然后再次条件)。条件变为假后,循环终止。

循环

实施例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