资料 + CompaqVisual Fortran6教程_第1页
资料 + CompaqVisual Fortran6教程_第2页
资料 + CompaqVisual Fortran6教程_第3页
资料 + CompaqVisual Fortran6教程_第4页
资料 + CompaqVisual Fortran6教程_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VisualFortran90程序设计,编译器简介,2.4程序单元概念,2.1Fortran语言的发展,2.2源程序及其构成,2.3语言元素,1、运行VisualFortran6.6(FortranPowerStation4.0)2、文件新建Workspaces标签:输入:Workspacename;此步可省略,直接进入第3步(最好改为d:)3、File-New-Projects标签选择:Win32ConsoleApplication输入:name其它采用默认值,三、开发自己的简单应用程序,a、创建project时将自动创建同名的workspaceb、生成projectname的文件夹(目录)打开后:自动形成Debug目录,形成*.dsw文件4、File-New-File标签:选择:FortranfreeFormat(自由格式).F90或FortranFixedFormat(固定格式).For输入:文件名(扩展名不输入)其它默认,选中addtoproject复选项会自动形成*.f90或*.for的文件。,5、输入文件内容、存盘(文件菜等)注意自由格式和固定格式输入的区别。6、BuildCompile:编译BuildBuild:连接BuildExetuce:运行重复36进行第二个源程序(注意一个项目中只能含有1个主程序文件,不能将两个独立的程序文件放入同一个项目中,否则会导致编译错误。)或用DEL移去已建立的文件,重复46,编译,连接,执行,注意:1)所移去的文件仅从此项目中移去,目录下该文件仍然存在。2)所重复的不得与以前的文件名同名。7、下次重新修改程序时,可直接使用菜单File/OpenWorkspace来打开*.dsw的工程文件。,第二章FORTRAN语言的发展简史,2.1Fortran语言的发展简史,一、FORTRAN含义及其适用范围FORmulaTRANslator公式翻译器科学和工程计算问题的程序设计语言,二、发展简史代表性:1957,1958FORTRAN,1962FORTRAN,1978FORTRAN77,1991.FORTRAN901997.FORTRAN95,2.2FORTRA90源程序基本结构,1、由若干个程序单元(位)组成:主程序、外部子程序、模块、块数据单元2、主程序结构program程序名称一般省略声明语句部分执行语句部分ENDprogram程序名称3、END,停止运行结束标记,书写格式,Fortran程序代码的编写格式有两种:FreeFormat(自由格式)扩展名:.F90建议所有程序全部改用自由格式来编程FixedFormat(固定格式)扩展名:.F或.FOR,书写格式,FixedFormat(固定格式),书写格式,1.CFIXEDFORMATDEMOPROGRAMMAINWRITE(*,*)HELLOWRITE(*,*)1HELLO100WRITE(*,*)HELLO10STOPEND程序代码命令之间的空格,不会有任何意义。FIXEDFORMAT是为了配合早期使用穿孔卡片输入程序所发明的格式。,FreeFormat(自由格式)基本上允许非常自由的编写格式,它没有规定每一行的第几个字符有什么作用,但要注意:1.!感叹号后面的文本都是注释。2.每行可以编写132个字符。3.行号放在每行程序的最前面。4.一行程序代码的最后如果是符号”分隔一个语句可分行写,读行标记为&(放在尾部),但如为关键字,首尾均加&。最多可有511个续行。例pro&grammain,书写格式,空格:关键字、变量、常量内部不能用空格,但相邻两者之间须用空格语句前标号仅用于标识一个语句,与运行顺序无关。语句有位置规定说明语句必须出现在可执行语句之前,格式说明语句(FORMAT语句)除外。,书写格式,2.3语言元素,Fortran90的语言元素是指在程序设计中所用到的基本成分,例如字符集、常量、变量、记号以及其它的基本结构等。只有了解并掌握了这些基本要素,才可能正确自如地使用该种语言。,2.3.1FORTRAN90字符集:编写Fortran90程序时,所能使用的所有字符及符号。AZ(az)程序中不区分大小写26个在大多数处理系统中允许使用小写字母,除了字符串内的字符外,小写字母等价于相应的大写字母。,0910个空格=+-*/(),:.$22个_(下划线)、!、”、%、&、;、?注意:1、在FOR源程序中,只能使用以上字符2、字符型数据内可以出现任意字符(包括汉字)命名规则:131个字符,由字母、数字、下划线组成,第一个字符为字母全局名:主程序单元、外部过程、数据块、模块,2.3.1FORTRAN90字符集,在Fortran90中,将字母、数字或专用字符的基本有效的序列称为记号,它包括标号、关键字、名字、常数、运算符和定界符。例如:A*SIN(x)+5.3这个表达式包括6个记号,即A、*、SIN、x、+、5.3。注意:在字符串内部,不能随意地添加空格。在记号内部,也不许随意地使用空格。记号与记号之间的空格可以随意地使用。多个空格在语法上与一个空格的作用相同。一个记号与相邻关键字、名字、常数或标号之间,应当用一个或多个空格分开,以避免错误,同时也使结构清晰。,2.3.2记号,常量的定义:常量是程序执行过程中不能变化的量。基本数据类型有五种:整型、实型、复型、字符型和逻辑型前三种属于数值类型,后两种为非数值类型,主要用于文字处理和控制。,2.3.3基本类型常量,I格式(整数格式)一般形式:Iw或:Iw.m其中:w一个数据占的位数宽度(又称“字段宽度”),m需要输出的最少数字位数。,Fortran的数据类型,F格式(又叫小数型格式)一般形式:Fw.dw各数值占的总位数,d输出数据的小数位数(小数点后的位数)。,Fortran的数据类型,E格式(又叫指数型格式)一般形式:Ew.dw各数值占的总位数,d输出数据的小数位数(小数点后的位数)。,G格式G格式可以根据输出的实数大小决定用小数形式(F格式)输出或指数形式(E格式)输出。当输出大数值或小数值时自动按E格式,当输出的数不大不小时用F格式。其一般形式为:Gw.d,Fortran的数据类型,D格式一般形式:Dw.a用于双精度数据的输出,使用方法与E格式相仿,只是把字母“E”换成“D”。,L格式一般形式:Lw用于逻辑型数据的输出,w输出数据的字段宽度。逻辑值“.TRUE.,在输出时打印一个字母T;逻辑值.FLASE.,在输出时打印一个字母F。,Fortran的数据类型,X格式一般形式:nX用于输出空格,n输出的空格数目。即插入n个空格,或者说,使打印的“当前位置”向右移动n列。,/(斜杠)格式斜杠(/)编辑符的作用是:结束本记录的输出并开始下一个记录的输出。,字符(CHARACTER)计算机除了存储数字之外,也可以在内存中记录一段文本,字符类型可以记录的东西非常广,从键盘输入的任何东西,不论是数字、文本或任何特殊符号,它都可以记录,只记录一个字母、符号时的数据类型称为“字符”,记录一连串的字符时,就称为“字符串”,记录一个西文字符需要一个字节的存储空间。一个汉字为两个字节的存储空间。一般记为:Aw,w为字符数例:Character(LEN=10):wordlen=10可以直接写为10或缺省长度为1;如只有一个没有命名的参数,一定是长度整数,Fortran的数据类型,Fortran的数据类型,FORMAT(1X,S)其中:1X纵向走纸符,S输出格式,用不同的“格式编辑符”(简称“编辑符”)来实现指定的输出格式,各格式间用逗号相隔。FORMAT语句又叫“格式语句”,是一个非执行语句,本身不产生任何操作,只是提供输入或输出的格式。FORMAT语句可以出现在程序的任何地方(但必须在PROGRAM语句之后和END语句之前,如果在子程序中用FORMAT语句,则应在子程序定义语句之后)。,2.3.4名字,对于名字有下列要求:1.名字的长度不能超过31个字符2.名字的组成成分可以是字母、数字和下划线3.名字的第一个字符必须是字母4.在名字中不能出现空格提倡使用具有一定含义的名字,提高程序的清晰度和可读性。,1、定义:程序运行过程中值可变化的量2、命名的规则,字母、数字、下划线组成字母开头长度1-31个,错例3A、x-3、3.14、A3$,2.3.5变量,3、变量含义:实际是内存中的一个存储单元,存放变量的值。特性:取之不尽,一冲就跑,总采用当前值参与运算。例:A=2.0ABB=3.0A=A+B5.015.0B=A*B注:A、B必须有确定值,如未定义,值不可预测(有时按0处理),2.0,3.0,4、变量类型:基本类型有五种,同常量I-N规则(隐式说明):在程序变量名中,凡以字母I、J、K、L、M、N六个字母开头的变量为整型变量。implicitnone可以取消I-N规则。五种变量的类型说明关键字:整型:INTEGER实型:REAL复型:COMPLEX逻辑型:LOGICAL字符型:CHARACTER待说明的变量放在后面,中间用双分隔符:隔开,对于同时说明多个变量,变量之间用逗号分隔。,Fortran90关于变量说明的新功能:1.在变量说明的同时,可以给变量赋初值。INTEGER:I=5,J=126REAL:X=7.2,Z,W=774.22.在说明变量的同时也可说明其种别3.在说明变量的同时,还可说明变量的属性INTEGER,PARAMETER:I=5,J=123REAL,DIMENSION(1:10):A,2.3.6派生数据类型,根据需要而由基本数据类型定义新的数据类型。在一个派生类型中可包含多个基本类型。如:TYPESTUDENT(定义开始)CHARACTER(LEN=20):DEPARTMENTCHARACTER(LEN=10):CLASSCHARACTER(LEN=15):NAMEINTEGER:NUMBER(成员定义)ENDTYPESTUDENT(定义结束),派生类型变量的定义:TYPE(STUDENT):PERSON变量的赋值:PERSON=(”COMPUTER”,”92_2”,”LILIN”,21)成员的表示:PERSON%CLASS=“92_2”PERSON%NAME=“LILIN”,2.3.7基本类型数组,数组是具有相同类型的元素的有序集合。数组在使用之前必须说明。数组的说明:INTEGER,DIMENSION(1:50):X;数组名为X,类型为整型,元素个数为50。INTEGER,DIMENSION(5,3):B;数组名为B,类型为整型,元素个数为5*3个维界:1:50上界:下界缺省下界为1数组中元素的个数称为它的大小,维数称为秩,每维中元素的个数称为维的长度,长度的序列称为形。,数组的引用:通过指定下标值的办法来实现。下标值可为整数或整型表达式。下标值不能越界,个数必须与数组的秩相等。注意:1.允许对数组名进行运算。2.允许对数组片段进行操作。所谓数组片段是指数组中某些连续元素的重新组合。数组片段也是一个数组。,2.3.8字符子串,字符型常量又叫字符串。一个字符串的一部分称为子字符串或字符子串。字符数组:CHARACTER(LEN=1),DIMENSION(80):ROW引用:ROW(I)字符串:CHARACTER(LEN=80):ROW引用:ROW(I:I);ROW(4:7)特殊:ROW(:I)相当于ROW(1:I)ROW(I:)相当于ROW(I:80)ROW(:)相当于ROW(1:80)特定长度字符数组:CHARACTER(LEN=80),DIMENSION(25):ROWC引用:ROWC(I)(J:J),2.3.9数据对象和子对象,由一个名引用的对象:有名标量有名数组由子对象标志符引用的子对象是:数组元素数组片段结构分量子串,2.4程序单元概念,程序单元是FORTRAN语言的基本成分。程序单元可以是主程序、子程序、模块或块数据程序单元。子程序可以是函数子程序或子例行子程序。模块包含的说明是对其它的程序单元形成可访问性。块数据单元用来对有名公用区中的数据对象赋初值。(F90中不提倡使用),2.4.1主程序,主程序是不包含SUBROUTINE、FUNCTION、MODULE或BLOCKDATA语句作为其第一条语句的程序单元。主程序的可执行部分不能包含有RETURN语句或者ENTRY语句。程序名对可执行程序是全局的,而且不得于该可执行程序中的任何其它程序单元名、外部过程名或公用块名相同,也不得于主程序内的任何局部名相同。在主程序的作用范围内的说明不得包含OPTIONAL语句、INTENT语句、PUBLIC语句或它们的等价属性,在主程序内SAVE语句不起作用。主程序内的任何内部过程的定义必须跟在CONTAINS语句之后。,2.3.2子程序,子程序是可以完成某一独立算法或功能的程序单元,但它功能的具体体现要通过主程序(或子程序)的调用来实现。按子程序与主程序的位置关系分为内部过程和外部过程。内部过程可以出现在主程序、外部过程或模块内。,2.4.3模块,模块也是一种在程序单元之外独立编写的程序单元。它有独特的形式,即模块程序单元内没有可执行语句,除了说明语句外,最多包含内部过程。模块的主要作用是供其它程序单元引用。程序单元引用模块,实际是将模块内的全部语句复制到本程序单元。模块的引用采用语句:USE模块1,模块2,,2.4.4块数据程序单元,块数据程序单元对有名公用块内的数据对象提供初值。由于块数据程序单元赖以支持的COMMON语句和DATA语句在F90中已成为过时特性,因此,不提倡使用块数据程序单元。,GNUCompiler自由软件,一般操作系统都

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论