问题标签 [fortran95]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
fortran - 在 Fortran 95 中将任意浮点字符串转换为实数
是否有任何简单的方法可以将任意浮点字符串转换为 fortran 中的实数?想到类似的东西strtod
?语句的问题READ
是所有浮点格式编辑描述符都需要明确的宽度。到目前为止,我做的最好的解决方法是:
但我想知道我是否遗漏了什么,可能有更好的方法吗?
fortran - 多次调用子程序,每次使用不同的函数作为参数
我是一个新手,不知道这些术语,所以我无法在网上搜索这个问题的答案。
不止一次,在编程中,我想做这样的事情。
A 和 B 是子程序,c 和 d 是函数。A 和 B 各自在其中多次调用一个函数。
这种结构不起作用。有人告诉我,Fortran 不支持函数的别名,至少在这种情况下是这样。(大多数涉及“别名”的搜索结果是指别名变量而不是函数,这就是我没有找到答案的原因。)
那么我可以使用什么结构来做到这一点而不必编写多个版本的 A 和 B?
module - 模块何时超出 Fortran 90/95 的范围?
我的预期用途是
具体来说,将module mod
在范围内subroutine sub
?另外,我有兴趣更广泛地了解模块何时在/超出范围。如果重要的话,我正在使用 gfortran 4.6.1。
fortran90 - difference results between 10**-2 and E-2
The following program print 1 for 100E-2
and gives 0 for 100*10**(-2)
, that means that
the operator exponent doesnot work for negative **
, is that correct.
Thanks in advance
fortran - fortran 77 in 95 程序的接口
我对fortran很陌生,只用fortran 95和2003编写。现在我有一个主要用95编写的程序,但它完全是fortran 77语法,还包含一些77个函数。
现在我需要另一个程序中的功能,但不想重写整个程序。我的想法是更换
和
替换似乎不起作用。编译器指出,语法来自
是错的。有没有人对该主题有一些经验,或者知道是否可以在不重写代码的情况下实现代码?
function - 使用 FORTRAN 阅读和打印
我需要编写一个可以读取和打印 .dat 文件的 Fortran 程序。
(文件 homework_6.dat 包含书籍记录:名称(最多 25 个字符)、出版年份(4 位整数)、价格(6 位实数)、ISBN(13 位整数)。编写程序读取文件(homework_6. dat)并按以下格式打印(在屏幕上或到另一个文件中)详细信息:
这是我写的
但是 Fortran 说第 8 行有错误
我不知道该怎么办 :(
索尼娅(国际电联)
- 编辑 -
所以我尝试编写一个程序,但执行后我仍然有错误
我在第 14 行有一个错误。错误 52,字段 DAT 中的无效字符 - 在第 14 行的文件 homework.f95 中 [+01b3]
arrays - 多行 Fortran 95 数据列表
我在 Fortran 77 中获得了一些代码,我必须将其转换为 95。我知道关于 data 关键字的非常基本的东西,比如
我不知道如何在单独的行上执行上述操作。我猜它与上述有关,但我无法弄清楚在这种情况下 M 的用途。
fortran - 将 FORTRAN DEC UNION/MAP 扩展转换为其他任何东西
编辑:Gfortran 6 现在支持这些扩展 :)
我有一些广泛使用 UNION 和 MAP 的旧 f77 代码。我需要使用不支持这些扩展的 gfortran 编译它。我已经想出了如何转换除这些之外的所有不支持的扩展,我不知所措。我对可能的方法有几个想法,但未能成功实施任何东西。我需要以与当前相同的方式访问现有的 UDT;我可以重新实现 UDT,但它们的接口不能改变。
我所拥有的示例:
必须通过以下方式访问元素:TEST%test1、TEST%test2、TEST%test3
到目前为止我的想法:
- 以某种方式替换为 fortran EQUIVALENCE。
- 在 C/C++ 中定义结构并以某种方式使它们对 FORTRAN 代码可见(怀疑这是可能的)
我想当 UNION 和 MAP 被排除在标准之外时,f77 到 f90/95 一定有很多重构。如果有/被处理过怎么办?
编辑:接受的答案有一个允许内存重叠的解决方法,但就保留 API 而言,这是不可能的。
input - 读取未知长度的字符串
我的任务是编写一个 Fortran 95 程序,该程序将从文件中读取字符输入,然后(开始)简单地将其再次吐出。棘手的部分是这些输入行的长度不同(没有给出最大长度)并且文件中可以有任意数量的行。
我用过
但是,我最初的陈述清单
和适当的整数等。
我想我要问的是是否有任何方法不首先列出字符串的大小。假设我有一个 200 多个字符的 DNA 字符串,然后另一个只有 25 个字符,有没有一种方法可以让程序只读取其中的内容而不需要包含所有额外的空白?这可以在不需要使用的情况下完成len_trim
吗,因为它不能在声明语句中引用?
fortran - 未定义长度的 Fortran 字符输入
对于每一个字符,我都用凯瑟密码加密它
计算
这并不完全有效。
对于输入中的每个字符,我使用 modulo(iachar()) 函数对其进行转换。它一直工作到打印,我跟着调试,加密很好。但是输出的问题在于 LEN=100。do 循环将经历 100 次将不存在的字符转换为垃圾的过程,从而在输出处使用 UNDEFINED TYPE 破坏程序。
因此,如果我输入“test”,它将加密 CBNC*GARBAGE-TO-100* 而不会输出。如果我将长度定义为 4,并执行它,它就可以工作。但我希望能够在不定义长度的情况下做到这一点。有什么办法吗?