Fortran语言部分简单代码,求解释?? 5

楼主仅仅需要看到fortran语言的算法设计,现在遇到以下问题,求解,非常感谢您的回答:1:D02J=1,NX//问这行代码的意思是直接跳到标号2处开始执行程序吗?`IF... 楼主仅仅需要看到fortran语言的算法设计,现在遇到以下问题,求解,非常感谢您的回答:
1:D0 2 J=1,NX //问这行代码的意思是直接跳到标号2处开始执行程序吗?
`IF(HIST(J)-HMAX) 2,2,1 //这个2,2,·1是什么意思啊?

1 HMAX=HIST(J)
2 CONTINUE //这个标号2的continue是不是执行循环的下一次呢,还是标号2的下一行代码?

2:WRITE(1,170) (X(3),J=NI,NOB) //这行是什么意思呢?

3:GOTO (2,3,1),ID //这行是什么意思啊?(ID是个具体的数)

4:RN1=2.*(2.**14-2.)+1. //这个小数点可以忽略对吧??

5: DO 20 I=1,N11,2 //1
I1=I/2+1 //2
20 E(I1)=0.5*(E(I)+E(I+1)) //3
N1=N1/2 //4
问,这个语句段的执行顺序是:1-2-3(循环)--4 还是 1-3(循环)--2-4呢??
以上问题非常急,求大神帮忙,大神附体啊??
展开
 我来答
枫吹草笛
2014-09-29 · TA获得超过1978个赞
知道小有建树答主
回答量:281
采纳率:75%
帮助的人:163万
展开全部
这几个问题大多都是Fortran77的语法,在90以后都已经被抛弃了。
1:
IF(HIST(J)-HMAX) 2,2,1
Fortran77的语法,在90以后都已不建议使用。判断HIST(J)-HMAX的值的大小,小于0,则程序流程转至标号2指定的语句执行。等于0,则程序流程转至标号2指定的语句执行。大于0,则程序流程转至标号1指定的语句执行。
2 CONTINUE

这个也是Fortran77的语法,在90以后都已不建议使用。这个跟do 语句结合使用,表示是个循环体。
D0 2 J=1,NX

。。。
2 CONTINUE

当执行到 2 CONTINUE时,程序就会跳把J加1,执行下一个循环。当J〉NX时就执行下一行代码。

第二个问题:WRITE(1,170) (X(3),J=NI,NOB)的意思是把X(3)的值写入1号文件(或者设备)NOB-NI遍

3:GOTO (2,3,1),ID

这个语法是77的语法,95里是被废除的。里面的2,3,1是执行编号,后面的ID如果是1的话,就执行编号2后面的语句,2的话则是执行编号3的语句,3的话执行编号1后的语句。

4:RN1=2.*(2.**14-2.)+1. 这个难说,这个小数点的目的是保持所有的数字都为实型,以避免出现精度上的错误,如果去掉就是按照整形来计算了,可能会导致错误。

5:这也是77的老语法,相当于
DO 20 I=1,N11,2 //1
I1=I/2+1 //2
E(I1)=0.5*(E(I)+E(I+1)) //3
20 CONTINUE
N1=N1/2 //4
执行顺序是把 do 。。。 continue之间的循环执行完毕之后再执行 N1=N1/2 //4

如果楼主需要读77的程序,建议还是把77的书看看,这些都是77的老语法,虽说不用了,但是读老前辈写的程序的时候还是十分有用的,希望对你有帮助。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式