×

fortran完全自学手册

fortran完全自学手册(Fortran菜鸟一个,一个简单的程序 竟然有31个错误,求大神指教)

admin admin 发表于2024-06-06 13:58:03 浏览13 评论0

抢沙发发表评论

大家好,关于fortran完全自学手册很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于Fortran菜鸟一个,一个简单的程序 竟然有31个错误,求大神指教的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

本文目录

Fortran菜鸟一个,一个简单的程序 竟然有31个错误,求大神指教

确实写的一塌糊涂,真不是一两句话就能给你说请的。鉴于你的情况,下面给你一些基本的建议。 1、永远不要想一口吃个胖子。许多初学者都爱犯一个错误,就是想一口气从头写到尾,这是非常错误的编程习惯。再优秀的程序员,写程序也是一步一步写的,因为程序设计遵从的是严格的逻辑,所以你需要确保你第一个模块或者步骤写对了,再去写第二个的,而不是一口气写完,这样再去查报错原因会花费额外的大量的时间。 2、认真看报错,除非你是个女生。不看报错内容这种情况,一般大多发生在女生身上,这个经我多年经历好像确实也没什么办法。但报错其实大多都是英文大白话,如果没有耐心看的话是没法调试程序的。 3、你误解了fortran的子程序和函数。fortran和C语言族不同,fortran的子程序是subroutine,自定义函数是function,二者功能完全不一样。subroutine自身不能返回值,你也不能对它赋值。从你的程序看,你想使用的都是function而不是subroutine,具体用法请查阅资料和例子多看看。 4、你的程序中存在大量的重复定义的变量,这说明你并没有耐心的去查看自己写的程序。切记耐心是最基本的素质。 5、external不是你这种用法,多数情况下也用不到,就不要再用了。

FORTRAN完全自学手册的目录 第一篇概述篇

第1章Fortran概述1.1Fortran起源1 1.2Windows下Fortran编译器的使用21.2.1安装CompaqVisualFortran21.2.2创建第1个Fortran工程31.2.3在Fortran工程中添加源代码51.2.4在Fortran工程中新建源文件71.2.5在CompaqVisualFortran中编译源文件81.3Linux下常见的Fortran编译器101.4常见编译器性能比较121.5常用编译器121.5.1UltraEdit131.5.2ZionEdit141.5.3gEdit151.6第1个Fortran程序—Hello!Fortran90/9516

fortran中epsilon函数

fortran中epsilon函数,是一个查询函数:返回一个与表示实数类型数值相比几乎可以忽略不计的、尽可能小的正实数。使用例子:x=EPSILON (x)write(*,*) xendx必须是实数或者双精度实数变量,也可以是这两个类型的数组。默认情况下,x的类型为real*4,输出的结果为: 1.1920929E-07;若x类型为real*8,则输出的结果为: 2.220446049250313E-016。epsilon函数的实际用途:一个是用来确定最小的递增(递减)量,比如牛顿法解方程;因为,递增(递减)量小于epsilon返回值时,时间变量没有变化,无法实现递增(递减)。另一个是用来确定实数计算中,判断“相等”的条件,即两数相差小于epsilon返回值的一定倍数时,视作“相等”。因此,实数在计算机硬件层的表达是有误差的,不能完全精确表达,两数“相等”是一个相对概念,必须通过 abs(a-b) 《 x 来进行判定。x可以取 10*epsiloon(x)。上述回答,供参考。

怎么编译运行这个fortran语言编译的程序

入门fortran像入门其他所有语言一样,从最简单的装软件开始

【0】装软件

初学建议直接cbfortran,windows版本还自带mingw编译器,支持f77f95f2003,也不大,而且开箱即用,安装之后新建项目然后F5就Helloword了。

非常适合小东西,写个小计算单机跑跑之类的合适

然而,终究,学fortran就是为了速度,而mingw编译器本省优化是不足的,所以还是要装vs+parallelstudio。用ifort编译会有mkl和mpi支持。但是安装起来比codeblocks麻烦多了

【1】变量,算符,代数运算,矩阵运算

这个推荐一个小repo,里面有很多小例子,结合书上讲的内容

Pjer-zhang/fortran-examples

跑跑小例子,语法很快就好了

【2】并行

并行是fortran的终极目的,用fortran终究还是为了fortran的速度

fortran的并行有单机多线程并行openmp以及跨节点并行MPI,这个跨节点并行就要用到集群了

openmp【

Home

】是通过向程序中添加特殊注释符的形式来指示并行段的,这样在编译的时候如果添加flag那么最后程序跑的时候就会并行,如果不加这个flag那么久不会并行。

一个小例子:

【结语】

Fortran的能存在到今天完全是因为成吨的遗产代码,以及懒惰的研究生

不只是CFD,空间物理,计算等离子体,聚变数值计算等等这些学科里都有动辄几十万行的模式(大部分f77写的),这些模式只有模块介绍和对应的已发表paper,没有line-by-line注释,想要重构几乎没有可能,所以只能像黑盒一样调用。

我的原则是小规模的fortran遗产代码(10k行以下),重构到matlab或者如果性能需求很高的话就cuda/c。不能把毒瘤传给下一代

最后,科大有开Fortran的课的哇,7系开的,我还当过助教呢

fortran语言自学 用什么书好

我是看的彭国伦的书。你只要看了书,了解fortran的大概情况就可以了。具体写的时候再多翻翻书,自然就熟了。其实很多时候是要去熟悉所用的库。语言这个东西只是表达而已。我同学是上海天文台的,的确是用fortran。不过貌似用的是77,关键是77有很多实用的库。建议语言这种东西,多多实践。

怎么用fortran 90 编程 急

可以从这下载,迅雷ftp://159.226.47.3/pub/MathTool/Visual%20Fortran6.5/Visual%20Fortran6.5.rar然后安装就行了程序不大300多兆

Fortran 赋值语言数组的输入输出

INTEGER A(3,2) 声明A是 3列2行 的整型数组。READ(*,*) 。。。 从键盘以自由格式 输入数据。WRITE(*,100) 。。。 第一个参数是文件号/设备号,用 * 表示是 屏幕,第二个参数是格式语句标号,你这里 是指 100 FORMAT(1X,2I4)WRITE(*,*) 是向屏幕,按 自由格式(或叫默认格式)输出。A(10) 是 一维数组。是一字长蛇阵。含10个元素,下标 1 到 10A(3,2) 是 2维数组。是矩阵。 含 6个元素,3列2行。-----------WRITE(*,100)((。。。打印出:1 42 53 6WRITE(*,200)((打印出:1 2 34 5 6------------。。。((A(I,J),J=1,2),I=1,3) -- 这叫“隐做表”,实际上是双重循环语句。。。。((A(I,J),I=1,3),J=1,2) -- 这叫“隐做表”,实际上是另一个双重循环语句。

fortran中有关write的用法

1、write的基本意思是“写”,指用笔大方、庄重地记录一些东西。引申可表示“写信”,是日常用语。

2、write既可用作及物动词,也可用作不及物动词。用作及物动词时,可接名词、代词、动词不定式、动名词、that/wh-从句作宾语,也可接双宾语,其间接宾语可以转化为介词to的宾语,其直接宾语可以由名词充当,也可由that从句充当。

3、write还可接由名词、动词不定式充当补足语的复合宾语。

4、write可用于现在完成时,也可用于现在完成进行时,用于前者时必须接宾语,用于后者时可不接宾语。

5、write的过去分词written可用作形容词,在句中作定语。

扩展资料

近义词:copy

读音:英  

释义:抄写,誊写,模仿。

语法:copy作“抄写”解时,可用作及物动词或不及物动词。用作及物动词时,可接word,letter等名词作宾语,也可接以形容词充当补足语的复合宾语。copy作“模仿,仿效”解时,只用作及物动词,可指模仿人物的行为、思想或穿着打扮等。

例句:

It all started when she asked me if she could copy my homework. 

这一切起因于当她问我她是否可以抄写我的家庭作业开始的时候。

关于本次fortran完全自学手册和Fortran菜鸟一个,一个简单的程序 竟然有31个错误,求大神指教的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。