作业帮 > 综合 > 作业

fortran if(M .gt.2) go to 1\x05 Y = Y - 1\x05 M = M+12\x051

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/10 12:30:38
fortran
if(M .gt.2) go to 1
\x05 Y = Y - 1
\x05 M = M+12
\x051 I = Y/100
\x05 K = 2 - I + I/4
\x05 djul = (365.25*Y-mod(365.25*Y,1.0))-679006.0
\x05 djul = djul + aint(30.6001*(M+1))+ID+K
fortran if(M .gt.2) go to 1\x05 Y = Y - 1\x05 M = M+12\x051
你这只是完整程序中的一小段,执行的话就从上到下依次运行,当M>2时,跳到1 I = Y/100这一行运行.这个程序貌似与日期和天数有关
再问: 其他行的句子呢,执行完1这行是不是其他的按顺序执行
再答: 是的,执行完1这行继续向下执行
再问: 还有最后一个问题,这是一个小的函数里的代码,他为什么不把1这行直接放到if语句后,难道是有其他的好处?
再答: 这就是goto语句的作用了。 如果M小于或等于2,就要执行接下来的两行,然后继续执行接下来的程序; 如果M大于2,直接跳到1,goto语句和1之间的两行就被跳过去了。 如果把1这行直接放到if语句后,无论M值为多少,都会接着执行1,那么这个goto语句就没有意义了。