Fortran学习笔记4(循环语句)
来源:互联网 发布:淘宝卖家论坛在哪里找 编辑:程序博客网 时间:2024/05/03 01:59
Fortran学习笔记4
- Fortran学习笔记4
- 逻辑运算
- 循环
- Do语句
- Do-While循环
- 循环控制
- 循环应用实例
逻辑运算
if命令需要和逻辑运算表达式搭配才能起到很好的效果。下面分别列出Fortran90和Fortran77的逻辑运算符。
集合运算符
逻辑运算符的优先级高于集合运算符。
循环
循环的主要功能是精简代码!!!有两种格式,一种是固定循环n次,另一种是满足条件时循环。主要有两条语句,Do语句和Do-While语句。
请注意,循环并不一定要用循环语句才能实现。循环是一种将线状程序浓缩块状化的思想。是一种编程思想!!!!不是语句或者其他。
Do语句
语法如下:
do counter=initial,endnumber,increment ... ! counter计数器,从初始值开始,每循环一次加增量大小. ... ! endnumber计数器的终止,当计数器大于终止数时,循环停止 ... ! increment 增量数,每次循环,给计数器加一个增量数end do
在Fortran77中,会用行号来封装循环。
do 100 counter=initial,endnumber,increment ... ! counter计数器,从初始值开始,每循环一次加增量大小. ... ! endnumber计数器的终止,当计数器大于终止数时,循环停止 ... ! increment 增量数,每次循环,给计数器加一个增量数100 continue
do循环可以嵌套。
do i=1,n do j=1,n do k=1,n ... end do end doend do
Do-While循环
语法如下:
do while(rep) ...... ! 档rep为真时,一直执行循环体。 ......end do
循环控制
循环控制语句主要有CYCLE和EXIT。cycle命令可以略过循环程序模块中,cycle命令后面的所有程序代码,直接跳到循环的开头来进行下一次循环。exit的功能是直接跳出当前循环,不论是do循环还是do-while循环。
循环还可以取“名字”,这个用途是可以在编写循环时能明白的知道END DO这个描述的位置是否正确,尤其是在多层循环中,署名的循环也可以配合CYCLE、EXIT来使用。
循环应用实例
下面给出几个循环的简单实例:
实例1:计算Fibonacci sequences的前n项。)
program main implicit none ! input Fibonacci sequences real*8::f(100) integer::i,m print*,"Please input the number you love" read(*,*)m i=1 ! 数组置零,利用EXIT跳出循环 do while ( .true. ) f(i)=0 i=i+1 if(i>100) exit end do f(1)=0 f(2)=1 xunhuan: Do i=3,m,1 f(i)=f(i-1)+f(i-2) End Do xunhuan write(*,100)f(1:m)100 format(T5,'The Fibonacci sequence are : ',/,5(F15.2))end program
实例2:以循环来计算
program main implicit none real::sum=0 integer::i,j real*8::temp=1 outer: do i=1,10 inner:do j=1,i temp=temp*j end do inner sum=sum+1.0/temp temp=1 end do outer write(*,"(F6.3)")sumend program
实例3:做一个加密、解密程序。
该程序摘自彭国伦《Fortran95程序设计》一书(p113,程序EX0612),原程序在排版时出现了书写错误。该程序作了修改。
program main ! 定义变量 implicit none integer i integer strlen integer,parameter::key=2 character(len=60)::string ! 加密过程 write(*,*)"string:" read(*,"(A60)") string strlen=len(trim(string)) ! 取得字符串长度 do i=1,strlen string(i:i)=char(ichar(string(i:i))+key) end do write(*,"('encoded:',A60)")string ! 解密过程 do i=1,strlen string(i:i)=char(ichar(string(i:i))-key) end do write(*,"('string: ',A60)")string stopend program
0 0
- Fortran学习笔记4(循环语句)
- Fortran学习笔记(4)
- Fortran学习笔记(一)
- Fortran学习记录3(选择语句)
- VB.Net学习笔记(循环语句)
- VB.Net学习笔记(循环语句)
- Shell 学习笔记四(循环语句)
- Fortran学习笔记2(变量声明)
- Fortran学习笔记5(数组Array)
- Fortran学习笔记6(函数、子程序)
- Fortran学习笔记
- Fortran学习笔记(5)
- Fortran学习笔记(6)
- Fortran学习笔记(7)
- Python学习笔记4_选择语句与循环语句
- plsql学习笔记(条件语句和循环语句篇)
- AppleScript学习笔记(四)条件语句和循环语句
- python 学习笔记(2) 条件语句与循环语句
- Android、Java中16位及32位MD5加密算法工具类,直接使用!!!
- HDOJ 1272 小希的迷宫
- monkeyrunner 理论知识
- 动画结束后保存状态
- Java线程池架构原理和源码解析(ThreadPoolExecutor)
- Fortran学习笔记4(循环语句)
- 路由和网关
- 内存管理
- 我工作5年了
- Installing CUDA Toolkit 7.5 on Ubuntu 14.04 Linux
- tjut 1285
- ACM之Java输入输出
- 基于HTML5之APP微信支付集成实现
- org.eclipse.graphiti.ui.editor.DiagramEditorInput.<init>(Lorg/eclipse/emf/common/util/URI;Ljava/lang