fortran程序

fortran程序,第1张

if(temple0001) exit

写成一行

或者

if(temple0001) then

exit

end if

如果 0001 后面还有1个点,请删除

子程序和主程序写在同一个文件里就可以了。

如果分开写,那么分别编译,然后一起链接。代码上不需要任何改动。跟同一个文件一模一样。

至于如何建立工程,这是 *** 作的问题。

Fortran 是一门语言,本身没有任何 *** 作问题。

全球支持Fortran语言的编译器有数十种,不同的编译器又使用若干种不同的编译环境。

例如 Compaq Visual Fortran,Intel Fortran 分别使用 VC6 和 VS 作为编译环境。Ftn95有自己的集成环境,叫Plato。甚至一些开源的,开放的编译环境经过配置,都可以使用Fortran的各种编译器。

这些 *** 作方法问题,也因为不同的编译环境而不同。

你的问题,就好像问:“英语如何查短句” 一样。英语本身是语言,不存在 *** 作问题。

如果你要问,也应该类似这样问:“金山词霸如何查短句”??

类似的,你的问题,也应该是类似:“Compaq Visual Fortran 怎么建立工程” 或者其他编译器如何如何。

program dataread

implicit none

integer::I,J,K

integer::Mx1,Mx2,N1,N2

character(len=20)::file1,file2,file3

character ans

real,dimension(:),allocatable::data1,data2

file1="1txt"

file2="2txt"

file3="3txt"

open(11,file= trim(file1),status="old",err=998)

open(12,file= trim(file2),status="old",err=998)

open(13,file= trim(file3))

Mx1=0

N1=0

do

read(11,,end=22)I

write(,)"1",I

if (Mx1<I) Mx1=I

N1=N1+1

enddo

22 Mx2=0

N2=0

do

read(12,,end=23)I

write(,)"2",I

if (Mx2<I) Mx2=I

N2=N2+1

enddo

if(N1neN2) then

write(,)"Data Numbers in two files are not the same, do you still wanna continue(Y/N)"

read(,)ans

if(anseq"N") stop " Sorry, merge data can not be finished"

endif

23 allocate(data1(N1),data2(N2))

rewind 11

rewind 12

do I=1,min(N1,N2)

read(11,)J,data1(I)

read(12,)K,data2(I)

if(JneK) then

write(,) "Warning, numbers are not the same in two files"

endif

write(13,"(2F103)")data1(I),data2(I)

enddo

goto 999

998 stop "File can not be found!"

999 stop "Normal End"

end

由于不是很了解数据到底是什么样的,所以在写程序的时候并没有前面编号不一致的情况,但是扩展性还是留下了,那个Mx1和Mx2目的就是为了防止楼主万一要拓展,要求用编号控制对应的数字或者编号不是按照对应顺序的。反正这个代码是基本能实现楼主的要求了。如果1和2文件中的数字个数不一致的话,程序会提醒并询问是否继续,要是继续的话就按照个数最小的那个文件个数来排序。

FORTRAN语言程序设计

(一)FORTRAN程序的结构、书写规则

1。FORTRAN程序的构成(主程序和子程序)。

2。FORTRAN源程序的书写格式。

(二)、数据类型及其运算

1。常量和变量的类型(整型、实型、双精度型、复型、逻辑型、字符型)

2。定义变量类型的方法(用I——N规则隐式说明和显示说明)。

3。符号常量及其定义方法(PARAMETER语句)。

4。运算符及运算优先级。

5。表达式(算术表达式、关系表达式、逻辑表达式和字符表达式)及其求值规则。不同类型数据的混合运算。

(三)最基本的语句

1。赋值语句(算术、逻辑和字符型赋值语句)。

2。表控格式的输入和输出。

3。格式输入与输出。

(1)格式编辑符(X、H、I、F、E、D、A、L、/),格式的重复作用。

(2)格式语句与输入输出语句(包括READ,WRITE语句)的相互作用。

(3)在输入输出语句中包括含格式说明的方法。

4。暂停语句(STOP)语句,停语句(END语句)。

5。赋初值语句(DATA语句)。

6。转移语句(GOTO语句)。

(四)选择结构程序设计

1。逻辑IF语句。

2。块IF结构。

3。选择结构的嵌套。

(五)循环结构程序设计

1。当型循环与直到型循环。

2。用DO语句实现循环:

(1)用DO语句时循环次数的计算。

(2)循环体的概念。

(3)循环终端语句和CONTINUE语句。

3。用块IF和GOTO语句实现循环。

4。循环的嵌套。

(六)数组的应用

1。定义数组的方法(用DIMENSION语句和类型语句定义一维或多维数组)。

2。数组元素的正确引用。

3。数组在内存中存储顺序(按列存储)。

4。对数组赋初值的方法。

5。数组的输入与输出。

6。可调数组。

(七)函数和子程序

1。内部函数的调用方法。

2。语句函数的定义及引用方法。

3。函数子程序(FUNCTION子程序)的结构及调用方法。

4。子例行程序(SUBROUTINE子程序)的结构及调用方法。

5。模块间的数据传递(虚实结合)。

(八)数据联系

1。公用语句(COMMON语句),无名公用区和有名公用区。

2。数据块子程序。

(九)字符处理

1。字符串、字符型变量和字符型数组。

2。字符型数据的赋值和运算。

3。字符型数据的输入与输出。

(十)文件

1。文件与记录的概念。

2。文件的打开与关闭。

3。顺序文件的存取方法。

4。直接文件的存取方法。

程序:

program fangbianpao

implicit none

real:: t1=4,t2=5,t3=6,t4=7

real, parameter:: n=10

real:: i,j

real:: counter=0

real:: T_1(n),T_2(n),T_3(n),T_4(n),T(4n)

do i=1,n

T_1(i)=t1(i-1)

T_2(i)=t2(i-1)

T_3(i)=t3(i-1)

T_4(i)=t4(i-1)

enddo

T=[T_1,T_2,T_3,T_4]

do i=0,63

do j=1,size(T)

if (i==T(j)) then

counter=counter+1

write(,) '第',counter,'次响声:',T(j)

exit

endif

enddo

enddo

write(,) counter

end program fangbianpao

以上就是关于fortran程序全部的内容,包括:fortran程序、fortran怎么编写包含子程序的主程序子程序和主程序是两个独立的文件,这该怎么编写怎么建立工程、求用fortran语言帮我编个小程序:程序实现将第1,2文档的第二列数据读入,然后将其整理为两列输出如3所示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9628323.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存