我尝试阅读fortran(我认为是)程序并且不能理解子程序的开始。它看起来像: 我无法理解第二块(红色) - 这是什么?参数/参数,全局变量或类似的东西?
黄色看起来像常数数组,但语言声明在我的手册中有所不同。
此外,我无法找到IF的声明:
它的IF(条件)然后转到更少,eq,更大或其他什么?
答案 0 :(得分:4)
你正在寻找相当古老的固定源格式FORTRAN,其中行上字符的位置很重要。特别是第6列中的任何字符(0
或空白除外)都表示该行是前一行的延续。第1列中的C
表示评论。
首先发出奇怪的IF
声明
IF( HP(IM) - 70. ) 105,105,110
是算术if语句。如果HP(IM)-70
为负数,请转到标有105
的行,如果为零,则转到标有105
的行,如果为正,则标记为110
。您的发布不显示这些行,标签位于一行的第1-5列。
现在红了
COMMON
引入了一个公共块,其名称(如果有的话)随后包含在/ /
中。然后是公共块中的变量列表。在您的代码中,公共块CONTRL
,ALPHA
和DON
的声明跨行。
您的代码建议使用公共块将变量传入/传出子例程,而不使用其参数列表。可能有一个程序范围声明了相同的公共块,相同的公共块也可能出现在其他子程序中。如果其他作用域具有相同名称但内容明显不同的公共块,请不要感到惊讶,常见块的恶意用法之一是使用变量名称。更有趣的是,一个范围内的4字节整数变量可以被视为另一个范围内的4字节实数。
现在是绿色
DATA TME / ... /
使用TME
和/
之间的值初始化数组/
。