有段fortran源程序代码谁能帮我解释下啊,看不懂呢。无限感激啊

有段fortran源程序代码谁能帮我解释下啊,看不懂呢。无限感激啊,第1张

看起来是什么专业性的求值,没有太难的句子,你耐下心读一读就好。

以下是我大体看了一遍的理解:

common 是公共块,让主程序和子程序共享数据。

data 给变量赋初值,把前面的一串变量分别赋成后面的数值。

提前打开dat文件。

从屏幕读入一个值kg。

做一个判断。

分别调用三个子程序,结束主程序。

output子程序:

主要是求值,做判断,把结果写入之前打开的dat中。

subh子程序:

求值。

subp子程序:

除了一个goto之外都是普通的求值,goto其实也很好理解。

我不知道变量名代表什么,所以看起来只是一堆求值;对你来说这些变量都是有意义的,才能看出是想干嘛。

  1、fortran是高级语言,从fortran2003以后,可以用面向对象的编程思想去写fortran程序。面向对象只是一种编程思想,fortran是一种编程语言,能够给这种思想提供一种平台。

 2、fortran语言是FormulaTranslation的缩写,意为“公式翻译”。它是为科学、工程问题或企事业管理中的那些能够用数学公式表达的问题而设计的,其数值计算的功能较强。

 3、fortran语言是世界上第一个被正式推广使用的高级语言。它是1954年被提出来的,1956年开始正式使用,直到2014年已有六十年的历史,但仍历久不衰,它始终是数值计算领域所使用的主要语言。

#include<stdioh>

#include<stdlibh>

main(){

FILE fin,fout;

char namein[64],nameout[64];

int a,b,c,d;

printf("\007Enter input file name\n");

scanf("%s",namein);

printf("Enter output file name\n");

scanf("%s",nameout);

fin=fopen(namein,"r");

fout=fopen(nameout,"w");

fscanf(fin,"%d %d %d %d",&a,&b,&c,&d);

fprintf(fout,"%d %d %d %d\n",a,b,c,d);

fclose(fin);

fclose(fout);

return 0;

}

/

character64 namein, nameout

integer4 a,b,c,d

write(,) char(127),char(7)

write(,) 'Enter input file name'

read(,'(A)') namein

write(,) 'Enter output file name '

read(,'(A)') nameout

open(unit=1,file=namein,status='old')

open(unit=2,file=nameout,status='unknown')

read(1,'(1I5,1I5,1I5,1I5)') a,b,c,d

write(2,'(1I5,1I5,1I5,1I5)') a,b,c,d

close(1)

close(2)

end

/

常用的Compaq Visual Fortran或者Intel Fortran都可以用命令行编译方式。

Compaq用dfexe命令编译,Intel用ifort命令编译(如果用集成环境会自动调用),最简单的方式是“df或ifort fortran源程序名称”,比如

df af90

如果不在编译程序的路径下编译,需要把编译程序放入搜索路径,并在编译时指定头文件和库文件的位置。

如果是Compaq的Fortran会有一个DFVARSBAT的批处理,是为命令行编译设置环境变量的,Intel的Fortran是ifortvarsbat。

VS和FORTRAN是两个不同的软件,它们之间没有直接的关联。VS是微软公司开发的一款集成开发环境(IDE),主要用于开发Windows平台下的应用程序;而FORTRAN是一种编程语言,主要用于数值计算、科学计算、工程计算等领域。因此,它们的应用场景和功能是不同的,也不存在直接的关联。

不过,在某些情况下,我们可以使用VS来开发FORTRAN程序。例如,我们可以使用VS集成的Intel Fortran编译器来编译和调试FORTRAN程序。此外,VS还支持通过插件的方式集成其他的FORTRAN编译器,例如GNU Fortran等。

总之,虽然VS和FORTRAN之间没有直接的关联,但是在某些情况下它们可以协同工作,提高开发效率和程序运行效果。

1我的测试结果,是在windows下执行效率快。我是用同样的Intel Fortran编译器进行测试的。优化参数也都一样。在windows下大约能快20%。在windows下用Compaq Fortran也是比Linux下用Intel Fortran快。原因不知道。正在猜想ing。2无论什么平台的Fortran编译器,对于标准Fortran的语法之类的都是一样的。如果你都是遵循标准来写的话,两者是完全一样的。注意:在IBM UNIX下面的XLF编译器,对语法要求比较严格,写的时候要注意。其余像Intel Fortran(Linux和windows)和Compaq Fortran(windows)并没有多大差别。另外注意:DOS文件格式(windows其实采用的也是DOS文件格式)和UNIX文件格式不是很一样,这个主要是指每行的行末的标识符不一样,这样在移植的时候,要注意一下。3对于Intel Fotran来说,都是命令行来执行编译等命令的,在何种平台都是一样的;而windows下的compaq fotran是在集成环境中,可以鼠标操作的,地学用惯了windows,因此可能会感觉在windows下可操作性比较容易些。

欢迎分享,转载请注明来源:表白网

原文地址:https://h5.hunlipic.com/biaobai/4044951.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-04-12
下一篇2024-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存