fortran语言还有人用吗 common中的变量如何变化

看不懂fortran语言中的common语句,请高手指点,急啊!!!_百度知道
看不懂fortran语言中的common语句,请高手指点,急啊!!!
本人是个菜鸟,common后的块的定义实在是看不懂,请高手给详细讲解下,就用下面的例子,不胜感激。common/c/ie(200,3),ek(6,6),d(3,3),s(3,6)/c2/zz(500,20),p(500)...
本人是个菜鸟,common后的块的定义实在是看不懂,请高手给详细讲解下,就用下面的例子,不胜感激。common/c/ie(200,3),ek(6,6),d(3,3),s(3,6)/c2/zz(500,20), p(500)
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
common是不同子程序或者函数之间建立公共块的语句。你随便找本书都能找到。common是f77中的命令,f90也保留了,但是更多的用module上面句子的意思是:建立公共块名分别为c和c2的两个公共块,块c中有四个数组,块c2中有两个数组,两个子程序中定义块的名字必须相同,里面的变量名不一定相同,但是类型要一致。就是共享数据,任意程序中都可以读写这几个数据。
你好哦楼主~ 很高兴看到你的问题。 但是又很遗憾到现在还没有人回答你的问题。也可能你现在已经在别的地方找到了答案,那就得恭喜你啦。 可能是你问的问题有些专业了,没人会。或者别人没有遇到或者接触过你的问题,所以帮不了你。建议你去问题的相关论坛去求助,那里的人通常比较多,也会比较热心,能快点帮你解决问题。 希望我的回答能够帮到你! 祝你好运。。。。。。。。
本回答被网友采纳
1条折叠回答
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。关于fortran common转化为module的问题_百度知道
关于fortran common转化为module的问题
这是common.h里的程序IMPLICITREAL*8(A-H,O-Z)include'parameter.h'commonAA(3,NPART),BB(3,NPART)commonFF(NPART),GG(NPART),HH(NPART)commonCC(mm2+1),iatomJJ(mm2,NPART)commonPP(...
这是common.h里的程序IMPLICIT REAL*8 (A-H,O-Z) include 'parameter.h' common AA(3,NPART),BB(3,NPART) common FF(NPART),GG(NPART),HH(NPART)common CC(mm2+1),iatomJJ(mm2,NPART)common PP(mm2),QQ(mm2怎么把它转化为module的格式
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
来自电脑网络类芝麻团
采纳数:1461
获赞数:6120
参与团队:
module modulenameimplicit noneinclude 'parameter.h' !最好把这个也改成module,然后use就行了real(kind=8) :: AA(3,NPART)....end module modulename
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Fortran中的字符
A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,0,1,2,3,4,5,6,7,8,9,+,-,*,/,(z左括号),(右括号),(撇号),(逗号),(小数点),(空格)
Fortran中的常量
Fortran语言中有6种常量:整型常量、实型常量、双精度型常量、复型常量、逻辑型常量、字面常量。
整型常量没有误差。
实型常量有小数形式 和指数形式两种。小数形式有(10. ),(10.1), (.11)这三种形式。指数形式1.2E4.
双精度形式用指数表示,1.2D4。双精度常量0表示为:(0.0D0),(0.D0)
复型常量(-4.2,2.3)表示-4.2+2.3i;复型常量在内存中占两个实型常量的内存。实部和虚部各占一个。
双精度复型常量,实部和虚部都是双精度的实数。(1.44D+1,0.D0)
逻辑型常量:(.ture.),(.false.);逻辑型常量占内存的一个存储单元。
字面常量:Fortran规定字面常量中字符的个数不得大于计算机一个内存单元所能存放的最大字符的个数,在满足这个条件的时候,字面常量在内存中靠左存放,后面跟空格。字面常量的形式为:
4Hx1x2?xn????????????n
Fortran中的变量
Fortran中的变量其实指的是内存中的一块存储单元,变量名是这块单元的名称(地址标记),在参加运算的时候,只能是内存中的数值或者内存的地址参加运算,内存本身不参加运算。可以理解如下:变量就是一间屋子,变量名就是房间编号,这间屋子今天可以住这个人,明天可以住那个人,但是同一时间只能有一个人住在房子里面。所以,任何时候,房子里的状况都是清楚地,住了人,是哪一个人,或者没有住人。这些信息对于店主(程序员)都是很清楚地。
对于房间的命名——变量名的命名,Fortran要求第一个必须是字母,后面紧跟字母或数字组成的6个以内的字符串。在Fortran中,变量不但有名,而且有不同的类型。有整型变量、实型变量、双精度型变量、复型变量、双精度复型变量、逻辑型变量。(共6种)
Fortran的I-N规则
Fortran规定变量的第一个字母是I-N中的字母时,该变量为整型变量,其他字母时为实型变量。这是隐性说明的。可以通过implicit none语句去掉这条规则。
:integer y1,xvar,e47b
双精度型变量
:double precision
双精度复型变量
:double precision complex
逻辑型变量
Fortran中的有效位数
单精度浮点数的有效位数为6位。双精度浮点数的有效位数为15位。
整型在Fortran中是严格精确地储存的。
Fortran中的申明
申明就是指在程序代码中,程序员向编译器要求预留一块存放数据的内存空间。
有下面面的三种方式来申明整型变量
integer(kind=4) a
! Fortran 90添加
integer(4)
! fortran77
! fortran77
下面是申明字符变量的方法
character(len=10) a
! fortran90
character(10)
! fortran90
character*10
! fortran90
character*(10)
! fortran90
Fortran申明时要注意的原则
变量名可使用字母,数字,下划线,但是开首字符必须是字母
变量名的长度:Fortran77为6个字符,Fortran90为31个字符。
变量名要避开关键字,保留字和函数名。
Fortran程序不区分大小写。建议使用小写字母。
Fortran中的表达式
Fortran中有3类表达式:算术表达式、关系表达式、逻辑表达式
算数表达式的基本元素
常量、变量、数组元素、函数引用、运算符、括号。
Fortran中的算数运算符 有:+,-,,/,*
Fortran中的关系运算符:(.GT.)、(.GE.)、(.LT.)、(.LE.)、(.EQ.)、(.NE.)。Fortran规定关系表达式的两端数据类型必须一致。关系表达式的优先级低于算术表达式。
Fortran中的逻辑运算符:(.AND.)、(.OR.)、(.NOT.)优先级为:先.NOT.次.AND.后.OR.。
已知A=3.5,B=4.0,C=4.5,求:A+B.EQ.C.AND.B+C.GT.A-B
Fortran中的语句、注解、行和标行
Fortran语句有可执行语句和非执行语句
Fortran语句写在一行内,一行不能写几个语句。行是72个字符的序列。
Fortran的行分为:始行、续行、注解行、结束行。Fortran77规定有19个续行。注解行的开始写星号或者字母C。注释行不能插在始行和续行的中间。
Fortran规定在一行的前1-5列用1-5个数字的序列来标记,成为语句标号。
Fortran中的过程和过程引用
Fortran中过程包括函数和子程序。有四种过程:内在函数、语句函数、外部函数、子程序。
这部分的内容比较繁杂,等以后补充
Fortran语句详解
Fortran中的可执行语句:
算数、逻辑、字符赋值语句,语句标号赋值语句
无条件goto、赋值goto、计算goto语句
算数if和逻辑if
块if、else if、 else、end if语句
continue语句
stop和pause语句
read和write语句
rewind、backspace、endfile、open语句
call、return语句
Fortran中的非执行语句
program、function、subroutine语句
dimension、common、equivalence、implicit、external、intrinsic、save语句
integer、real、complex、logical语句
format语句
语句函数语句
说明语句是非执行语句,他们是:
DIMENSION语句
EQUIVALENCE语句
COMMON语句
INTEGER\REAL\COMPLEX\LOGICAL语句
IMPLICIT语句
EXTERNAL语句
INTRINSIC语句
类型语句的一边形式:
typ V[,v]...
COMPLEX COMPA,COMPB
REAL*8:: I(15,20,30),IJIM,NET
INTEGER:: AT(10,10,20),HIT,OTT(10,20)
LOGICAL SWITCH,CODE,LIGHT
DOUBLE COMPLEX Z12,23
CHARACTER[*LEN[,]]NAM[,NAM]...
IMPLICIT语句
Fortran标准中有一项看起来不太好的功能(个人之见),它的变量不经定义就可以使用,编译器会根据变量名的首字母来判断变量的类型。第一个字母是I、J、K、L、M、N的变量会被自动认为是整型变量,其他的变量会被认为是实数型。
implicit命令的功能是设置默认类型。如:
implicit integer(a,b,c)
!将以A,B,C开头的变量认为是整形变量
implicit real*8(a-z)
!将所有变量都认为是双精度实型变量
implicit none
!关闭默认类型功能,所有变量都要事先申明
Fortran中的格式控制
Fortran命令中可以使用很多的格式控制描述,下面列出了所有格式命令的表格,括号( [ ] )中的东西可以省略。
以w个字符宽度来输出字符串
定义文本框中的空位为没有东西,在输入时才需要使用
定义文本框中的空位代表0,在输入时才需要使用
以w个字符宽度来输出指数型的浮点数,小数部分占d个宽度
以w个字符宽度来输出指数型的浮点数,小数部分占d个宽度,指数部分占e个字符
以指数类型来输出浮点数
以w个字符宽度来输出浮点数,小数部分占d个宽度
以w个字符来输出任何类型的数据
以w个字符宽度来输出整数,最少输出m个数字
以w个字符宽度来输出T或F的真假值
把输出的位置向后跳n个位置
在没有更多的数据的时候结束输出
K值控制输入输出的SCALE
输出的位置移动到本行的第n列
输出的位置相左相对移动n个
输出的位置相右相对移动n个
在数字值为正时加上正号
把整数转换成二进制来输出,输出会占w个字符宽度,固定输出m个数字。m值可以不给定
把整数转换成八进制来输出,输出会占w个字符宽度,固定输出m个数字。m值可以不给定
把整数转换成十六进制来输出,输出会占w个字符宽度,固定输出m个数字。m值可以不给定
Fortran学习笔记2(变量声明)
Fortran 函数中单精度,双精度不匹配的错误
Fortran 整型變量(INTEGER)的類型
fortran 语言总结
没有更多推荐了,Fortran之COMMON语句_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&100W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Fortran之COMMON语句
&&Fortran之COMMON语句 用法详细介绍
阅读已结束,下载本文需要
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩5页未读,
定制HR最喜欢的简历
你可能喜欢当前位置:
&FORTRAN新手编译问题
FORTRAN新手编译问题
作者 科研是深沟
我的FORTRAN基础为0.。。。只会matlab
网上下了一个开源程序,FORTRAN写的,雪崩。。。
VS2012+IVF2013运行。搞了1一天没搞明白。
运行sln文件,并运行,总是失败
1&H:\nemoh-e4b\Common\Environment.f90(23): error #7002: Error in opening the compiled module file.&&Check INCLUDE paths.& &[ELEMENTARY_FUNCTIONS]
1&H:\nemoh-e4b\Common\Environment.f90(23): error #6580: Name in only-list does not exist.& &[CIH]
1&H:\nemoh-e4b\Common\Environment.f90(23): error #6580: Name in only-list does not exist.& &[SIH]
1&H:\nemoh-e4b\Common\Environment.f90(111): error #6406: Conflicting attributes or multiple declaration of name.& &[CIH]
1&H:\nemoh-e4b\Common\Environment.f90(112): error #6406: Conflicting attributes or multiple declaration of name.& &[CIH]
可是common文件下不是有相应的ELEMENTARY_FUNCTIONS.f90函数吗,为什么自己找不到?
请各位帮助!
有个包含 ELEMENTARY_FUNCTIONS 的module文件没有提供
引用回帖:: Originally posted by ecnufsy at
有个包含 ELEMENTARY_FUNCTIONS 的module文件没有提供 谢谢回复,可是这里里面common文件夹有ELEMENTARY_FUNCTIONS的f90文件,我应该怎么办,自己生成module文件吗,如何生成呢,
你看看里边有没有说明文档,是在Windows还是Linux下编译的。如果没有的话你看看你编译的时候是不是你这个文件没有进行编译,编译的话应该会有这个module产生,你执行的时候这个module应在你的执行程序文件夹下
24小时热帖
下载小木虫APP
与700万科研达人随时交流}

我要回帖

更多关于 fortran语言还有人用吗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信