绿叶网 LOGO

Fortran 在线编译器

关于 Fortran 在线编译器

只是想临时使用 Fortran 验证一下数组运算、循环、函数,或者临时测试一个数值计算公式,如果还要先安装编译器、配置环境、创建源文件再运行,多少有点折腾。尤其是第一次接触 Fortran 时,很多小伙伴连 .f90 文件该怎么编译都还没弄清楚,就已经先被环境配置绕晕了。

这时候直接使用咱们绿叶网的 Fortran 在线编译器就省事多了。打开页面写代码,点击运行就能看到结果,很适合新手边学边试,也适合平时快速验证一小段相对独立的 Fortran 代码。

Fortran 在线编译器怎么用?

页面上方就是咱们的 Fortran 在线编译器。使用方式很直接:写代码、运行、看结果,然后根据输出继续修改。

  • 编写代码:在编辑区输入或粘贴 Fortran 代码。
  • 运行代码:点击 “运行” 按钮,或者直接使用 Ctrl + Enter 快捷键。
  • 查看结果:程序运行后,在结果区域查看 print 等语句输出的内容。
  • 继续修改:如果出现语法错误或结果不符合预期,直接修改代码后再次运行即可。

我们来跑个小例子试试:准备一组成绩,直接使用 Fortran 的数组和内置函数计算总分、最高分以及及格人数:

program main
    implicit none

    integer :: scores(5) = [78, 92, 85, 66, 95]
    integer :: total
    integer :: passed

    total = sum(scores)
    passed = count(scores >= 60)

    print '(A,I0)', '总分:', total
    print '(A,I0)', '最高分:', maxval(scores)
    print '(A,I0)', '及格人数:', passed
end program main

运行结果如下。

总分:416
最高分:95
及格人数:5

像上面这种小代码,最适合使用在线编译器来验证。写完直接运行,不需要专门去建个本地项目。

Fortran 在线编译器适合哪些场景?

简单来说,Fortran 在线编译器就像是一个随时待命的 “代码草稿本”,主打一个 “写完就跑、不折腾环境”。它非常适合用于以下几个场景:

  • 新手入门练手:刚接触变量、循环或者函数?不需要一上来就费劲去安装配置本地编译器,打开网页就能直接敲代码,把精力全集中在学语法上。
  • 验证公式与数组:Fortran 是数值计算的老本行。想练练 sum()、maxval() 等数组函数,或者临时验证个数学公式、矩阵运算,随手写进去就能看结果,直观又快捷。
  • 局部代码 “化验” :遇到看不懂的复杂逻辑,或是接手了别人的 “祖传代码”,可以把里面相对独立的一小段剥离出来,放到线上单独跑一跑,方便快速摸清它的脾气。
  • 教学与讨论交流:老师上课演示,或者跟同学讨论报错,直接打开网页就能展示运行过程,沟通起来相当省事儿。

绿叶网 Fortran 在线编译器的核心特点与使用场景,包括新手入门、公式验证、局部代码测试和教学讨论。

Fortran 是什么?

简单来说,Fortran 是一门专为 “科学、工程、数值计算” 量身定制的编程语言。它的名字来源于 “公式翻译”(Formula Translation)。

Fortran 语言简介图,说明其名称代表“公式翻译”,是一门专为科学、工程和数值计算设计的语言。

虽然它诞生于上世纪 50 年代,堪称编程语言里的 “老前辈”,但小伙伴们不要以为它早就过时了。现代的 Fortran(目前最新标准是 Fortran 2023)其实一直在悄悄进化,早就支持了面向对象、动态数组、模块化、并行编程等现代特性,和几十年前老教材里那种死板的格式早已不是一回事。

与 Python 这类 “边解释边运行” 的语言不同,Fortran 是一门编译型语言(代码需要先编译成机器码才能执行)。正因为这种底层机制,加上对数组和数学公式的极致优化,让它在处理庞大的数值计算时运行飞快。

Fortran 主要用在哪些地方?

一句话概括就是:哪里有硬核的 “海量数据计算”,哪里就有 Fortran。它的主场不在做网站或写 App,而是在 “高性能计算和科研领域” :

  • 超级计算(HPC):在大型科学模拟和超算平台上,Fortran 凭借极高的运行效率和成熟的代码库,依然扮演着主力军的角色。
  • 预测天气与气候:不管是每天的数值天气预报,还是全球气候、海洋洋流模拟,这种需要持续不断 “算算算” 的场景,一直是 Fortran 的传统强项。
  • 工程仿真(如航空航天):计算流体力学、结构传热等领域,天天都要和复杂的偏微分方程打交道,Fortran 应对这类大规模网格计算非常得心应手。
  • 高精尖物理科研:天体物理、粒子模拟、材料科学等前沿科研项目中,依然运行着大量由 Fortran 编写的底层数值模型。
  • 维护科学界的 “无价之宝” :很多经过几十年反复验证的经典科研软件和核心数学库,最初就是用 Fortran 写的。想要维护、升级或调用这些宝贵资产,现代 Fortran 是必不可少的钥匙。

总而言之,Fortran 依然活跃在科研一线,并不是因为它在 “倚老卖老”,而是它在科学计算领域的底子实在太厚,而且一直都在跟着时代一起进步。

Fortran 的主要应用领域分布,涵盖超级计算、天气预报、工程仿真和物理科研等海量数据计算场景。

现代 Fortran 和 Fortran 77 有什么区别?

很多人一提到 Fortran,脑海里就浮现出满屏大写字母、还得严格数着空格对齐的老旧代码。其实,那已经是 Fortran 77 时代的 “老黄历” 了。

现代 Fortran(从 Fortran 90 开始)早就用上了自由格式,写起来不受老式打孔卡片的规矩限制,而且还陆续加入了模块化、面向对象、并行计算等现代语言该有的功能。现在大家写新代码,通常用的都是 “.f90” 后缀的源文件。

对于初学的小伙伴来说,建议直接拥抱现代 Fortran。以后如果在真实项目里真碰上了几十年前的旧代码,再去针对性地补习老语法也不迟,没必要一上来就给自己安排一场高难度的 “代码考古”。

Fortran 77 与现代 Fortran 的对比,展示了语言从固定格式向更现代的自由格式演进的过程。

Fortran 数组为什么经常从 1 开始?

如果小伙伴们有 C、Java 或 Python 的基础,习惯了数组第一个元素是第 0 号,那初学 Fortran 时可能要稍微转一转脑筋:它的数组默认是从 1 开始的(比如 scores(1) 就是第一个成绩)。

这么设计是有道理的——数学公式里的矩阵和向量,下标通常就是从 1 开始的,Fortran 只是顺应了科研人员的数学直觉。当然,如果你有特殊需求,Fortran 也允许你在声明时自己定义数组的上下界(比如从 0 甚至负数开始)。

另外,Fortran 玩数组非常顺手。它支持直接对一整块数组或切片做运算,比如 values(2:4) 直接就能截取一段,求和也只需要套一个 sum(values)。对于天天和矩阵、向量打交道的数值程序来说,这种原生的数组语法写起来相当爽快。

Fortran 数组特性示意图,直观解释了其数组下标默认从 1 开始以及支持灵活切片的特点。

常用快捷键

代码写得多了以后,鼠标点来点去多少有点慢。Fortran 在线编译器支持下面这些常用快捷键,小伙伴们先把几个高频的记住就够用了。

  • Ctrl + Enter:运行代码。
  • Ctrl + Z:撤销、Ctrl + Y:重做。
  • Ctrl + C:复制、Ctrl + V:粘贴。
  • Ctrl + A:全选。
  • Ctrl + X:剪切。
  • Ctrl + /:注释或取消注释。
  • Ctrl + Home:跳转到首行的行首。
  • Ctrl + End:跳转到末行的结尾。

其中最值得记住的还是 Ctrl + Enter。写完一小段 Fortran 代码顺手一按就能运行,用来反复测试数组、循环和数值计算非常方便。

「在线编译器」正在不断完善中,小伙伴们如果发现任何问题,或者有更好的建议,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com