云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Fortran语言基础 - 图文

Fortran语言基础 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 9:54:07

山东建筑大学

do k=1,10 {程 序 代 码} end do end do end do

DO循环有明确的循环次数,在已知需要循环的次数时使用。若事先无法知道循环的次数,采用下面的循环方式。

4.2 DO WHILE循环

语法:

do while (逻辑表达式) 循环体 end do

例 利用循环计算2+4+6+8+10

program ex0604 implicit none

integer, parameter :: limit=10 ! 计数器的上限 integer counter ! 计数器 integer :: ans = 0 ! 拿来累加使用 counter = 2 ! 设定计数器初值 do while( counter <= limit ) ans = ans + counter

counter = counter + 2 ! 计数器累加 end do write(*,*) ans stop end

例 猜体重

program ex0605

29

数值分析程序设计——Fortran基础

implicit none

real, parameter :: weight=45.0 real, parameter :: e = 0.001 real :: guess = 0.0

do while( abs(guess-weight) > e ) write(*,*) \ read(*,*) guess end do

write(*,*) \ stop end

Do While循环使用时应当注意正确设置循环判断表达式,以免进入死循环。

4.3 循环的流程控制

4.3.1 CYCLE命令

CYCLE命令可以略过循环的程序模块中,在CYCLE命令后面的所有程序代码,直接跳回循环的开头来进行下一次循环。

例 假设某大楼共有9层,但电梯在4层不停,试写一个程序仿真大楼电梯从一层到九层的信号显示情况。

program ex0606 implicit none integer :: dest = 9 integer floor do floor=1, dest if ( floor==4 ) cycle write(*,*) floor end do stop end

30

山东建筑大学

4.3.2 EXIT命令

EXIT的功能是直接跳出当前循环。 例 猜体重

program ex0607 implicit none

real, parameter :: weight=45.0 real, parameter :: error=0.0001 real :: guess = 0.0

do while( .true. ) !循环条件永远成立 write(*,*) \ read(*,*) guess

if ( abs(guess-weight)

write(*,*) \ stop end

4.3.2 署名的循环

循环署名可以在编写程序时,明确知道END DO这个描述的位置是否正确。

program ex0609 implicit none integer :: i,j loop1: do i=1,3 loop2: do j=1,3

if ( i==3 ) exit loop1 ! 跳离loop1循环 if ( j==2 ) cycle loop2 ! 重做loop2循环 write(*, \ end do loop2 end do loop1 stop

31

数值分析程序设计——Fortran基础

end

4.4 循环的应用

循环是程序编写时不可缺少的工具之一。下面通过几个实例,说明循环的使用方法。

例1 计算等差数列1+2+3+4+…+99+100 program ex0610 implicit none integer counter integer :: ans = 0 do counter = 1, 100 ans = ans + counter end do write(*,*) ans stop end

执行结果:5050

例2 计算Fibonacci数列。费氏数列的规则为:fn?fn?1?fn?2。

program ex0611 implicit none integer counter integer :: fn_1 = 1 integer :: fn_2 = 0 integer :: fn = 0 write(*,*) fn_2 write(*,*) fn_1 do counter = 3, 10 fn = fn_2 + fn_1 write(*,*) fn

32

f0?0,f1?1,当n?1时

搜索更多关于: Fortran语言基础 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

山东建筑大学 do k=1,10 {程 序 代 码} end do end do end do DO循环有明确的循环次数,在已知需要循环的次数时使用。若事先无法知道循环的次数,采用下面的循环方式。 4.2 DO WHILE循环 语法: do while (逻辑表达式) 循环体 end do 例 利用循环计算2+4+6+8+10 program ex0604 implicit none integer, parameter :: limit=10 ! 计数器的上限 integer counter ! 计数器 integer :: ans = 0 ! 拿

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com