Programming 版 (精华区)

发信人: Scorpion (但教心似金钿坚), 信区: Programming
标  题: [合集]help呀(转载)
发信站: 哈工大紫丁香 (2002年03月28日08:37:46 星期四), 站内信件


────────────────────────────────────────
 diki (2005:《等效论》)               于 2001年02月14日11:35:05 星期三 说道:

本人正在编写一个foetran程序,需要进行循环计算。主程序中计算出来的数据要传递到
子程序中。问题是这个程序是层层调用的,子程序调用子程序将近十个。而主程序的数
据要传递到最内层的子程序中。如果采用普通的传递方式,那么要通过各个子程序把数
据最终传递到需要它们的内层子程序中。这样的话不仅编写起来麻烦(有十几个参数之
多),而且运行起来也特别慢。
请问大家有没有其他的方法可以使内层子程序直接调用主程序中计算出来的数据?比如
采用读取一个文件的方式。另外别忘了这是一个循环计算的程序,必须保证每次读取的
数据是上次刚计算出的数据。

────────────────────────────────────────
 Sun (大灯泡)                         于 2001年02月14日14:23:31 星期三 说道:

不行就全局变量吧。
【 在 diki (2005:《等效论》) 的大作中提到: 】
: 本人正在编写一个foetran程序,需要进行循环计算。主程序中计算出来的数据要传递到
: 子程序中。问题是这个程序是层层调用的,子程序调用子程序将近十个。而主程序的数
: 据要传递到最内层的子程序中。如果采用普通的传递方式,那么要通过各个子程序把数
: 据最终传递到需要它们的内层子程序中。这样的话不仅编写起来麻烦(有十几个参数之
: 多),而且运行起来也特别慢。
: 请问大家有没有其他的方法可以使内层子程序直接调用主程序中计算出来的数据?比如
: 采用读取一个文件的方式。另外别忘了这是一个循环计算的程序,必须保证每次读取的
: 数据是上次刚计算出的数据。

────────────────────────────────────────
 diki (2005:《等效论》)               于 2001年02月14日14:47:38 星期三 说道:

fortran里没有全局变量的说法,倒是有数据模块。不知道怎么办了。
【 在 Sun (大灯泡) 的大作中提到: 】
: 不行就全局变量吧。
: 【 在 diki (2005:《等效论》) 的大作中提到: 】
: : 本人正在编写一个foetran程序,需要进行循环计算。主程序中计算出来的数据要传递到
: : 子程序中。问题是这个程序是层层调用的,子程序调用子程序将近十个。而主程序的数
: : 据要传递到最内层的子程序中。如果采用普通的传递方式,那么要通过各个子程序把数
: : 据最终传递到需要它们的内层子程序中。这样的话不仅编写起来麻烦(有十几个参数之
: : 多),而且运行起来也特别慢。
: : 请问大家有没有其他的方法可以使内层子程序直接调用主程序中计算出来的数据?比如

────────────────────────────────────────
 ronger (蓉 儿)                       于 2001年02月14日16:15:14 星期三 说道:

可以采用公共区的方式传递数据...(common语句)
当不同的程序单元之间有大量的数据需要传递时...
采用实参和虚参相结合的方式传递数据速度较慢...
【 在 diki (2005:《等效论》) 的大作中提到: 】
: fortran里没有全局变量的说法,倒是有数据模块。不知道怎么办了。
: 【 在 Sun (大灯泡) 的大作中提到: 】
: : 不行就全局变量吧。

────────────────────────────────────────
 Sun (大灯泡)                         于 2001年02月14日16:20:18 星期三 说道:

wa! ronger mm原来是个中高手,不出世的高人呀!失敬,失敬!
【 在 ronger (蓉 儿) 的大作中提到: 】
: 可以采用公共区的方式传递数据...(common语句)
: 当不同的程序单元之间有大量的数据需要传递时...
: 采用实参和虚参相结合的方式传递数据速度较慢...
: 【 在 diki (2005:《等效论》) 的大作中提到: 】
: : fortran里没有全局变量的说法,倒是有数据模块。不知道怎么办了。

────────────────────────────────────────
 ronger (蓉 儿)                       于 2001年02月14日16:22:38 星期三 说道:

kick...不要笑话偶了...
人家问偶你用什么编程啊...
偶都不好意思讲...
偶还用这个你们都不用的东东...
【 在 Sun (大灯泡) 的大作中提到: 】
: wa! ronger mm原来是个中高手,不出世的高人呀!失敬,失敬!
: 【 在 ronger (蓉 儿) 的大作中提到: 】
: : 可以采用公共区的方式传递数据...(common语句)
: : 当不同的程序单元之间有大量的数据需要传递时...
: : 采用实参和虚参相结合的方式传递数据速度较慢...

────────────────────────────────────────
 zhangyan (今朝有水今朝灌)            于 2001年02月14日16:23:35 星期三 说道:

不管用什么语言,用好就不错
【 在 ronger (蓉 儿) 的大作中提到: 】
: kick...不要笑话偶了...
: 人家问偶你用什么编程啊...
: 偶都不好意思讲...
: 偶还用这个你们都不用的东东...
: 【 在 Sun (大灯泡) 的大作中提到: 】
: : wa! ronger mm原来是个中高手,不出世的高人呀!失敬,失敬!

────────────────────────────────────────
 diki (2005:《等效论》)               于 2001年02月14日21:04:10 星期三 说道:

3ks ronger mm!!!
能否再说稍微具体一点?bow
【 在 ronger (蓉 儿) 的大作中提到: 】
: 可以采用公共区的方式传递数据...(common语句)
: 当不同的程序单元之间有大量的数据需要传递时...
: 采用实参和虚参相结合的方式传递数据速度较慢...
: 【 在 diki (2005:《等效论》) 的大作中提到: 】
: : fortran里没有全局变量的说法,倒是有数据模块。不知道怎么办了。

────────────────────────────────────────
 diki (2005:《等效论》)               于 2001年02月14日21:06:16 星期三 说道:

5555.....
这不是在骂偶吗?
偶也要换!用C++6.0和汇编
【 在 ronger (蓉 儿) 的大作中提到: 】
: kick...不要笑话偶了...
: 人家问偶你用什么编程啊...
: 偶都不好意思讲...
: 偶还用这个你们都不用的东东...
: 【 在 Sun (大灯泡) 的大作中提到: 】
: : wa! ronger mm原来是个中高手,不出世的高人呀!失敬,失敬!

────────────────────────────────────────
 ronger (蓉 儿)                       于 2001年02月15日09:00:59 星期四 说道:

在FORTRAN程序中有两种公用区:一种是无名公用区,一种是有名公用区。
在程序中通过Common语句来开辟公用区。Common语句的一般形式为:
  Common[/[cname]/]object-list [[,]/[cname]...
其中,cname为公用区名。如忽略此项,则定义的为无名公用区。object-list
为变量名列表,可是变量名,数组名,或数组声明符。编译器在编译源程序时
为Common语句开辟公用区,当把不同的程序单位连在一起的时候,不同的程序
单位在Common语句中的变量按在其语句中出现的先后占用公用区连续的存储单
元。使用无名公用区时,各个程序单位之间的数据传送是按公用区中变量名的
排列顺序一一对应。这样虽然解决了数据的传送速度,但在多个程序单位使用
不同的公用区变量时,会给程序设计带来麻烦。利用有名公用区可以把各个单
位之间需要传送的变量放在相应的有名公用区中。
sigh...好累,你试试看吧,我用Fortran PowerStation,你也是么...
【 在 diki (2005:《等效论》) 的大作中提到: 】
: 3ks ronger mm!!!
: 能否再说稍微具体一点?bow
: 【 在 ronger (蓉 儿) 的大作中提到: 】
: : 可以采用公共区的方式传递数据...(common语句)
: : 当不同的程序单元之间有大量的数据需要传递时...
: : 采用实参和虚参相结合的方式传递数据速度较慢...

────────────────────────────────────────
 ronger (蓉 儿)                       于 2001年02月15日09:03:27 星期四 说道:

sigh...
不是骂你呀...
用咱们这个作工程数值计算还是很精确的...
偶老板在米国也是用这个编程的...
不过,不会别的就要落后于时代了...
【 在 diki (2005:《等效论》) 的大作中提到: 】
: 5555.....
: 这不是在骂偶吗?
: 偶也要换!用C++6.0和汇编
: 【 在 ronger (蓉 儿) 的大作中提到: 】
: : kick...不要笑话偶了...
: : 人家问偶你用什么编程啊...
: : 偶都不好意思讲...
: : 偶还用这个你们都不用的东东...

────────────────────────────────────────
 diki (2005:《等效论》)               于 2001年02月15日10:52:37 星期四 说道:

感激不尽感激不尽。ronger mm 辛苦了。
我也用的powerstation
问一下,你是用fortran77 还是90?我是用90。没有听说有common语句
我用了module数据模块,听师兄说这是common的升级,是吗?
另外,你说common可以把里边的变量的值循环改变?因为我要循环读取
值。
3ks+bow again
【 在 ronger (蓉 儿) 的大作中提到: 】
: 在FORTRAN程序中有两种公用区:一种是无名公用区,一种是有名公用区。
: 在程序中通过Common语句来开辟公用区。Common语句的一般形式为:
:   Common[/[cname]/]object-list [[,]/[cname]...
: 其中,cname为公用区名。如忽略此项,则定义的为无名公用区。object-list
: 为变量名列表,可是变量名,数组名,或数组声明符。编译器在编译源程序时
: 为Common语句开辟公用区,当把不同的程序单位连在一起的时候,不同的程序
: 单位在Common语句中的变量按在其语句中出现的先后占用公用区连续的存储单
: 元。使用无名公用区时,各个程序单位之间的数据传送是按公用区中变量名的
: 排列顺序一一对应。这样虽然解决了数据的传送速度,但在多个程序单位使用
: 不同的公用区变量时,会给程序设计带来麻烦。利用有名公用区可以把各个单
: 位之间需要传送的变量放在相应的有名公用区中。

────────────────────────────────────────
 ronger (蓉 儿)                       于 2001年02月15日12:38:02 星期四 说道:

我用的也是90。我们有个师兄他用模块编的程序看起来
很好的,你可以向你的师兄学习一下,或者找本书来看。
我用的书是清华的Fortran PowerStation 4.0基础教程,
觉得写的一般。
因为我还没有用model,师兄用过。你可以在你的软件里
help中的references中查到。
变量的值循环改变不应该有问题把...
xixi...我也不太会呀...//blush...
【 在 diki (2005:《等效论》) 的大作中提到: 】
: 感激不尽感激不尽。ronger mm 辛苦了。
: 我也用的powerstation
: 问一下,你是用fortran77 还是90?我是用90。没有听说有common语句
: 我用了module数据模块,听师兄说这是common的升级,是吗?
: 另外,你说common可以把里边的变量的值循环改变?因为我要循环读取
: 值。
: 3ks+bow again
: 【 在 ronger (蓉 儿) 的大作中提到: 】
: : 在FORTRAN程序中有两种公用区:一种是无名公用区,一种是有名公用区。
: : 在程序中通过Common语句来开辟公用区。Common语句的一般形式为:

────────────────────────────────────────
 diki (2005:《等效论》)               于 2001年02月16日10:02:19 星期五 说道:

谢谢蓉儿。有事情再找你,可要做好心理准备呀。hehe
【 在 ronger (蓉 儿) 的大作中提到: 】
我用的也是90。我们有个师兄他用模块编的程序看起来
很好的,你可以向你的师兄学习一下,或者找本书来看。
我用的书是清华的Fortran PowerStation 4.0基础教程,
觉得写的一般。
因为我还没有用model,师兄用过。你可以在你的软件里
help中的references中查到。
变量的值循环改变不应该有问题把...
xixi...我也不太会呀...//blush...
【 在 diki (2005:《等效论》) 的大作中提到: 】
: 感激不尽感激不尽。ronger mm 辛苦了。
: 我也用的powerstation
: 问一下,你是用fortran77 还是90?我是用90。没有听说有common语句
: 我用了module数据模块,听师兄说这是common的升级,是吗?
: 另外,你说common可以把里边的变量的值循环改变?因为我要循环读取
: 值。
: 3ks+bow again
: 【 在 ronger (蓉 儿) 的大作中提到: 】
: : 在FORTRAN程序中有两种公用区:一种是无名公用区,一种是有名公用区。
: : 在程序中通过Common语句来开辟公用区。Common语句的一般形式为:

────────────────────────────────────────
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:206.170毫秒