版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualFortran90程序设计(chénɡxùshèjì)编译器简介(jiǎnjiè)§2.4程序单元(dānyuán)概念§2.1Fortran语言的发展§2.2源程序及其构成§2.3语言元素第一页,共50页。1、运行VisualFortran6.6(FortranPowerStation4.0)2、文件——新建——Workspaces标签:输入:Workspacename;此步可省略,直接进入第3步(最好改为(ɡǎiwéi)d:\)3、File-New-Projects标签选择:Win32ConsoleApplication输入:name其它采用默认值三、开发自己(zìjǐ)的简单应用程序第二页,共50页。第三页,共50页。第四页,共50页。a、创建project时将自动创建同名的workspaceb、生成projectname的文件夹(目录)打开后:自动形成Debug目录,形成*.dsw文件4、File-New-File标签:选择:FortranfreeFormat…(自由格式).F90或FortranFixedFormat…(固定格式).For输入:文件名(扩展名不输入)其它(qítā)默认,选中addtoproject复选项会自动形成*.f90或*.for的文件。第五页,共50页。第六页,共50页。5、输入文件内容、存盘(文件菜等)注意自由格式和固定格式输入的区别。6、Build—Compile:编译Build—Build:连接Build—Exetuce:运行重复3~6进行第二个源程序(注意一个项目中只能含有1个主程序文件,不能将两个独立的程序文件放入同一个项目中,否则会导致(dǎozhì)编译错误。)或用DEL移去已建立的文件,重复4~6第七页,共50页。第八页,共50页。编译连接执行第九页,共50页。注意:1)所移去的文件仅从此项目中移去,目录下该文件仍然存在。2)所重复的不得与以前的文件名同名。7、下次重新修改程序时,可直接使用(shǐyòng)菜单File/OpenWorkspace来打开*.dsw的工程文件。第十页,共50页。第二章FORTRAN语言(yǔyán)的发展简史第十一页,共50页。§2.1Fortran语言(yǔyán)的发展简史一、FORTRAN含义及其适用范围FORmulaTRANslator公式翻译器科学(kēxué)和工程计算问题的程序设计语言二、发展(fāzhǎn)简史代表性:19571958FORTRANⅡ1962FORTRANⅣ1978FORTRAN771991.FORTRAN901997.FORTRAN95第十二页,共50页。§2.2FORTRA90源程序基本(jīběn)结构1、由若干个程序单元(位)组成:主程序、外部子程序、模块、块数据(shùjù)单元2、主程序结构[program程序名称]一般省略[声明语句部分][执行语句部分]END[program[程序名称]]3、END停止运行结束(jiéshù)标记第十三页,共50页。书写(shūxiě)格式Fortran程序代码的编写(biānxiě)格式有两种:FreeFormat(自由格式)扩展名:.F90建议所有程序全部改用自由格式来编程FixedFormat(固定格式)扩展名:.F或.FOR第十四页,共50页。书写(shūxiě)格式FixedFormat(固定(gùdìng)格式)第1个字符如果是字母c、C或*,这一行文本会当成说明或批注,不会被编译。第1~5个字符如果是数字,就是用来给这一行程序代码取个代号,不然只能是空格。第6个字符如果是非0非空的任何字符,表示这一行程序会接续上一行。第7~72个字符Fortran程序代码的编写区域。第73个字符以后不使用这些列,语句超过该列的部分会被忽略,有的编译器会发出错误信息。第十五页,共50页。书写(shūxiě)格式1.CFIXEDFORMATDEMOPROGRAMMAINWRITE(*,*)‘HELLO’WRITE(*,*)1’HELLO’100WRITE(*,*)’HELLO’10STOPEND程序代码命令之间的空格,不会有任何意义。FIXEDFORMAT是为了配合早期使用穿孔卡片输入程序所发明(fāmíng)的格式。第十六页,共50页。FreeFormat(自由格式)基本上允许非常自由的编写格式,它没有规定每一行的第几个字符有什么作用,但要注意:1.!感叹号后面的文本都是注释。2.每行可以编写132个字符。3.行号放在每行程序的最前面。4.一行程序代码的最后如果(rúguǒ)是符号&,代表下一行程序会和这一行连接。如果(rúguǒ)一行程序代码的开头是符号&,代表它会和上一行程序连接。5.程序命令之间的空格,无意义。书写(shūxiě)格式第十七页,共50页。书写(shūxiě)格式1.!FreeFgrammain3.write(*,*)”Hello”!这也是注释(zhùshì)4.write(*,*)&5.”Hello”6.wri&7.&te(*,*)”Hello”8.end如果把Fortran的关键字分为两行书写,则两行都要加续行符号。如6、7行。第十八页,共50页。注释(zhùshì)语句:!后的所有字符都被编译器忽略(非语句行)可独占一行,可在其它语句之后,
语句行:可执行语句:输入(shūrù)、赋值、输出说明语句:用于说明变量的类型、属性等注意(zhùyì):第十九页,共50页。行的书写(行的长度、分行、续行)一行可以是0~132个字符,空格有意义,语句最长不超过2640个字符一行可以有多个语句,用“;”分隔一个语句可分行写,读行标记为&(放在尾部(wěibù)),但如为关键字,首尾均加&。最多可有511个续行。例pro&&grammain书写(shūxiě)格式第二十页,共50页。空格:关键字、变量、常量内部不能用空格,但相邻两者之间须用空格语句前标号仅用于标识一个语句,与运行顺序无关。语句有位置(wèizhi)规定说明语句必须出现在可执行语句之前,格式说明语句(FORMAT语句)除外。书写(shūxiě)格式第二十一页,共50页。§2.3语言(yǔyán)元素Fortran90的语言(yǔyán)元素是指在程序设计中所用到的基本成分,例如字符集、常量、变量、记号以及其它的基本结构等。只有了解并掌握了这些基本要素,才可能正确自如地使用该种语言(yǔyán)。2.3.1FORTRAN90字符集:编写Fortran90程序时,所能使用的所有字符及符号。⑴A~Z(a~z)程序中不区分大小写26个在大多数处理系统(xìtǒng)中允许使用小写字母,除了字符串内的字符外,小写字母等价于相应的大写字母。第二十二页,共50页。⑵0~910个⑶空格=+-*/(),:.$‘22个⑷_(下划线)、!、”、%、&、;、>、<、?注意:1、在FOR源程序中,只能使用以上字符2、字符型数据内可以出现任意字符(包括汉字)命名规则:1~31个字符,由字母、数字、下划线组成,第一个字符为字母全局名:主程序单元、外部过程(guòchéng)、数据块、模块2.3.1FORTRAN90字符集第二十三页,共50页。在Fortran90中,将字母、数字或专用字符的基本有效的序列称为记号,它包括标号、关键字、名字、常数、运算符和定界符。例如:A*SIN(x)+5.3这个表达式包括6个记号,即A、*、SIN、x、+、5.3。注意:在字符串内部,不能随意地添加空格。在记号内部,也不许随意地使用空格。记号与记号之间的空格可以随意地使用。多个空格在语法上与一个空格的作用相同。一个记号与相邻(xiānɡlín)关键字、名字、常数或标号之间,应当用一个或多个空格分开,以避免错误,同时也使结构清晰。2.3.2记号(jìhɑo)第二十四页,共50页。常量(chángliàng)的定义:常量(chángliàng)是程序执行过程中不能变化的量。基本数据类型有五种:整型、实型、复型、字符型和逻辑型前三种属于数值类型,后两种为非数值类型,主要用于文字处理和控制。2.3.3基本(jīběn)类型常量第二十五页,共50页。I格式(整数格式)一般形式:Iw或:Iw.m其中:w一个数据占的位数宽度(又称“字段宽度”),m需要输出(shūchū)的最少数字位数。Fortran的数据类型F格式(又叫小数型格式)一般形式(xíngshì):Fw.dw各数值占的总位数,d输出数据的小数位数(小数点后的位数)。第二十六页,共50页。Fortran的数据类型E格式(又叫指数型格式)一般(yībān)形式:Ew.dw各数值占的总位数,d输出数据的小数位数(小数点后的位数)。G格式G格式可以根据输出(shūchū)的实数大小决定用小数形式(F格式)输出(shūchū)或指数形式(E格式)输出(shūchū)。当输出(shūchū)大数值或小数值时自动按E格式,当输出(shūchū)的数不大不小时用F格式。其一般形式为:Gw.d第二十七页,共50页。Fortran的数据类型D格式一般形式:Dw.a用于双精度数据的输出,使用方法与E格式相仿(xiāngfǎng),只是把字母“E”换成“D”。L格式一般形式(xíngshì):Lw用于逻辑型数据的输出,w输出数据的字段宽度。逻辑值“.TRUE.",在输出时打印一个字母T;逻辑值".FLASE.",在输出时打印一个字母F。第二十八页,共50页。Fortran的数据类型X格式一般形式:nX用于输出空格,n输出的空格数目。即插入n个空格,或者说,使打印(dǎyìn)的“当前位置”向右移动n列。/(斜杠)格式斜杠(/)编辑(biānjí)符的作用是:结束本记录的输出并开始下一个记录的输出。第二十九页,共50页。字符(CHARACTER)计算机除了存储数字(shùzì)之外,也可以在内存中记录一段文本,字符类型可以记录的东西非常广,从键盘输入的任何东西,不论是数字(shùzì)、文本或任何特殊符号,它都可以记录,只记录一个字母、符号时的数据类型称为“字符”,记录一连串的字符时,就称为“字符串”,记录一个西文字符需要一个字节的存储空间。一个汉字为两个字节的存储空间。一般记为:Aw,w为字符数例:Character(LEN=10)::wordlen=10可以直接写为10或缺省长度为1;如只有一个没有命名的参数,一定是长度整数Fortran的数据类型第三十页,共50页。Fortran的数据类型FORMAT(1X,S)其中:1X纵向走纸符,S输出格式,用不同的“格式编辑符”(简称“编辑符”)来实现指定的输出格式,各格式间用逗号相隔(xiānggé)。FORMAT语句又叫“格式语句”,是一个非执行语句,本身不产生任何操作,只是提供输入或输出的格式。FORMAT语句可以出现在程序的任何地方(但必须在PROGRAM语句之后和END语句之前,如果在子程序中用FORMAT语句,则应在子程序定义语句之后)。第三十一页,共50页。2.3.4名字(míngzi)对于名字有下列要求:1.名字的长度不能超过31个字符2.名字的组成成分可以是字母、数字和下划线3.名字的第一个字符必须是字母4.在名字中不能出现空格提倡使用具有一定含义(hányì)的名字,提高程序的清晰度和可读性。第三十二页,共50页。1、定义:程序运行过程中值(zhōnɡzhí)可变化的量2、命名的规则字母、数字、下划线组成(zǔchénɡ)字母开头长度1-31个错例3A、x-3、3.14、A3$2.3.5变量(biànliàng)第三十三页,共50页。3、变量含义:实际是内存中的一个存储单元,存放变量的值。特性:取之不尽,一冲就跑,总采用当前值参与运算。例:A=2.0AB B=3.0 A=A+B5.015.0 B=A*B注:A、B必须有确定值,如未定义,值不可预测(yùcè) (有时按0处理)2.03.0第三十四页,共50页。4、变量类型:基本类型有五种,同常量I-N规则(隐式说明):在程序变量名中,凡以字母I、J、K、L、M、N六个字母开头的变量为整型变量。implicitnone可以取消I-N规则。五种变量的类型说明关键字:整型:INTEGER实型:REAL复型:COMPLEX逻辑型:LOGICAL字符(zìfú)型:CHARACTER待说明的变量放在后面,中间用双分隔符::隔开,对于同时说明多个变量,变量之间用逗号分隔。第三十五页,共50页。Fortran90关于变量说明的新功能:1.在变量说明的同时(tóngshí),可以给变量赋初值。INTEGER::I=5,J=126REAL::X=7.2,Z,W=774.22.在说明变量的同时(tóngshí)也可说明其种别3.在说明变量的同时(tóngshí),还可说明变量的属性INTEGER,PARAMETER::I=5,J=123REAL,DIMENSION(1:10)::A第三十六页,共50页。2.3.6派生(pàishēng)数据类型根据需要而由基本数据类型定义新的数据类型。在一个派生类型中可包含多个(duōɡè)基本类型。如:TYPESTUDENT(定义开始)CHARACTER(LEN=20)::DEPARTMENTCHARACTER(LEN=10)::CLASSCHARACTER(LEN=15)::NAMEINTEGER::NUMBER(成员定义)ENDTYPESTUDENT(定义结束)第三十七页,共50页。派生类型变量(biànliàng)的定义:TYPE(STUDENT)::PERSON变量(biànliàng)的赋值:PERSON=(”COMPUTER”,”92_2”,”LILIN”,21)成员的表示:PERSON%CLASS=“92_2”PERSON%NAME=“LILIN”第三十八页,共50页。2.3.7基本(jīběn)类型数组数组是具有相同类型的元素的有序集合。数组在使用之前必须说明。数组的说明:INTEGER,DIMENSION(1:50)::X;数组名为X,类型为整型,元素个数为50。INTEGER,DIMENSION(5,3)::B;数组名为B,类型为整型,元素个数为5*3个维界:1:50上界:下界缺省下界为1数组中元素的个数称为它的大小(dàxiǎo),维数称为秩,每维中元素的个数称为维的长度,长度的序列称为形。第三十九页,共50页。数组的引用:通过指定下标值的办法来实现。下标值可为整数或整型表达式。下标值不能越界,个数必须与数组的秩相等。注意:1.允许(yǔnxǔ)对数组名进行运算。2.允许(yǔnxǔ)对数组片段进行操作。所谓数组片段是指数组中某些连续元素的重新组合。数组片段也是一个数组。第四十页,共50页。2.3.8字符(zìfú)子串字符(zìfú)型常量又叫字符(zìfú)串。一个字符(zìfú)串的一部分称为子字符(zìfú)串或字符(zìfú)子串。字符(zìfú)数组:CHARACTER(LEN=1),DIMENSION(80)::ROW引用:ROW(I)字符(zìfú)串:CHARACTER(LEN=80)::ROW引用:ROW(I:I);ROW(4:7)特殊:ROW(:I)相当于ROW(1:I)ROW(I:)相当于ROW(I:80)ROW(:)相当于ROW(1:80)特定长度字符(zìfú)数组:CHARACTER(LEN=80),DIMENSION(25)::ROWC引用:ROWC(I)(J:J)第四十一页,共50页。2.3.9数据(shùjù)对象和子对象由一个名引用的对象:有名标量(biāoliàng)有名数组由子对象标志符引用的子对象是:数组元素数组片段结构分量子串第四十二页,共50页。§2.4程序单元(dānyuán)概念程序单元是FORTRAN语言的基本成分。程序单元可以是主程序、子程序、模块或块数据程序单元。子程序可以是函数子程序或子例行子程序。模块包含的说明是对其它的程序单元形成可访问性。块数据单元用来对有名公用区中的数据对象赋初值。(F90中不提倡(tíchàng)使用)第四十三页,共50页。2.4.1主程序主程序是不包含SUBROUTINE、FUNCTION、MODULE或BLOCKDATA语句作为其第一条语句的程序单元。主程序的可执行部分不能包含有RETURN语句或者ENTRY语句。程序名对可执行程序是全局的,而且不得(bude)于该可执行程序中的任何其它程序单元名、外部过程名或公用块名相同,也不得(bude)于主程序内的任何局部名相同。在主程序的作用范围内的说明不得(bude)包含OPTIONAL语句、INTENT语句、PUBLIC语句或它们的等价属性,在主程序内SAVE语句不起作用。主程序内的任何内部过程的定义必须跟在CONTAINS语句之后。第四十四页,共50页。2.3.2子程序子程序是可以(kěyǐ)完成某一独立算法或功能的程序单元,但它功能的具体体现要通过主程序(或子程序)的调用来实现。按子程序与主程序的位置关系分为内部过程和外部过程。内部过程可以(kěyǐ)出现在主程序、外部过程或模块内。第四十五页,共50页。2.4.3模块(mókuài)模块也是一种在程序单元之外独立编写的程序单元。它有独特的形式,即模块程序单元内没有可执行语句(yǔjù),除了说明语句(yǔjù)外,最多包含内部过程。模块的主要作用是供其它程序单元引用。程序单元引用模块,实际是将模块内的全部语句(yǔ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业元宇宙概念下的商标视觉表达
- 黑龙江省哈尔滨市第三中学2025-2026学年度下学期高二学年期中考试 地理答案
- 心脏破裂专题学习
- 白内障术前心理护理与沟通
- PL技术基础应用 4
- 气管切开患者的团队合作护理
- 特殊患者群体护理安全挑战
- 甲状腺疾病护理中的职业安全
- 胫骨横向骨搬运术
- 新生儿回流灌肠
- GB/T 1231-2024钢结构用高强度大六角头螺栓连接副
- DG-TJ 08-2242-2023 民用建筑外窗应用技术标准
- 生活污水清运协议范本
- 《过华清宫绝句(其一)》-【中职专用】高一语文(高教版2023基础模块下册)
- 《直丝弓矫治技术》课件
- 老年跌倒风险评估与预防策略
- 苗木采购投标方案(技术方案)(技术方案)
- 拨叉的课程设计说明书
- 液压升降平台安装施工方案
- 自然资源登记单元代码编制规则 编制说明
- 中考语文复习专题训练-丁立梅作品阅读训练
评论
0/150
提交评论