fortran新建,添加外部文件和简要读写格式说明
FORTRAN简明教程

《FORTRAN》程序设计原理1、程序结构及书写规则一个程序由不同的程序单元组成,每一程序单元均以end结束,一般情况下,主程序的结构为:Program程序单元名说明语句可执行语句……STOPEND子程序的结构为:SUBROUTINE 程序单元名(哑元名表)说明语句可执行语句………RETURNEND以及FUNCTION 程序单元名(哑元名表)说明语句可执行语句………RETURNEND程序单元名由字母和数字组成,各程序单元中的变量独立编译,同名变量相互不影响。
1-5列为行号,可以是1-99999之间的任意数,6列为续行号,可以是任何字符,正文从第8列写到72列。
当第1列为字符C时,此行为注释行。
2、说明语句说明语句分为二类,一类必须放在程序单元的开头,另一类可以放在任何地方。
2.1 变量说明语句这一类说明语句,必须放在程序单元的开头,以表明变量的性质。
若不加以说明,以I-N开头的变量均为整型,其余变量均为实型,称之为I-N规则。
同一变量经下列显式说明语句说明后,I-N规则失效,没有经显式说明的变量,I-N规则仍然有效。
PARAMETER(变量名=const,……)REAL 变量名表INTEGER变量名表CHARACTER变量名表LOGICAL变量名表COMPLEX 变量名表IMPLICIT 变量基本类型(字符名表)DOUBLE PRECISION变量名表DIMENSION变量名表COMMON 变量名表COMMON /公共区名/ 变量名表DATA 变量名表/数值名表/一个变量可由多个语句说明,其中类型说明语句的级别最高,例如:Implicit real (a-c,e) 由a,b,c,e开头的变量均为实型Dimension ax(100) 定义一个100个元系的实型数组Integer bx, ax 重新定义bx, ax为整型变量2.2 格式说明语句这一类语句可以放在程序单元内的任何地方,常用的有:FORMAT(nFw.d, nX, nAw, nIw, ‘…….’, \ ,nEw.d)这里,n是重复使用该格式码的次数,F表示实型,X表示空格,A表示字符,I表示整型,E科学记数法,w是输入/出的宽度,d是小数位数,引号‘’内的内容原样输出,斜线‘\’表示输入/出时换行。
Fortran6.5 使用流程

简单说明一次编译程序的过程:1.建立一个新的Project(File-new-选择Project选项卡-Utility Project,给定project的名称),确定生成Project。
2.生成一个新的程序文件(File-new-选择Files选项卡-Fortran Free Format Source File,给定文件名),或是插入一个已有的程序文件(选项Project/Add to Project/Files).3.用Build菜单中的Excute选项来编译并运行程序,或是只单击Build选项来只做编译,不运行程序。
4.要写新的程序可以另外建立一个新的Project,或是直接跟换Project中的文件。
千万不要把两个独立的程序文件放入同一个Project中,否则导致编译过程出现错误。
5.下次修改程序时,可以直接使用File/Open Workspace来打开*.dsw的Project工程文件。
一、安装Fortran6.5安装包中包括以下文件(夹)本人电脑-x86 64位-win7进入X86文件夹,运行,中间需要输入序列号,记事本打开获取,进过中间一些文件位置的选择,到百分之九十多的时候,需要选择是否安装运行环境,选是,最后安装完成。
二、运行开始---Compaq Visual Fortran 6---Developer Studio如果提示打开失败,则选中Developer Studio,右键----管理员获得所有权---就可以了三、打开出现如下对话框:熟悉一些tips:第一条:If your program hangs应用程序瘫痪while running outside the debugger在调试器外运行程序, attach贴上、附加the debugger调试器to your program程序by choosing Start Debug调试、除错form the Build menu, and then choosing Attach to Process.如果你的程序在调试器外运行,导致应用程序瘫痪,通过选择Build---Start Dubug---attach to program,讲调试器连接到你的程序。
Fortran程序设计文件

♦ 物理设备与逻辑设备 ♦ 文件的概念 ♦ 外部文件分类 ♦ 文件基本操作(OPEN,WRITE/READ...) ♦ 文件记录的存取
Fortran程序设计文件
• 程序离不开数据,有效组织数据输入是设计和编 写程序的基本要求。
• 从键盘输入数据和向屏幕输出数据,适用于数据 量比较小的情况,不能与其它软件或程序交换数 据信息。
创建一个包含多个物理块的逻辑记录时,编译系统把长度值置为 129以表示当前物理块的数据和下一个物理块相连接。
Fortran程序设计文件
无格式直接文件 无格式直接文件是一系列非格式的记录,可以以任意顺 序读写记录。记录的长度都相同,由OPEN语句中的 RECL=选项 指定。没有字节分隔符或其它表示记录结 构的字节
Fortran程序设计文件
பைடு நூலகம்
与编辑器有关 ,VF一般*4
Fortran程序设计文件
Fortran程序设计文件
无格式顺序文件 无格式顺序文件中记录的长度可以不同,文件以130或 少于130字节为一个物理块进行组织。每个物理块包含 着输入到文件中的数据(最多128字节),编译系统在物理 块之间加入两个1字节长的长度值以说明每个记录的起 始和结束位置。 一个逻辑记录包含一个或多个物理块,其大小可在程序 中指定,编译系统会相应地使用需要数量的物理块。当
有格式直接存取 在格式化直接文件中,所有记录的长度都相同并且可以以 任意顺序读写。记录的长度由OPEN语句中的RECL=选项 指定,该长度应该大于或等于最长的记录中的字节数。CR 和LF是分隔符,不包括在RECL中。
Fortran程序设计文件
例:把1到10和它们的平方根存放到一个直接存取文件中,然后随意 查找1到10的平方根数。
(完整版)fortran文件操作

fortran文件操作From: 《Fortran 95 程序设计》彭国伦1.文件读取的概念:读取:“顺序读取”和“直接读取”。
保存:“文本文件”和“二进制文件”。
二进制文件:读取快,因为保存格式和数据在内存中的保存方法一样,同时也节省空间。
----------------------------------2. 文件的操作:----------------------------------open的使用:使用open命令打开文件之后,就可以对文件来做输入输出。
example:program ex0901impicit noneopen(unit=10, file='hello.txt') ! 打开hello.txt文件, unit指定文件代码,file 指定文件名称。
write(10, *) "hello" !在代码为10的文件中写入hellostopend program ex0901open中有很多参数可以使用,详细如下:OPEN(UNIT=number, FILE='filename', FORM='...', STATUS='...', ACCESS='...', RECL=length, ERR=label, IOSTAT=iostat, BLANK='...', POSITION='...', ACTION=action, PAD='...', DELIM='...')UNIT='number': number必须是一个正整数,它可以使用变量或是常量来赋值。
number最好避开1,2,5,6。
因为2,6是默认的输出位置,也就是屏幕。
1,5则是默认的输入位置,键盘。
FILE='filename':指定要打开的文件名称,文件名要符合系统规定。
fortranwrite用法

fortranwrite用法Fortran中的fortranwrite是一个用于文件写入的子程序。
它提供了一种将数据以二进制格式写入文件的方法,并可以按照指定格式将数据转换为字符文本。
fortranwrite具有灵活的选项,可以根据不同的需求调整数据写入的方式。
fortranwrite的基本语法如下:`WRITE (unit, format) [input-list]`其中,unit指定了要写入的文件单元号,通常是一个整数或逻辑单元号。
这个单元号可以是事先由OPEN语句获得的逻辑单元号,也可以是内建的实体所定义的逻辑单元号(如*或者"stdout"表示控制台输出,或者trim文件的单元号)。
format是一个字符表达式,用于指定将数据转换为字符的格式。
格式指令是用于指定如何写入和读取数据的符号,也称为“格式编辑描述符”。
Fortran的格式编辑描述符包括格式宽度、字段宽度、编辑序列等。
input-list是需要写入文件的数据列表。
数据可以是常数、数组、变量或者复合结构。
input-list中的每个元素都按照format中的格式转换为字符并写入文件。
下面是使用fortranwrite的一个例子:fortranprogram write_exampleimplicit noneinteger :: i, jreal :: x(10), y(10)! 给数组x和y赋值do i = 1, 10x(i) = iy(i) = i2end do! 打开文件并写入数据open(unit=10, file='data.dat', status='replace', action='write') do i = 1, 10write(10, '(2F10.2)') x(i), y(i)end doclose(unit=10)! 从文件读取数据并打印open(unit=10, file='data.dat', status='old', action='read')do i = 1, 10read(10, '(2F10.2)') x(i), y(i)end doclose(unit=10)! 打印读取到的数据do i = 1, 10write(*, '(2F10.2)') x(i), y(i)end doend program write_example在上面的示例中,我们首先定义了两个数组x和y,然后使用do循环为它们赋值。
fortranwrite用法 -回复

fortranwrite用法-回复Fortran是一种编程语言,它被广泛用于科学计算和数值分析领域。
在这篇文章中,我将详细介绍Fortran中的fortranwrite函数的用法以及它的作用。
Fortran是一种面向高性能计算的程序设计语言,广泛用于科学计算和工程领域。
它是世界上最早的高级程序设计语言之一,于1950年代由IBM 开发。
虽然有其他更现代化的编程语言,但Fortran在科学计算和数值分析方面的性能仍然无可比拟。
fortranwrite函数是Fortran编程语言中非常重要和常用的一个函数,用于将数据写入到外部文件中。
fortranwrite函数的语法如下:WRITE (unit, format) list其中,unit是一个整数表达式,代表文件的单元号。
在Fortran中,使用一个整数值来引用打开的外部文件。
format是格式控制字符串,定义了数据的输出格式。
list是一个包含要写入文件的数据的列表。
在使用fortranwrite函数之前,我们需要先打开一个外部文件。
这可以通过OPEN语句来完成。
下面是打开一个文件的示例:OPEN (unit = unit_number, file = 'filename.txt', status = 'unknown')其中,unit_number是一个整数表达式,代表要打开的文件的单元号。
filename.txt是要打开的文件的名称。
status是文件状态,可以是unknown、old、new等。
接下来,我们可以使用fortranwrite函数将数据写入文件。
在fortranwrite 函数中,我们需要指定要写入的数据所在的列表。
请注意,列表中的数据必须与format字符串中指定的格式相匹配。
以下是一个使用fortranwrite函数将数据写入文件的示例:program maininteger :: unit_numberreal :: data(5) = [1.0, 2.0, 3.0, 4.0, 5.0]open (unit = unit_number, file = 'data.txt', status = 'unknown')write (unit_number, '(5f10.2)') dataclose (unit_number)end program main在上面的示例中,我们首先声明了一个整数变量unit_number和一个包含5个实数值的数组data。
Fortran用户指南

Sun Microsystems, Inc.有关本文档的建议请发到:/hwdocs/feedback Fortran 用户指南Sun™ Studio 8部件号码 817-5802-10 2004 年 4 月,修订 A版权所有© 2004 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. 保留所有权利。
美国政府权利―商业软件。
政府用户在使用时应遵循 Sun Microsystems, Inc. 的标准许可协议和 FAR 及其补充中的适用规定。
使用本软件应遵守许可证条款。
此次分发可能包含由第三方开发的内容。
该产品的部分内容可能出自 Berkeley BSD 系统,由加州大学 (University of California) 授权。
UNIX 是在美国和其它国家(地区)的注册商标,由 X/Open Company, Ltd. 独家授权。
Sun、Sun Microsystems、Sun 徽标、Java、JavaHelp 是 Sun Microsystems, Inc. 在美国和其它国家(地区)的商标或注册商标。
所有的 SPARC 商标均需获得授权才能使用,它们是 SPARC International, Inc. 在美国和其它国家(地区)的商标或注册商标。
标有 SPARC 商标的产品都基于由Sun Microsystems, Inc. 开发的体系结构。
该产品为美国的出口控制法所涵该和控制,并有可能要遵守其它国家(地区)的出口或进口法规。
严禁将产品用于核、导弹、生化武器或核海事等最终目的或交给有此类企图的最终用户,无论是直接还是间接。
严禁将产品出口或再次出口到美国禁运的国家(地区)或美国出口排除列表中的实体,包括但不限于被拒绝的人员以及专门指定的公民列表。
本文档按“原样”提供,对所有明示或默示的条件、陈述和担保,包括对适销性、特殊用途的适用性或非侵权性的默示保证,均不承担任何责任,除非此免责声明的适用范围在法律上无效。
Fortran教程格式输入输出

格式阐明包括3种编辑描述符X,I和F。分别用I4和F5.1来控制 2345和67.8旳输出格式,1X也有特定旳用途。 格式阐明语句能够放在程序单位语句(主程序语句 PROGRAM,子程序语句FUNCTION或SUBROUTINE)之 后,END语句之前旳任何位置。
READ(*,10)A,B
10 FORMAT(F7.2,F6.1) 语句执行时,如从键盘输入123456□726.89,则A、B旳值分 别为12345.6和726.89。
当输入旳是指数形式时,假如E前面旳数字部分具有小数 点,则d不起作用。假如数字部分不具有小数点,则自动 按d决定数字部分小数点旳位置。
n FORMAT(格式阐明)
其中n是语句标号,FORMAT语句一定带有语句标号, 以便同格式输入输出语句配合使用。格式阐明由若干个 编辑描述符构成,编辑描述符之间用逗号分隔。例如
10 FORMAT(1X,I4,F5.1)
格式阐明语句是非执行语句,它只是给输入输出语句提 供数据旳格式描述。在程序运营过程中,由输入输出语句根 据格式阐明语句提供旳数据格式描述,实现数据旳格式控制。 单独旳格式阐明语句在程序中不器任何作用。例如
2. WRITE语句
WRITE语句旳一般格式是:
WRITE(u, f) 输出项
其中u是设备号,用于指明详细使用旳输入输出设备。u能 够是一种无符号整常量,也能够是一种整型变量或整型体 现式,还能够是星号*。*表达由计算机系统预先约定旳外 部设备,一般为显示屏。
f 是格式阐明符,指明了输入输出所用旳格式。它也有 三种形式,使用方法与PRINT语句相同。
WRITE(*,10)128.433,-0.0008
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.建立新的运行空间
File>new>workspace>new>prject>console application>new>file>free-form
2.建立多个文件
可以把子程序文件和主程序文件放在同一个source文件下
3.建立外部文件用于读写数据
Open(1,file=’ exam.txt ‘)用于打开文件,其中1为设备号——用一整数表示,exam.txt为要打开的文件名,文件有文件名和文件类型构成,文件名可给出路径如file=’ D:\exam\exam.txt ‘Write(1,*)’学生的成绩为:’用于在写在前面打开的1文件里写数据,其中*和0、5、6是系统预定义的设备号由系统隐含规定。
一个文件名只能和一个设备号建立联系,同样一个设备号也只能与一个文件建立联系,一个通过OPEN语句打开并指定了设备号的文件不能再次用OPEN语句打开
Read(1,*)表示从文件里面读取数据,一次读取一个数据,数据间用逗号隔开
每隔一个read语句或write语句默认的换一行读入或写入
Write(1,”(‘输入’)”)=write(1,*) ‘输入’
Write(1,”(‘I3,’输出’,I7)”) x,y结果是x以3个整型字符输出,输出,y以7个整型输出
Read(1,100)或write(1,100)I,j,k 100 format(I3,I7,F6)表示按照100语句的格式读入或输出顺序读写数据:
Read(uint设备号,fmt格式说明,end结束语句转移,eor错误语句转移)
输入数据可以按规定的域宽输入,也可以用逗号强制间隔,
1.使用read语句读取数据时,read语句输入表中的数据类型和格式应该与当前指针位置
数据类型和格式一致。
2.使用read语句读取数据时,从当前文件指针开始读取,完成读取后文件指针自动后移一
个记录,使用OPEN和REWIND语句时,文件指针指向第一个记录,从第一个记录开始读取。
3.使用read语句读取时,如果输入表要求输入的数据少于当前记录的数据个数,则多余的
数据将被忽略,下一个read语句从下一个新的记录开始读取数据。
相反则继续读取下条数据记录直到读完全部输入数据。
4.使用write语句时,从当前文件指针开始存写,完成存写后文件指针自动后移一个记录,
使用OPEN和REWIND语句时,文件指针指向第一个记录,从第一个记录开始读取。
如果文件已存在,则原文件的数据将丢失。
5.使用write语句写入数据时,从当前的位置开始写入,可使用format语句中的格式说明
及括号和反斜杠/创建多条新纪录写入,完成操作后,文件指针自动后移一个记录。
6.使用了read以后,立即使用write语句,将导致写入的数据为最后一个记录,其余的数
据将丢失。
如果在文件末尾要写入新的记录可以通过下了语句实现:
100 read(1,*,end=200)
Goto 100
200 write(1,*)’’
7.使用了write语句立即使用read语句会遇到一个文件结束标志。
如果写入后要立即进行
读取,需要用OPEN、rewind、backspace等对文件重新定位。
文件打开操作:
Open(unit=设备号,file=文件名,access=存取方式,form=存取格式,recl=记录长度,err=错误转移,pad=补加空格,position=读取位置)
如err=100,表示跳到100号语句
Position 为文件位置包括三个格式,ASIS,已存在文件的上一次操作位置为文件的位置,缺
省值,REWIND指向开头,append指向末尾
Status=’old’打开已存在的文件,默认为该选项’new’在磁盘上新建文件’scratch’打开的文件为临时文件,文件关闭或程序结束时被删除’unknow’先用OLD打开,如果打开失败用NEW创建
文件关闭,close(1)
格式输入输出:
nI3,NF3.1,NE8.1,NA8分别表示整型占三个字符重复n次;浮点型共三个字符(包括小数点),小数点后为一位,重复n次;科学型,占8个字符包括E和小数点,小数点后为一位。
字符串的输出。
NX表示从当前位置空N个字符空格
如下(2X,I3,3X,I4)表示空两格读取一个整型3位的数,然后空三格读取整型为4的数。
/用于输入输出中本行结束从下一行输入或输出,斜杠控制符前可以有逗号也可以没逗号。
\表示下一语句的输出从本行的末输出
Read *,print *,*号可用数字代替,如print 8,表示按照8号语句的格式输出。