fortran判断语句
- 格式:docx
- 大小:3.96 KB
- 文档页数:6
fortran if语句
逻辑数据类型:TRUE、FALUE。
逻辑常数:.TRUE.、.FALUE.数值的两边需要有句点以区别于变量名。
逻辑变量:保存逻辑数据类型数值的变量。
声明方式:与算术计算相似,逻辑计算是用赋值语句来完成的,其形式为:等号右边的表达式可以是任何有效的逻辑常量、逻辑变量和逻辑运算符的组合。
逻辑运算符是数字、字符或逻辑数据的运算符,产生逻辑结果。
逻辑运算符有两种基本类型:关系运算符和组合运算符。
运行示例:关系运算
符在所有的算术运算符计算之后才计算。
在操作级别中,组合逻辑运算符是在所有的算术运算和所有的关系运算计算完之后才进行计算。
表达式中运算符的计算顺序如下:与算术运算符一样,圆括号可以用来改变默认的计算顺序。
分支是允许跳过其他代码段而选择执行特定代码段(称为程序块)的Fortran语句。
主要有IF语句和SELECT CASE结构。
IF结构块的形式:注意:结构形式:可以给IF结构块一个指定名称。
形式为:注意:上述IF结构块还有另一种可供使用的形式。
它只是单条语句,形式是:逻辑IF 语句这种形式与在IF块中只带有一个语句的IF结构块等价。
SELECT CASE结构是分支结构的另一种形式。
一般形式:注意:由于四舍五入误差会引起应该相等的两个变量在测试相等性时失败的问题,所以取代的方法是,应注意在IF结构中将测试实数变量的相等性问题改为测试近似相等性。
LOGICAL语句是一种类型声明语句,声明逻辑数据类型的变量。
LOGICAL变量的数值可以在声明时初始化。
Fortran语⾔基本语法a、Fortran 之基本规定:在Fortran的规定中,程序的开始需先宣告变量形式,接着才能⽤这些变量来写程序内容,再整个程序中的第⼀⾏必须空⽩,除⾮键⼊英⽂字母c或*⽤以表⽰那⼀列为说明项⽽⾮实际之计算式⼦。
第⼆⾏⾄第五⾏为地址⾏,可⽤数字标⽰其地址,⽤以执⾏程序时控制之⽤。
第六⾏⽤以填⼊⼀个⾮零的数字或字母表⽰连结上⼀列的式⼦。
第7⾏⾄72⾏则为程序主体之所在,若不⼩⼼在72⾏之后键⼊程序Fortran将不于理会。
再程序的最后⼀列⽤ end命令告知程序终了。
b、变量(Variable)Fortran语法中的变量相当于函数上变量,但其种类则更多,举凡复数(complex)、整数(integer)、实数(real)、逻辑(logical)和字符串(character)等等。
对于变量的规定是变量的第⼀个字母为英⽂字母,其长度最长为6个字,除刚刚说的第⼀个字之外,其余的可为数字或字母,以下为⼏个简单范例: Integer count,pg1real time,po2pc、运算符号与内定函数:Fortran 基本的运算符号如下:+加法;-减法;*乘法;/ 除法**平⽅;**(n) n次⽅除了上列之基本运算符号之外,数值计算上常⽤之函数如三⾓等等亦以写成内定含式,常⽤的以下⼏项:log 对数函数;exp 指数函数;sin、cos、tan、cot、sec和csc等三⾓函数;abs 绝对值;asin、acos、atan、acot、asec和acsc等反三⾓函数。
D、控制结构:结构化Fortran有⼀些控制的结构,关系控制即是其中之⼀种,⽤以⽐较两变量之间关系,包含有:.lt. 表⽰⼩于.gt. 表⽰⼤于.eq. 表⽰等于.le. 表⽰⼩于或等于.ge. 表⽰⼤于或等于.ne. 表⽰不等于另⼀种重要的控制为逻辑控制,包含有:.not. .not. p => 若p为⾮真则为真.and. p .and. q => p和q为真则为真.or. p .or. q => p或q其⼀为真则为真.eqv. p .eqv. q => p和q同为真或同为⾮真则为真.neqv. p .neqv. q => p或q之中⼀为真⼀为⾮真则为真e、输⼊与输出结构:> Fortran 经常会有⼀些数值需要输⼊或计算的值需要输出,这时 Fortran 便提供了⼀些格式码好让使⽤者将欲输⼊或输出的数值针对其变量的特性作较佳的安排设计,兹举例如下,其中输出之资料格式完全相同:a、write(*,10) i,j,k10 format (1x,2I5,I3)b、assign 10 to ifmt10 format (1x,2I5,I3)write (*,ifmt) i,j,kc、write (*,'(1x,2I5,I3)') i,j,kd、character*11 fmtchfmtch='(1x,2I5,I3)'write (*,fmtch) i,j,k其中X表⽰空格之意,1x即是空⼀格, write为输出的指令,若改为 read 则为输⼊指令,I为整数的格式码, 2I5 表⽰输出的总位数为五,⽽这样的格式重复两次,其余尚有不同之各种格式码,常⽤的有:1. F 格式码,⽤于实数变量,其⼀般型态为 rFw.d ,其中F表实数,r为重复次数,w为总位数,⽽d为⼩数字数。
1F O R T R A N77四则运算符+ - */ ** (其中**表示乘方)在表达式中按优先级次序由低到高为:+或-→*或/→**→函数→()2 FORTRAN77变量类型隐含约定:I-N规则凡是以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。
如IMPLICIT REAL (I,J)三种定义的优先级别由低到高顺序为:I-N规则→IMPLICIT语句→类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。
数组的说明与使用使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例:DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3)REAL IA(10),ND(80:99)使用隐含DO循环进行数组输入输出操作:例如WRITE(*,10) ('I=',I,'A=',A(I),I=1,10,2)10FORMAT(1X,5(A2,I2,1X,A2,I4))使用DATA语句给数组赋初值变量表中可出现变量名,数组名,数组元素名,隐含DO循环,但不许出现任何形式的表达式:例如DATA A,B,C/,,DATA A/,B/,C/DATA A,B,C/3*CHARACTER*6 CHN(10)DATA CHN/10*''/INTEGER NUM(1000)DATA (NUM(I),I=1,500)/500*0/,(NUM(I),I=501,1000)/500*1/3 FORTRAN77程序书写规则程序中的变量名,不分大小写;变量名称是以字母开头再加上1到5位字母或数字构成,即变更名字串中只有前6位有效;一行只能写一个语句;程序的第一个语句固定为PROGRAM 程序名称字符串某行的第1个字符至第5个字符位为标号区,只能书写语句标号或空着或注释内容;某行的第1个字符为C或*号时,则表示该行为注释行,其后面的内容为注释内容;某行的第6个字符位为非空格和非0字符时,则该行为上一行的续行,一个语句最多可有19个续行;某行的第7至72字符位为语句区,语句区内可以任加空格以求美观;某行的第73至80字符位为注释区,80字符位以后不能有内容。
fortran find函数摘要:1.Fortran 中的find 函数2.find 函数的基本语法3.find 函数的用法示例4.find 函数的注意事项正文:Fortran 中的find 函数是一种用于在数组中查找指定元素的函数,其功能类似于C 语言中的strcmp 函数。
find 函数可以用于比较数组中的元素,并返回指定元素在数组中的位置。
一、find 函数的基本语法find 函数的基本语法如下:```find(c1, c2,..., cn) = index```其中,c1、c2、...、cn 是要在数组中查找的元素,index 表示指定元素在数组中的位置,如果指定元素不存在于数组中,则返回0。
二、find 函数的用法示例下面是一个简单的find 函数用法示例:```fortranprogram find_exampleimplicit noneinteger :: a(5) = (/ 1, 2, 3, 4, 5 /)integer, dimension(5) :: index = (/ 0, 0, 0, 0, 0 /)integer :: search_value = 3do index(i) = 1, size(a)if (a(index(i)) == search_value) thenprint *, "找到值", search_value, "在数组的位置", index(i)end ifend doend program find_example```在这个示例中,我们定义了一个整型数组a,并初始化了一个与a 同大小的指数数组index,将其所有元素初始化为0。
然后,我们用一个循环遍历数组a,如果发现数组中的元素等于搜索值3,就输出该元素在数组中的位置。
三、find 函数的注意事项在使用find 函数时,需要注意以下几点:1.find 函数比较的是数组中的元素,而不是数组名。
程序是软件的主要表现形式。
程序设计是软件实现的主要手段。
程序设计语言是程序设计的基本工具。
算法的特征:①有穷性②确定性③可执行性④输入的数据大于等于0 ⑤至少有一个数据输出[数据]合法字符:a~z,A~Z,0~9,22个特殊字符[名称]标识符:字母,数字,下划线,$ (起始字符必须是英文字母)续行符[&] 首行末有一只,拼接次行的语句;首行末有一只,次行起有一只,拼接函数。
整数类型:Integer(1) [ 字节数1 ] integer(2)[ 短整型,字节数2 ]Integer [ 长整型,字节数4 ] integer(8)[ 字节数8 ]3.12e+2 = 0.312E3 = 3.12×10²4654_1/2/4/8符号常量Parameter (标识符=常量,n=5,…)变量:整数型integer x,y,z短整型integer(2)::a=1,b字符型character*6 name实数型real*8 c,d,e隐含说明implicitImplicit real(a,b,f),integer(e,g)Implicit integer(a-e)强制说明>隐含说明>隐含约定(I-N规则)[结束]end [终止]stop [断点]pause逻辑运算优先级.not.>.and.>.or.>.eqv. .neqv. .xor.表达式:条件语句then、else、case…为执行语句块IF语句:if (表达式) then< then语句体>else< else语句体>endif多分支IF语句if (表达式e1) then< then语句体1>else if (表达式e2) then< else语句体2>else< else语句体>endif块IF结构的嵌套此处省略很多字……块CASE结构select case(oper) 用于判断的表达式case(`+`)c=a+bcase(`-`)c=a-bcase(`*`)c=a*bcase(`/`)c=a/bcase defaultwrite(*,`输入运算符不正确`)end select循环结构DO循环do i=1,10,1print *,`HELLO`,i,`次`enddoendDO循环的嵌套do i=1,3do j=1,3print *,i,jenddo隐含DO循环结构print *,(i,i=1,10,2) print *,((`a`,`b`,i=1,3)j=1,2)end endDO WHILE循环结构[直到型循环]integer fi=1f=1do while(i<=5)f=f*ii=i+1enddoprint *,`5!=`,fendexit的功能是“跳出”,可在循环内任意地方出现,碰到后即跳出循环,执行enddo以后。
不要把两个独立的程序文件放入同一个Project中,否则会导致编译过程的出现错误。
不区分大小写,小写字母会被视为大写。
有自由格式(.F90)和固定格式(.F/.FOR)两种,建议用.F90。
运算符+-*、**(乘幂,两个星号要连续)比如2的2次方要写成2**2。
注意括号的使用,如((A+B)*(C+D))/(2*(E+F)),不要漏掉。
乘号不能省略,2*A不能写成2A。
Program描述开头,后面接自定义的程序名称。
想不出名称建议使用MAIN。
程序最后END。
STOP程序结束。
连续两个双引号可以打出一个双引号。
!后面是注释,最后&,下一行与这一行连接;开头是&,与上一行连接。
同一个单次也可以用&分在两行。
空格无意义。
每行132个字符。
数据类型:整型INTEGER、浮点数REAL、复数COMPLEX、字符CHARACTER、逻辑判断LOGICAL 1代表TRUE,0代表FALSE。
可以integer a; a=2*3+1 a=一个表达式,若a=3/2 会得到1,因为整型会舍去小数部分。
Integer (kind=2) a 或者integer*2 a或者integer(2) a短整型integer (kind=4) a 长整形integer a,b,c同时声明多个。
Real(kind=4) b 单精度浮点数,Real(kind=8) b 双精度浮点数,单精度有效位数为6-7位,双精度为15-16位,精确到时候应使用双精度。
注意:real a;a=2.5+3/2会得到3.5,因为3/2被当成了整型,应改成a=2.5+3.0/2.0保证被当成浮点数而不是整型来处理。
单精度浮点数用E,2.5E11表示2.5乘以10的11次方。
双精度浮点数用D,2.2D3=230字符character(len=10) character(10) character*10 a 申明字符数为10的字符串。
fortran条件判断语句FORTRAN条件判断语句FORTRAN是Fortran程序设计语言的缩写,是一种专门用于科学计算和工程计算的高级程序设计语言。
它具有许多特性,如基本语法,语句,变量,运算符,函数等。
其中,FORTRAN条件判断语句是比较常用的。
1.IF条件判断语句IF语句是FORTRAN中最常用的条件判断语句,它的格式如下: IF (测试表达式) then语句1else if (测试表达式) then语句2else语句3END IF其中,测试表达式可以是任意逻辑表达式,如比较表达式、逻辑表达式等。
在执行IF语句之前,FORTRAN会对测试表达式进行计算,如果测试表达式的值为真,则执行语句1,否则,继续判断else if 子句中的测试表达式,如果结果为真,则执行语句2,如果都不为真,则执行语句3。
2.SELECT CASE条件判断语句SELECT CASE语句也是FORTRAN中比较常用的条件判断语句,它的格式如下:SELECT CASE(表达式)CASE(值1)语句1CASE(值2)语句2...END SELECT其中,表达式可以是任意数值表达式,当程序执行SELECT CASE 语句时,FORTRAN会先计算表达式的值,然后把表达式的值与CASE子句中的值进行比较,如果相等,则执行该CASE子句中的语句,否则继续比较下一个CASE子句的值,直到找到一个相等的值,然后执行对应的语句,如果没有找到相等的值,则继续执行程序后面的语句。
这些FORTRAN条件判断语句是FORTRAN程序设计中非常重要的一部分,掌握它们能够更有效地编写FORTRAN程序,提高程序的运行效率。
fortran中logical result用法-概述说明以及解释1.引言1.1 概述Fortran是一种编程语言,早在上世纪50年代就开始使用。
它是一种面向科学计算的高级程序设计语言,被广泛应用于数值计算和科学工程领域。
在Fortran中,logical result是一种逻辑类型的数据,用于表示真或假的值。
通过使用logical result,我们可以在程序中进行逻辑判断和控制流程。
在本文中,我们将重点讨论在Fortran中如何定义和使用logical result,以及一些需要注意的事项。
通过深入了解logical result的概念和用法,我们可以更好地理解Fortran程序中的逻辑运算和条件控制,从而提高程序的可读性和可维护性。
Fortran中logical result的正确使用对于编写高效且准确的程序至关重要。
1.2 文章结构本文将围绕Fortran中logical result的用法展开讨论。
首先,我们将介绍logical result的定义,包括其在Fortran中的基本概念和特点。
接着,我们将详细探讨logical result在实际编程中的应用场景和使用方法。
最后,我们将总结讨论logical result的注意事项,帮助读者更好地理解和应用这一概念。
通过本文的阐述,读者将能够全面了解Fortran中logical result的特点和用法,为其在编程实践中提供指导和帮助。
1.3 目的:在本文中,我们的主要目的是探讨Fortran中logical result的用法。
通过深入研究logical result的定义、用法及注意事项,我们希望读者能够更加全面地了解如何正确地在Fortran程序中应用logical result,并避免常见的错误和误解。
通过本文的阐述,读者将能够清晰地掌握logical result的概念,提高程序的准确性和效率。
同时,本文也旨在帮助读者进一步探索Fortran编程语言的深度,拓展编程技能,提升编程水平。
fortran data用法-回复Fortran是一种编程语言,最初是为科学和工程计算而设计的,因此在处理大量数据时非常高效。
其中之一就是使用Fortran来处理数据,也就是Fortran data用法。
在本文中,我将为您详细介绍Fortran data的用法以及如何一步一步使用它来处理数据。
第一步:数据输入在Fortran中,要处理的数据需要首先被输入。
可以使用Fortran的READ 语句从外部文件中读取数据。
下面是一个示例:program data_processingimplicit noneinteger :: i, nreal :: data(100)! 打开并读取数据文件open(1, file='data.txt', status='old')read(1, *) n ! 读取数据数量do i = 1, nread(1, *) data(i) ! 逐行读取数据end doclose(1)! 数据处理代码...end program data_processing在上述示例中,我们首先声明了一个整数变量n和一个实数数组data。
然后使用OPEN语句打开名为"data.txt"的文件,并使用READ语句读取文件中的数据。
首先读取数据的数量n,然后使用循环逐行读取数据存储到数组data中。
第二步:数据处理Fortran提供了许多内置函数和操作符,可以用于对数据进行各种处理。
例如,你可以使用DO循环对数据进行迭代计算,使用IF语句进行条件判断等。
下面是一个示例来展示如何对数据进行求和和均值计算:program data_processingimplicit noneinteger :: i, nreal :: data(100), sum, mean! 数据输入代码...! 计算求和和均值sum = 0.0do i = 1, nsum = sum + data(i) end domean = sum / n! 输出结果print*, "总和:", sumprint*, "均值:", meanend program data_processing在这个示例中,我们首先声明了一个实数变量sum和mean,用于存储求和和均值的结果。
fortran判断语句
Fortran是一种高级编程语言,主要用于科学计算和工程计算领域。
在Fortran中,判断语句是一种非常重要的语言结构,它可以根据条件的真假来执行不同的操作。
本文将介绍Fortran中常用的十种判断语句,帮助读者更好地掌握该语言。
1. IF-THEN语句
IF-THEN语句是Fortran中最基本的判断语句,它的语法如下:
IF (condition) THEN
statement block
END IF
其中,condition是一个逻辑表达式,如果为真,则执行statement block中的语句,否则跳过该语句块。
2. IF-THEN-ELSE语句
IF-THEN-ELSE语句是IF-THEN语句的扩展版本,它的语法如下:
IF (condition) THEN
statement block 1
ELSE
statement block 2
END IF
其中,如果condition为真,则执行statement block 1中的语句,否则执行statement block 2中的语句。
3. IF-THEN-ELSEIF语句
IF-THEN-ELSEIF语句可以实现多重条件判断,它的语法如下:
IF (condition 1) THEN
statement block 1
ELSEIF (condition 2) THEN
statement block 2
ELSEIF (condition 3) THEN
statement block 3
...
ELSE
statement block n
END IF
其中,如果condition 1为真,则执行statement block 1中的语句;如果condition 2为真,则执行statement block 2中的语句;以此类推,最后如果所有的条件都不为真,则执行statement block n中的语句。
4. SELECT CASE语句
SELECT CASE语句是一种更为灵活的判断语句,它的语法如下:
SELECT CASE (expression)
CASE (value 1)
statement block 1
CASE (value 2)
statement block 2
CASE (value 3)
statement block 3
...
CASE DEFAULT
statement block n
END SELECT
其中,expression是一个表达式,value 1、value 2等是表达式的取值,如果expression的值等于某个value,则执行相应的statement block中的语句;如果所有的value都不匹配,则执行CASE DEFAULT中的语句。
5. WHERE语句
WHERE语句可以将一个数组中符合条件的元素赋值给另一个数组,
它的语法如下:
WHERE (condition)
array 1 = array 2
END WHERE
其中,condition是一个逻辑表达式,如果为真,则将array 2中符合条件的元素赋值给array 1。
6. FORALL语句
FORALL语句可以对数组中的元素进行操作,它的语法如下:
FORALL (i = 1:n, j = 1:m, ...)
array(i,j,...) = expression
END FORALL
其中,i、j等是数组的下标,n、m等是数组的维数,expression 是一个表达式,对数组中的每个元素执行相同的操作。
7. DO WHILE语句
DO WHILE语句可以实现循环操作,它的语法如下:
DO WHILE (condition)
statement block
其中,condition是一个逻辑表达式,如果为真,则执行statement block中的语句,然后再次判断condition的值;当condition的值为假时,跳出循环。
8. DO UNTIL语句
DO UNTIL语句与DO WHILE语句类似,只是循环条件相反,它的语法如下:
DO UNTIL (condition)
statement block
END DO
其中,condition是一个逻辑表达式,如果为假,则执行statement block中的语句,然后再次判断condition的值;当condition的值为真时,跳出循环。
9. EXIT语句
EXIT语句可以在循环中跳出循环,它的语法如下:
DO WHILE (condition)
statement block
IF (exit condition) EXIT
其中,exit condition是一个逻辑表达式,如果为真,则跳出循环。
10. CYCLE语句
CYCLE语句可以跳过循环中的某个迭代,它的语法如下:
DO WHILE (condition)
IF (skip condition) CYCLE
statement block
END DO
其中,skip condition是一个逻辑表达式,如果为真,则跳过当前迭代,执行下一个迭代。
以上是Fortran中常用的十种判断语句,读者可以根据需求选择合适的语句。
除了以上语句外,Fortran还有其他语句可供选择,如ASSOCIATE语句、BLOCK IF语句等,读者可以参考Fortran语言手册进行学习。