FORTRAN新建,添加外部文件和简要读写格式说明
Fortran输入输出格式控制

Fortran输入输出格式控制Open, Read and Write in Fortran1:write(*,*)"string";write(unit=*,FMT=*)"string";write(unit=6,FMT=*)"string"。
以上等价,6是默认输出位置,即屏幕。
2:print*,"string"。
Print只能对屏幕输出。
3:integer(kind=4) a !f90;integer*4 a !f77;integer(4) a !f77。
以上等价。
real(kind=4) a !f90;real*4 a !f77;real(4) a !f77。
以上等价。
4:f77,变量名长度1~6;f90,变量名长度1~31。
5:read(*,*)"string";write(unit=*,FMT=*)"string";write(unit=5,FMT=*)"string"。
以上等价,5是默认输入位置,即键盘。
6:FORMAT(http://202.118.74.226/fortran/pages/730.htm)6.1 格式输出格式输出语句由两部分组成:输出语句和输出格式语句。
输出语句的一般形式为:WRITE(*,L) 输出表列或:PRINT L 输出表列其中:* 代表隐含的输出设备,L 指输出格式语句的标号。
输出格式语句的一般形式:L FORMAT(1X,S)其中:L 输出格式语句的标号,1X 纵向走纸符,S 输出格式,用不同的―格式编辑符‖(简称―编辑符‖)来实现指定的输出格式,各格式间用逗号相隔。
FORMAT语句又叫―格式语句‖,是一个非执行语句,本身不产生任何操作,只是提供输入或输出的格式。
FORMAT语句可以出现在程序的任何地方(但必须在PROGRAM语句之后和END语句之前,如果在子程序中用FORMAT语句,则应在子程序定义语句之后)。
fortran新建,添加外部文件和简要读写格式说明

1.建立新的运行空间File>new>workspace>new>prject>console application>new>file>free-form2.建立多个文件可以把子程序文件和主程序文件放在同一个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语句时,文件指针指向第一个记录,从第一个记录开始读取。
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写入文件

Fortran写 入 文 件
open(100,file='results.d',status='replace',position='append') write(100,'(<nx+1>(2x,I5.3))') chi write(100,'(<ny>(2x,f25.15))') delta close(100)
Format: I5.3 : 5个字符宽度输出整数,最少3个数字 F25.15: 25个字符宽度输出整数,最少输出15个数字
Position: asis: 打开时的读取位置,不特别指定,通常为文件开头,这是默认值 rewind: 打开时的读取位置在文件开头 end: 打开时的读取位置在文件结尾
Status: 'new': 原来不存在 ‘old’ : 原来存在 ‘replace’: 若存在,则替换原文件,若不存在,创建新文件 ‘scratch’: 打开暂存盘,不需要名字,file可省略。暂存盘会在程序结束后自动删除。 ‘unknown’: 根据编译器决定,通常同replace。默认为unknow
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循环为它们赋值。
- 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,已存在文件的上一次操作位置为文件的位置,缺。