×

Loading...
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务

各位编程高手,我拷贝了部分子程序,大家能不能看看是用什么语言编的?好像和FORTRAN很类似。是不是其他版本的FORTRAN?多谢!另外,我改了程序名。我想读懂程序,不知道有什么建议。

本文发表在 rolia.net 枫下论坛SUBROUTINE CCCCCR(IARG,SLOT)
C SUBROUTINE CCCCR/TCCCR
C IARG = MACHINE ARRAY INDEX
C SLOT = ARRAY ALLOCATION TABLE INDEX
C J = STRTIN(1,SLOT) [ USES CON(J) THROUGH CON(J+10) ]
C K = STRTIN(2,SLOT) [ USES STATE(K) THROUGH STATE(K+2) ]
C L = STRTIN(3,SLOT) [ USES VAR(L) ]
C M = STRTIN(4,SLOT) [ USES ICON(M) AND ICON(M+1) ]
C
$INSERT PARAM4
$INSERT PERM4
$INSERT HEADR4
$INSERT PSSCM4
$INSERT DSCOM4
$INSERT SITCM4
C
INTEGER IBUSA, KOUNTA, JA, KA, LA, MA,
# IARG, SLOT
CHARACTER IMA*1
EXTERNAL BSSEQN, OLDDYN, VLTFOR
INTRINSIC ABS, SQRT
C
INTEGER I, IB, IBUS, J, JJ, K,
# KK, L, M
REAL DEL2, THI, THO, XXRE, XXIM, XXR(2)
COMPLEX XX
LOGICAL NEW
CHARACTER IM*1, VLTI*4
C
EQUIVALENCE (XX,XXR,XXRE), (XXR(2),XXIM)
C
I=IARG
J=STRTIN(1,SLOT)
K=STRTIN(2,SLOT)
L=STRTIN(3,SLOT)
M=STRTIN(4,SLOT)
C
IF (MODE.GT.4) GO TO 1000
C
IF (MSTATE.GT.0) RETURN
C
NEW=MODE.EQ.4
C
WHEN (NEW .OR. (KPAUSE.EQ.2 .AND. MODE.EQ.3) )
. IB=ABS(NUMTRM(I))
. NUMTRM(I)=-IB
C .
. IF (JCODE(IB).NE.2 .OR. MCSTAT(I).LE.0)
. . ICON(M+1)=-IB
. . ZERO-MACHINE-ARRAYS
. . IF (NEW) VAR(L)=0.
. . RETURN
. ...FIN更多精彩文章及讨论,请光临枫下论坛 rolia.net
Report

Replies, comments and Discussions:

  • 工作学习 / IT技术讨论 / 各位编程高手,我拷贝了部分子程序,大家能不能看看是用什么语言编的?好像和FORTRAN很类似。是不是其他版本的FORTRAN?多谢!另外,我改了程序名。我想读懂程序,不知道有什么建议。
    本文发表在 rolia.net 枫下论坛SUBROUTINE CCCCCR(IARG,SLOT)
    C SUBROUTINE CCCCR/TCCCR
    C IARG = MACHINE ARRAY INDEX
    C SLOT = ARRAY ALLOCATION TABLE INDEX
    C J = STRTIN(1,SLOT) [ USES CON(J) THROUGH CON(J+10) ]
    C K = STRTIN(2,SLOT) [ USES STATE(K) THROUGH STATE(K+2) ]
    C L = STRTIN(3,SLOT) [ USES VAR(L) ]
    C M = STRTIN(4,SLOT) [ USES ICON(M) AND ICON(M+1) ]
    C
    $INSERT PARAM4
    $INSERT PERM4
    $INSERT HEADR4
    $INSERT PSSCM4
    $INSERT DSCOM4
    $INSERT SITCM4
    C
    INTEGER IBUSA, KOUNTA, JA, KA, LA, MA,
    # IARG, SLOT
    CHARACTER IMA*1
    EXTERNAL BSSEQN, OLDDYN, VLTFOR
    INTRINSIC ABS, SQRT
    C
    INTEGER I, IB, IBUS, J, JJ, K,
    # KK, L, M
    REAL DEL2, THI, THO, XXRE, XXIM, XXR(2)
    COMPLEX XX
    LOGICAL NEW
    CHARACTER IM*1, VLTI*4
    C
    EQUIVALENCE (XX,XXR,XXRE), (XXR(2),XXIM)
    C
    I=IARG
    J=STRTIN(1,SLOT)
    K=STRTIN(2,SLOT)
    L=STRTIN(3,SLOT)
    M=STRTIN(4,SLOT)
    C
    IF (MODE.GT.4) GO TO 1000
    C
    IF (MSTATE.GT.0) RETURN
    C
    NEW=MODE.EQ.4
    C
    WHEN (NEW .OR. (KPAUSE.EQ.2 .AND. MODE.EQ.3) )
    . IB=ABS(NUMTRM(I))
    . NUMTRM(I)=-IB
    C .
    . IF (JCODE(IB).NE.2 .OR. MCSTAT(I).LE.0)
    . . ICON(M+1)=-IB
    . . ZERO-MACHINE-ARRAYS
    . . IF (NEW) VAR(L)=0.
    . . RETURN
    . ...FIN更多精彩文章及讨论,请光临枫下论坛 rolia.net
    • 我觉得是Fortran
      • 和原来学过的FORTRAN77好像有些不一样。
        • 现在应该是 Visual ForTran 2003 .NET 了吧。
          • 这些程序是一个软件的子程序,主要用于模拟一些设备的动态过程。这些设备是通过一些自动控制的框图给出来的。现在具体的设备有些变化,与标准的模型框图不太一样。所以,首先要读懂原来的程序,再琢磨改。
          • 什么乱七八糟的,赫赫
    • 再UP一下!顺便说明这个程序是88年编的。老了点?
    • 应该是Fortran, goto语句,第六行的注释字符都是特征
      • 我当年也就学过FORTRAN77,后来知道一点MATLAB。但是这个程序中的语法好象不是FORTRAN77中的。所以想知道是哪一个版本,这样可以找相应的材料学习。
        • 找本Fortran 66的书就可以了, 没有太特别的
          里面的复数,字符数据定义都是标准的Fortran格式
          • FORTRAN66是不是比77更老的版本啊?
        • 绝大部分特征是fortran,少数我没见过。
    • 不象是FORTRAN, 应是自控专用的语言,但可能用了很多FORTRAN特性. 我原来用过CL语言,想必很少人用过,其实就是稍稍感动的BASIC. CL 现在许多先进控制上用的很多. 请问southnorth(北西南东);你是做自控的吗?
      • 为什么不回答哪?问完就走了.不寥寥?
    • Could it be the MACRO FORTRAN used in EASY5?
      I have seen the something like that in EASY5, a control simulation
      program originally from Boeing. Now it is part of MSC product
      family.

      Let me know in what bussiness you are so I can have better idea to
      figure it out.