fortran程序设计初步课件.ppt

上传人(卖家):晟晟文业 文档编号:5191703 上传时间:2023-02-16 格式:PPT 页数:179 大小:6.42MB
下载 相关 举报
fortran程序设计初步课件.ppt_第1页
第1页 / 共179页
fortran程序设计初步课件.ppt_第2页
第2页 / 共179页
fortran程序设计初步课件.ppt_第3页
第3页 / 共179页
fortran程序设计初步课件.ppt_第4页
第4页 / 共179页
fortran程序设计初步课件.ppt_第5页
第5页 / 共179页
点击查看更多>>
资源描述

1、2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业1 FORTRANFORTRAN语言程序设计初步2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业2任何一种程序设计语言都有自己的任何一种程序设计语言都有自己的一套语法规则以及由基本符号按语一套语法规则以及由基本符号按语法规则构成的各种语法成分:如常法规则构成的各种语法成分:如常量、变量、表达式、语句、函数等量、变量、表达式、语句、函数等.FORTRANFORTRAN语言程序设计初步语言程序设计初步就是要求就是要求我们熟练地掌握这些语法成分。我们熟练地掌握这些语法成分。2023-1-30华科大土木学院土木

2、工程专业华科大土木学院土木工程专业2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业5FORTRAN 90FORTRAN 90的推出,是的推出,是FORTRANFORTRAN语言发展史上的一个里语言发展史上的一个里程碑,它挽救了程碑,它挽救了FORTRANFORTRAN语言面临淘汰的局面,使传统语言面临淘汰的局面,使传统的的FORTRANFORTRAN语言焕发了青春语言焕发了青春,以其强大的功能和严谨的以其强大的功能和严谨的风格受到人们的欢迎和认可风格受到人们的欢迎和认可,并展现出良好的应用前景并展现出良

3、好的应用前景 FORTRAN95FORTRAN95是是FORTRAN90FORTRAN90的修订版,增加了许多新功能的修订版,增加了许多新功能,加强了多处理机并行计算能力。加强了多处理机并行计算能力。发达国家已开始重新认识发达国家已开始重新认识FORTRANFORTRAN语言,对语言,对FORTRAN90/95FORTRAN90/95语言的研究、开发和应用给予了高度重视语言的研究、开发和应用给予了高度重视,FORTRAN,FORTRAN语语言正在发挥越来越大的作用。言正在发挥越来越大的作用。我国从我国从9090年代末开始引进年代末开始引进FORTRA90/95FORTRA90/95有关资料和相

4、关有关资料和相关软件软件,并在许多高校开设并在许多高校开设FORTRAN90/95FORTRAN90/95课程。课程。2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业6Fortran90Fortran90的程序结构图简介的程序结构图简介主程序主程序 A1USE Module ACall BCall CContainsSubroutine CEnd Subroutine.End 主程序主程序 A1内部子内部子程序程序Subroutine BEnd Subroutine Module AContains.End Module A模块子模块子程序程序2023-1-30华科大土木

5、学院土木工程专业华科大土木学院土木工程专业7Fortran90Fortran90的主要改进:的主要改进:书写格式;书写格式;数据声明与赋初值;数据声明与赋初值;添加二进制、八进制、十六进制运算;添加二进制、八进制、十六进制运算;新的新的DODO循环;循环;数据的自定义类型;数据的自定义类型;多重选择(多重选择(select caseselect case););动态数组;动态数组;内部子程序和递归子程序的功能;内部子程序和递归子程序的功能;添加了许多新的内在子程序(内在函数)添加了许多新的内在子程序(内在函数)指针;指针;模块;模块;接口接口2023-1-30华科大土木学院土木工程专业华科大土

6、木学院土木工程专业8 10 20 30 40 50 60 70 8001234567890123456789012345678901234567890123456789012345678901234567890123456789C CALCULATE THE AVERAGE OF THREE NUMBERSx=90.5y=87.0z=68.5AVER=(x+y+z)/3.0print*,the three numbers are,x,y,zprnt*,average=,averend#includevoid main()float x,y,z,Aver;x=90.5;y=87.0;z=68.5

7、;Aver=(x+y+z)/3;printf(“%f%f%fn”,x,y,z);printf(”%fn”,Aver);2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业92023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业102023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业11语法着色语法着色:绿色:绿色:注释文本;注释文本;蓝色:蓝色:关键字;关键字;黑色:黑色:代码。代码。2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业12 10 20 30 40 50 60 70 800123456789012345678

8、9012345678901234567890123456789012345678901234567890123456789C MAIN PROGRAMPROGRAM EX2print*,R,1.0,C=,C(1.0)print*,R,1.5,C=,C(1.5)print*,R,3.0,C=,C(3.0)print*,R,12.5,C=,C(12.5)end01234567890123456789012345678901234567890123456789012345678901234567890123456789C SUBPROGRAMFUNCTION C(R)pi=3.1415926C=2*

9、pi*Rreturnend例如:将此文件保存为:li3.for如保存此文件:li3_1.for分别将两个文件编译再build li3.EXE 即可运行2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业13#includevoid main()float x,y,z,w;float c(float);x=c(1.0);y=c(1.5);z=c(3.0);w=c(12.5);printf(%15f%15f%15f%15fn,x,y,z,w);float c(float r)float pi=3.14159,cc;cc=pi*r*r;return cc;2023-1-30华科大土

10、木学院土木工程专业华科大土木学院土木工程专业14单位定义部分单位定义部分(主、子程序主、子程序)说明部分说明部分输入部分输入部分计算或处理部分计算或处理部分输出部分输出部分ENDEND结束结束2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业15程序单位:具有以上各部分组成程序单位:具有以上各部分组成(或部分或部分)的的程序称为一个程序单位,可以单独编译,程序称为一个程序单位,可以单独编译,也可以一起编译。也可以一起编译。(主程序、子程序、数据块子程序、主程序、子程序、数据块子程序、模块模块)(我们已经知道,在(我们已经知道,在C语言中,程序的组成语言中,程序的组成是由若干

11、个函数组成的。)是由若干个函数组成的。)2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业16 FORTRAN90 FORTRAN90程序程序主程序单元主程序单元 外部子程序单元外部子程序单元 模块单元模块单元 数据块单元数据块单元 CONTAINS CONTAINS 外部子程序外部子程序1 1 类型说明部分类型说明部分 CONTAINS CONTAINSCONTAINS CONTAINS 内部子程序组内部子程序组内部子程序组内部子程序组 外部子程序外部子程序2 2 内部子程序组内部子程序组 数据块说明数据块说明 CONTAINSCONTAINS 内部子程序组内部子程序组

12、FORTRANFORTRAN各程序单元各程序单元主程序单元主程序单元 外部子程序单元外部子程序单元 模块单元模块单元 数据块单元数据块单元 CONTAINS CONTAINS 外部子程序外部子程序1 1 类型说明类型说明 CONTAINS CONTAINSCONTAINS CONTAINS 内部子程序组内部子程序组 内部子程序组内部子程序组 外部子程序外部子程序2 2 内部子程序组内部子程序组 数据块说明数据块说明 CONTAINSCONTAINS 内部子程序组内部子程序组(1)(2)(3)(4)2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业171)1)首先在工作盘中建

13、立文件夹首先在工作盘中建立文件夹,如:如:For_testFor_test2)2)启动启动FortranFortran集成开发环境集成开发环境(Developer Studio);(Developer Studio);3 3)“文件文件”“新建新建”“项目项目”确定位置,填写确定位置,填写项目名项目名 4)“4)“文件文件”“新建新建”“FILE”“FILE”选择程序格式:选择程序格式:“Fortran Fixed Format Source File”Fortran Fixed Format Source File”在在Location:For_test Location:For_test

14、OKOK5)5)进入编辑状态进入编辑状态输入源文件输入源文件保存该文件保存该文件6)6)需要时需重复步骤需要时需重复步骤4 4建立新的文件;建立新的文件;7)7)分别打开源文件分别打开源文件编译编译;8)Build 8)Build*.Exe.Exe 文件文件运行运行!FixedFree2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业181)运行CMDD:2)可以删除原文件以及目标文件等;3)直接键入文件名,运行*.EXE程序.2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业191)1)一个程序由一个或若干个程序单位组成一个程序由一个或若干个程序单位组

15、成;2)2)每一个程序单位都是以每一个程序单位都是以“END”END”语句作为结束语句作为结束;3)3)一个程序单位包括若干行一个程序单位包括若干行:(1)语句行语句行执行语句执行语句(使计算机在运行时产生某些操作)(使计算机在运行时产生某些操作)非执行语句非执行语句(如类型说明语句、数据语句)(如类型说明语句、数据语句)(2)非语句行非语句行(如注释行如注释行)尽管不执行,但在打印清单时被打印出来;尽管不执行,但在打印清单时被打印出来;4 4)FORTRANFORTRAN语句可以没有标号,也可以有标号;语句可以没有标号,也可以有标号;5 5)一个程序单位中各类语句位置是有一定规定的)一个程序

16、单位中各类语句位置是有一定规定的;6 6)FORTRANFORTRAN源程序必须按一定的格式书写。源程序必须按一定的格式书写。!2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业20目前使用的编译系统目前使用的编译系统:Microsoft Fortran Powerstation 4.0(微软卖给了微软卖给了Digital,Digital继续开发继续开发)Digital Visual Fortran 5.0(Digital 被被Compaq并购并购)Compaq Visual Fortran 6.0 6.5(Compaq与与Intel合并合并)Intel Visual Fo

17、rtran 9.0 11.02023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业212023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业22运行安装程序2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业23选择安装2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业24建议在安装本建议在安装本系统之前关闭系统之前关闭其它应用程序其它应用程序2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业2533206 050 0010743 000072023-1-30华科大土木学院土木工程专业华科大土木学院土木工

18、程专业26建议改为自建议改为自己定义的盘己定义的盘符和文件夹符和文件夹2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业272023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业282023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业29建议选建议选择更新择更新环境环境2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业302023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业312023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业322023-1-30华科大土木学院土木工程专业华科大土木

19、学院土木工程专业332023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业342023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业35在在6.56.5版本中,版本中,WorkspaceWorkspace里可以包含多个里可以包含多个Projects,Projects,但每一个但每一个ProjectsProjects里只能包含一个主文件(里只能包含一个主文件(EXEEXE)。而在)。而在PS4.0PS4.0中,只中,只有项目空间有项目空间Projects WorkspaceProjects Workspace,所以在此只有一个主文件,该,所以在此只有一个主文件,该

20、文件名就是项目空间名。文件名就是项目空间名。2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业36Compaq Virsual Fortran6.52023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业372023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业38POWER STATION4.02023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业39Compaq Virsual Fortran6.52023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业40Compaq Virsual Fortran6.520

21、23-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业412023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业422023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业432023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业442023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业452023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业462023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业472023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业48建立一个新的

22、建立一个新的Project(File/New,Project(File/New,选择选择ProjectProject卡,选择卡,选择Fortran console programFortran console program格式格式,给出给出ProjectProject名名),ProjectProject会自动保存会自动保存*.dsw.dsw文件文件生成一个新的程序文件生成一个新的程序文件(File/New,(File/New,选择选择FileFile卡,选择两种卡,选择两种格式之一,并给出文件名格式之一,并给出文件名),或者是插入一个已有的文件,或者是插入一个已有的文件(Project/ad

23、d to project/Files)Project/add to project/Files)。单击。单击File/Save File/Save Workspace,Workspace,就保存就保存ProjectProject所包含的程序文件。所包含的程序文件。在在BuildsBuilds菜单上直接选择菜单上直接选择ExecuteExecute就会自动完成编译到执就会自动完成编译到执行全过程,也可以选择行全过程,也可以选择BuildBuild只做编译。只做编译。要编写新的程序就要另建一个要编写新的程序就要另建一个Project,Project,也可更换也可更换ProjectProject中的

24、文件。注意不要把两个独立的程序文件放在同一个中的文件。注意不要把两个独立的程序文件放在同一个ProjectProject里(否则编译时出错)。里(否则编译时出错)。下次要修改程序时,直接下次要修改程序时,直接File/WorkspaceFile/Workspace打开打开*.dsw.dsw中的中的ProjectProject工程文件。工程文件。2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业49其它编译环境:其它编译环境:GO CVF6.5 DOS GO CVF6.5 DOS 环境环境GO PS4.0 GO PS4.0 环境环境2023-1-30华科大土木学院土木工程专业

25、华科大土木学院土木工程专业50Exa3_1.for (P46)Exa3_2main.for(P47)Exa3_2sub.for(P47)(实例演示实例演示)2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业51debugdebug格式:在开发过程中便于程序调试的环境格式:在开发过程中便于程序调试的环境;ReleaseRelease格式:经过优化后的环境,执行效率高格式:经过优化后的环境,执行效率高(高于(高于debugdebug很多倍)。很多倍)。可在这两项中设置:1)Configuration2)Set Active Configuration2023-1-30华科大土木

26、学院土木工程专业华科大土木学院土木工程专业52FORTRANFORTRAN程序代码的编写格式有两种:程序代码的编写格式有两种:Fixed Format(固定格式)本教材采用(固定格式)本教材采用扩展名:扩展名:.F或或.FORFree Format(自由格式(自由格式4.0版本以上)版本以上)扩展名:扩展名:.F902023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业53Fortran一行一行80列,分为四个区域列,分为四个区域:1)1)标号区(标号区(1 1 5 5列)列):15位无符号的整数,位无符号的整数,中间空格不起作用(中间空格不起作用(100、100、1 0 0是

27、相是相同的)没有大小顺序。标号区第一列必须同的)没有大小顺序。标号区第一列必须是空格、数字、是空格、数字、C、*、!、!【F90:数字之间数字之间不能有空格不能有空格;以以!作为行注释】作为行注释】;2)2)续行标志区(第续行标志区(第6 6列)列)非空格或非非空格或非0的字符:作为上一行的继续行的字符:作为上一行的继续行的标志。的标志。2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业54Fortran一行一行80列,分为四个区域列,分为四个区域:3)3)语句区(第语句区(第7 7 7272列)列)通常一行只写一条语句。当多条语句写在通常一行只写一条语句。当多条语句写在一

28、行时,中间用分号隔开。一行时,中间用分号隔开。空格是被忽略的,如空格是被忽略的,如s in(x)是有效的。是有效的。4)4)注释区(第注释区(第7373 8080列)列):不是语句的部分,不是语句的部分,除打印清单外,编译系统不予处理(输入的除打印清单外,编译系统不予处理(输入的内容为红色)。内容为红色)。2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业55第第1 1个字符个字符当为字母当为字母c c、C C或或*,这一行文本会当成说明,这一行文本会当成说明或批注,不会被编译。或批注,不会被编译。第第1 15 5个字符个字符当为数字,就是用来给这一行程序代码取当为数字,就

29、是用来给这一行程序代码取个代号,不然只能是空格。个代号,不然只能是空格。第第6 6个字符个字符如果是非如果是非0 0非空的任何字符,表示这一行程非空的任何字符,表示这一行程序会接续上一行。序会接续上一行。第第7 77272个字符个字符 FortranFortran程序代码的编写区域。程序代码的编写区域。第第73738080个字个字符以后符以后不使用这些列,语句超过该列的部分会被不使用这些列,语句超过该列的部分会被忽略,有的编译器会发出错误信息。忽略,有的编译器会发出错误信息。2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业56Free Format(自由格式自由格式PAS

30、CAL、C使用的格式使用的格式)基本上允许非常自由的编写格式,它没有规定每基本上允许非常自由的编写格式,它没有规定每一行的第几个字符有什么作用,但要注意:一行的第几个字符有什么作用,但要注意:1.1.!感叹号后面的文本都是注释(行内也一样)。!感叹号后面的文本都是注释(行内也一样)。2.2.每行可以编写每行可以编写132132个字符。个字符。3.3.行号放在每行语句的最前面。行号放在每行语句的最前面。4.4.某一行程序代码的最后是符号某一行程序代码的最后是符号&,则下一行和这,则下一行和这一行连接一行连接;如果某一行程序代码的开头是如果某一行程序代码的开头是&,&,则它会则它会和上一行连接和上

31、一行连接(表明是拆分关键字表明是拆分关键字,在在CVF6CVF6可以不用可以不用)。5.5.程序命令之间的空格是无意义的。程序命令之间的空格是无意义的。2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业57 !Free Format program main write(*,*)”Hello”!这也是注释这也是注释 write(*,*)&”Hello”wri&te(*,*)”Hello”!CVF6中可以不要这个中可以不要这个&end2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业58 !Free Format program main write(*,

32、*)”Hello”write(*,*)&”Hello”wri&te(*,*)”Hello”end2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业59编写编写Fortran77Fortran77程序时,所能使用的所有字符及符程序时,所能使用的所有字符及符号就是号就是F77F77的字符集:的字符集:A AZ Z(a az z)程序中不区分大小写)程序中不区分大小写 2626个个 0 09 9 1010个个 空格空格 =+-=+-*/(),:,:.$.$2222个个 _(_(下划线下划线)、!、!、”、%、&、;、;、10.29 C=Mod(A,B)=10.29如:如:A=10

33、.29A=10.29 B=5.54 B=5.54 C=Mod(A,B)=4.75 C=Mod(A,B)=4.752023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业94integer(1):A,B,C !(必须定义为整型数)(必须定义为整型数)A=b10101100B=b11101101write(*,“(1x,B8)”)Iand(A,B)!按位按位“与与”write(*,“(1x,B8)”)IOR(A,B)!按位按位“或或”write(*,“(1x,B8)”)IEOR(A,B)!按位按位“异或异或”write(*,“(1x,B8)”)Not(A)!按位按位“非非”write

34、(*,*)Bit_size(A),Bit_size(Not(A)!A的位数的位数write(*,*)Btest(A,4)!判断!判断A的第四位是否为的第四位是否为1write(*,“(1x,B8)”)IBCLR(A,2)!将!将A的第二位置零的第二位置零write(*,“(1x,B8)”)IBSET(A,0)!将!将A的最低位置的最低位置1write(*,“(1x,B8)”)Ishft(A,1),Ishft(A,-1)!A左移、左移、A右移右移write(*,“(1x,B8)”)IshftC(A,1,4),IshftC(A,-1,4)!A的第四位的第四位End !左移,!左移,A的第四位右移的

35、第四位右移2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业952023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业963.8.13.8.1算术运算符和运算优先级算术运算符和运算优先级可以使用五种算术运算符号:可以使用五种算术运算符号:加(加(+)、减()、减(-)、乘()、乘(*)、除()、除(/)、乘方()、乘方(*)注意:注意:A A*-B-B 是不合法的,应该写成(是不合法的,应该写成(A A*(-B)(-B));两个运算符不能相邻两个运算符不能相邻(但在但在CVF6CVF6中作了修改中作了修改)。优先级次序:优先级次序:高*乘方 中*/乘除 低+

36、-加减当幂为小数时也可以用于求平方根。*0.5=sqrt(4.0)2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业973.8.2 3.8.2 算术表达式的含义和表示方法算术表达式的含义和表示方法表达式表达式是运算符和运算元素(常量、变是运算符和运算元素(常量、变量、函数、数组)连接起来的具有数值量、函数、数组)连接起来的具有数值的式子。的式子。基本特征基本特征:1 1)运算元素都是算术量;)运算元素都是算术量;2 2)运算符是算术运算符;)运算符是算术运算符;3 3)表达式的值是一个算术量(数值)表达式的值是一个算术量(数值)(A-BA-B)/C/C*2+SIN(X+Y)

37、2+SIN(X+Y)2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业98算术表达式书写时的注意事项算术表达式书写时的注意事项:1)一般除号一般除号(/)前后运算元素用括号括起来前后运算元素用括号括起来;2)乘号(乘号(*)不能省略)不能省略;3)无大中小括号之分无大中小括号之分,一律用小括号一律用小括号;4)对多次乘方需按对多次乘方需按“先右后左先右后左”的原则处理的原则处理;5)注意单目运算符注意单目运算符(-5,+10,-A)。-A就相当于就相当于0-A 如:如:-A*2相当于相当于0-A*2,也就是也就是-(A*2)而不是而不是(-A)*2,不要混淆。不要混淆。6)

38、算术表达式求值运算的优先次序算术表达式求值运算的优先次序高高 低低1)括号;2)函数;3)*;4)*/;5)+-链链 接接2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业993.8.3 3.8.3 表达式运算中的类型问题表达式运算中的类型问题 FORTRAN FORTRAN 允许不同类型的算术量之间的算术运算允许不同类型的算术量之间的算术运算(整型、实型、双精度、复型)。如(整型、实型、双精度、复型)。如 2 2*3.53.5 FORTRAN FORTRAN 规定如下:规定如下:1 1)同类型的算术量之间运算的结果仍然保持原类)同类型的算术量之间运算的结果仍然保持原类 型

39、。特别规定:两个整数相除的商也是整数。型。特别规定:两个整数相除的商也是整数。(1/21/2的值是的值是0 0)2 2)如果参加运算的两个算术量为不同类型,则编译)如果参加运算的两个算术量为不同类型,则编译 系统会自动将它们转换成同一类型然后再进行运系统会自动将它们转换成同一类型然后再进行运 算。规则是:算。规则是:将低级类型转换成高级类型将低级类型转换成高级类型 2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业1003.8.3 3.8.3 表达式运算中的类型问题表达式运算中的类型问题四则运算规律(或四则运算规律(或乘方运算规律乘方运算规律)整型 实型 整型 整型 实型

40、实型 实型 实型运算量2(基数类型)运算量1(指数类型)运算结果(乘方运算结果)2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业1013.8.3 3.8.3 表达式运算中的类型问题表达式运算中的类型问题类型的转换是从左而右进行的。类型的转换是从左而右进行的。在遇到不同类在遇到不同类型的算术量时才进行转换型的算术量时才进行转换。如下例:。如下例:5 5*6.5 6.5 是先将是先将5 5转换为转换为5.05.0(此时就(此时就遇到不同类型遇到不同类型的算术量的算术量),再乘以),再乘以6.56.5等于等于32.532.5。但注意但注意:1/41/4*20.020.0时,由于

41、时,由于1/41/4两个是同类型的算术量,两个是同类型的算术量,结果等于结果等于0 0,再,再0 0*20.020.0,结果为,结果为0 0如如:A=5/2 2.000000 B=5/2.0 2.500000 C=5.0/2 2.500000 D=5.0/2.0 2.500000 I=5.0/2 2 J=5.0/2.0 22023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业1023.8.3 3.8.3 表达式运算中的类型问题表达式运算中的类型问题1 1)在)在FORTRANFORTRAN中没有像中没有像C C中有强制类型转换:中有强制类型转换:(char)(x+i)将表达式将

42、表达式x+i的类型转换为的类型转换为char类型类型2 2)在)在FORTRANFORTRAN中也不能数字与字符混合运算:中也不能数字与字符混合运算:1+3.14159+“A”这在这在c中都是可以的中都是可以的 其结果是:其结果是:69.1415862023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业1033.8.4 3.8.4 运算的误差问题运算的误差问题1)整型量的运算是准确的,没有任何误差;)整型量的运算是准确的,没有任何误差;2)实型量的运算会出现误差(实数有效位数)实型量的运算会出现误差(实数有效位数 的限制)。因此,在书写表达式时,应尽的限制)。因此,在书写表达式

43、时,应尽 量使每一次运算结果都在有效位数范围之量使每一次运算结果都在有效位数范围之 内,也就是尽量内,也就是尽量不要使两个相差很大的数不要使两个相差很大的数 值直接相加或相减运算值直接相加或相减运算。同样:理论上是相等的数,在实数中不能直接同样:理论上是相等的数,在实数中不能直接 判断是否相等。而是使用绝对值之差判断是否相等。而是使用绝对值之差|A-B|作为判断条件。作为判断条件。(sqrt(4.1234567)*2.0-4.1234567不为GO2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业104I=1/3+1/3+1/3 I=0A=1/3+1/3+1/3 A=0.0

44、00000I=1.0/3.0+1.0/3.0+1.0/3.0 I=1A=1.0/3.0+1.0/3.0+1.0/3.0 A=1.000000理论上:理论上:1/3+1/3+1/3=1 1.0/3.0+1.0/3.0+1.0/3.0=1现在的编译系统中作了相现在的编译系统中作了相应的应的“相等相等”处理。处理。2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业105Integer:ImaxReal:JmaxImax=1.0/3.0+1.0/3.0+1.0+3.0Jmax=1.0/3.0+1.0/3.0+1.0+3.0Write(*,*)Imax,JmaxEnd2023-1-3

45、0华科大土木学院土木工程专业华科大土木学院土木工程专业1062023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业1073.9.13.9.1赋值语句:赋值语句:将一个确定的值赋给一个变量将一个确定的值赋给一个变量 变量变量=表达式表达式1 1)有三类赋值语句:)有三类赋值语句:2 2)算术赋值语句兼有计算和赋值功能)算术赋值语句兼有计算和赋值功能;3 3)赋值号左边只能是变量名,不能是表)赋值号左边只能是变量名,不能是表 达式;达式;4 4)不能象)不能象C C语言那样进行复合赋值、连语言那样进行复合赋值、连 续赋值以及增量运算。续赋值以及增量运算。算术赋算术赋值语句值语句逻辑

46、赋逻辑赋值语句值语句字符赋字符赋值语句值语句链接2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业1083.9.2 3.9.2 执行赋值语句时的类型转换问题执行赋值语句时的类型转换问题赋值语句中的被赋值的变量和表达式的赋值语句中的被赋值的变量和表达式的类型可以相同,也可以不同。类型可以相同,也可以不同。规则如下:规则如下:1 1)两者类型相同时,直接赋值;)两者类型相同时,直接赋值;2 2)两者类型不相同时,先求表达式的)两者类型不相同时,先求表达式的 值,再将该值转换为变量的类型:值,再将该值转换为变量的类型:I=3.5I=3.5*2.12.1将将7.357.35转换为转

47、换为7 77 7送送I I2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业1093.9.2 3.9.2 执行赋值语句时的类型转换问题执行赋值语句时的类型转换问题 如如IMAX=13.7IMAX=13.7*2.5 2.5 结果不是结果不是34.25 34.25 而是而是3434整型实型结果为整型整型先取整,再赋值,结果为整先化实,结果为实型实型结果为实型变量类型表达式类型2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业110是赋值不是等号;是赋值不是等号;具有计算功能;具有计算功能;具有类型转换功能;具有类型转换功能;左边一定是变量名,右边是表达式。左

48、边一定是变量名,右边是表达式。2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业1113.10.13.10.1输出语句的作用和分类输出语句的作用和分类程序的作用是对输入的数据加工后输出结果:程序的作用是对输入的数据加工后输出结果:1)显示)显示 2)打印)打印对于输出来说,需要告之系统如下内容:对于输出来说,需要告之系统如下内容:1)输出那些数据?)输出那些数据?2)什么格式输出?)什么格式输出?3)输出到哪个设备上?)输出到哪个设备上?FORTRAN语言输出格式有三类:语言输出格式有三类:1 1)按用户指定格式;)按用户指定格式;2 2)系统隐含的标准格式;)系统隐含的标

49、准格式;3 3)二进制格式(无格式)输出。)二进制格式(无格式)输出。2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业1123.10.2表控输出语句表控输出语句(list directed format):就是系就是系统隐含的输出格式统隐含的输出格式;系统自动地分别为每个不同类型的系统自动地分别为每个不同类型的数据安排所占列数的表示形式(小数或指数)。数据安排所占列数的表示形式(小数或指数)。如:如:Print*,I,J (I=45,J=128)打印结果:打印结果:13列 13列 Print *,A,B 18列 18列4512813.567000-186.750000实际

50、整型数实际整型数:21亿多亿多-10位位实际默认实型数的小数位数为实际默认实型数的小数位数为6位位2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业113Integer a,ba=45b=88Print*,a,bEnd2023-1-30华科大土木学院土木工程专业华科大土木学院土木工程专业1143.10.23.10.2表控输出语句表控输出语句当实型数据超过上述格式时,系统自动转换为标准的当实型数据超过上述格式时,系统自动转换为标准的指数形式输出:指数形式输出:A=162*1025,B=-11.72*10-13 1.620000E+027-1.172000E-0121 1)根据

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(fortran程序设计初步课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|