chap02-Basic-Fortran--Fortran-课件.ppt

上传人:可****阿 文档编号:91521977 上传时间:2023-05-27 格式:PPT 页数:32 大小:1.40MB
返回 下载 相关 举报
chap02-Basic-Fortran--Fortran-课件.ppt_第1页
第1页 / 共32页
chap02-Basic-Fortran--Fortran-课件.ppt_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《chap02-Basic-Fortran--Fortran-课件.ppt》由会员分享,可在线阅读,更多相关《chap02-Basic-Fortran--Fortran-课件.ppt(32页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Basic Fortran2023/5/252023/5/25Chap 2 Basic Fortran Page 2 OutlineFortran程序结构、注释、续行字符集、常量、变量名变量、变量类型、初始化运算符Fortran的内置函数直接表控输入/输出2023/5/25Chap 2 Basic Fortran Page 3 Fortran程序结构PROGRAM program-name IMPLICIT NONE specification part execution part subprogram part END PROGRAM program-name 程序声明部分,可选程序执行语

2、句部分,可选子程序执行部分,可选去掉隐式声明程序结束语句,程序名可不写,推荐写上2023/5/25Chap 2 Basic Fortran Page 4 注释(Comments)“!”:所有注释都以“!”(不包括引号)开始,!”后面的都被认为是注释PROGRAM TestComment1.READ(*,*)Year!read in the value of Year.Year=Year+1!add 1 to Year.END PROGRAM TestComment1!This is a comment line!PROGRAM TestComment2.!This is a comment l

3、ine in the middle of a program.!The above blank line is a comment line END PROGRAM TestComment2 空行也是注释2023/5/25Chap 2 Basic Fortran Page 6 OutlineFortran程序结构、注释、续行字符集、常量、变量名变量、变量类型、初始化运算符Fortran的内置函数直接表控输入/输出2023/5/25Chap 2 Basic Fortran Page 7 字符集字母字母 A B C D E F G H I J K L M N O P Q R S T U V W X

4、 Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 数字数字 0 1 2 3 4 5 6 7 8 9 特殊字符特殊字符 空格(空格(space)()*+-/:=_!&$;%?,.2023/5/25Chap 2 Basic Fortran Page 8 常量(Constant)整型常量Correct:1,-1,+2345,0Incorrect:-7,8+,12.0实型常量Correct:1.23,.123,-1.2,-.23,1.,1.0e-2,1.0E2Incorrect:-12,(12,345.95),12.0e-1.2复型常量(

5、不涉及)2023/5/25Chap 2 Basic Fortran Page 10 PARAMETER 属性给常量指定一个名字Examples INTEGER,PARAMETER:TOTAL=100,Number=20 REAL,PARAMETER:PI=3.1415926,E=2.71828,SUM=PI+E REAL*8,PARAMETER:G=9.8D0 CHARACTER(LEN=4),PARAMETER:Name=John,State=Utah CHARACTER(LEN=4),PARAMETER:Name=Smith CHARACTER(LEN=*),PARAMETER:Name=

6、John,City=LA 不是变量Name的内容是什么?Smit2023/5/25Chap 2 Basic Fortran Page 11 变量名变量名的长度上限:31不区分大小写 name NAME Name naMe NaMe变量名由字母、数字、下划线组成,必须以字母开头Correct:MIT,User_name,Count,I,I1025,S006g,A2_,A2_D2Incorrect:_X,5xyz,M.I.T,A2-D2建议:使用有意义的变量名:Rate,length不太好的变量名:A1,A2,A_B,cat,dog,2023/5/25Chap 2 Basic Fortran Pa

7、ge 13 变量声明如何声明变量 type-specifier:list INTEGER:ZIP,Total,number real :a,b,c,average,means character(len=15):letter,mystring character(20):letter,mystring,length*5CHARACTER(LEN=1):letterCHARACTER(1):letterCHARACTER:letterCHARACTER(LEN=*):Title,Position2023/5/25Chap 2 Basic Fortran Page 15 运算符操作符类型操作符类型

8、操作操作Associativity 算术运算符算术运算符*right to left*/left to right+-left to right 关系运算符关系运算符 =/=none 逻辑操作符逻辑操作符.NOT.right to left.AND.left to right.OR.left to right.EQV.NEQV.left to right 2023/5/25Chap 2 Basic Fortran Page 16 a的值的值b的值的值.NOT.aa.AND.ba.OR.ba.XOR.ba.EQV.ba.NEQV.b.TRUE.TRUE.FALSE.TRUE.TRUE.FALSE

9、.TRUE.FALSE.TRUE.FALSE.FALSE.FALSE.TRUE.TRUE.FALSE.TRUE.FALSE.TRUE.TRUE.FALSE.TRUE.TRUE.FALSE.TRUE.FALSE.FALSE.TRUE.FALSE.FALSE.FALSE.TRUE.FALSE.2023/5/25Chap 2 Basic Fortran Page 18 不同种类变量间的运算规则OperatorINTEGERREALINTEGERINTEGERREALREALREALREAL 算式结果1+2.53.51/2.00.52.0/80.253*2.09.04.0*(1/2)?例外:a*n,3

10、.5*33.5*3.5*3.5Examples5*(11.0-5)*2/4+9 -5*(11.0-5)*2/4+9 -5*(11.0-5.0)*2/4+9 -5*(11.0-5.0)*2/4+9 -5*6.0*2/4+9 -5*6.0*2/4+9 -5*36.0/4+9 -5*36.0/4+9 -5.0*36.0/4+9 -5.0*36.0/4+9 -180.0/4+9 -180.0/4+9 -180.0/4.0+9 -180.0/4.0+9 -45.0+9 -45.0+9 -45.0+9.0 -54.0 2023/5/25Chap 2 Basic Fortran Page 19 变量赋值几个

11、例子INTEGER:Total,Amount,UnitUnit=5 Amount=100.99 Total=Unit*AmountREAL,PARAMETER:PI=3.1415926REAL :AreaINTEGER :RadiusRadius=5Area =(Radius*2)*PIINTEGER :Counter=0Counter=Counter+1Counter=Counter+3INTEGER:A=3,B=5,C,DC=AD=BA=DB=CINTEGER,PARAMETER :InchToCM=2.54,factor=123.45INTEGER :X=15InchToCM=facto

12、r*X2023/5/25Chap 2 Basic Fortran Page 20 内在函数(1)数学函数Function Meaning(函数定义)(函数定义)Arg.Type(变元类型)(变元类型)Return Type(返回值类型)(返回值类型)ABS(x)求绝对值 INTEGER INTEGER REAL REAL SQRT(x)求平方根REAL REAL SIN(x)正弦REAL REAL COS(x)余弦REAL REAL TAN(x)正切REAL REAL ASIN(x)反正弦REAL REAL ACOS(x)反余弦REAL REAL ATAN(x)反正切REAL REAL EXP

13、(x)指数(e*a)REAL REAL LOG(x)自然对数 REAL REAL LOG10(x)常用对数REAL REAL 2023/5/25Chap 2 Basic Fortran Page 21 内在函数(2)转换函数Function Meaning(函数定义)(函数定义)Arg.Type(变元类型)(变元类型)Return Type(返(返回值类型)回值类型)INT(x)取x的整数 REAL INTEGER NINT(x)最近取整a0 int(x+0.5)a0 int(x-0.5)REAL INTEGER FLOOR(x)小于或等于x的最大整数 REAL INTEGER FRACTIO

14、N(x)x的小数部分 REAL REAL REAL(x)转换为实型INTEGER REAL 2023/5/25Chap 2 Basic Fortran Page 22 内在函数(3)其它函数Function Meaning(函数定义)(函数定义)Arg.Type(变元类型)(变元类型)Return Type(返回值类型)(返回值类型)MAX(x1,x2,.,xn)maximum of x1,x2,.xn INTEGER INTEGER REAL REAL MIN(x1,x2,.,xn)minimum of x1,x2,.xn INTEGER INTEGER REAL REAL MOD(x,y)

15、取余x-INT(x/y)*y INTEGER INTEGER REAL REAL 2023/5/25Chap 2 Basic Fortran Page 24 表控输入(1)语法语法READ(*,*)var1,var2,.,varn READ(*,*)常见的几种情况INTEGER :Factor,NREAL :Multiple,toleranceREAD(*,*)Factor,N,Multiple,tolerance按顺序读入4个不同的值并赋给相应变量CHARACTER(LEN=10):TitleREAL :Height,Length,AreaREAD(*,*)Title,Height,Leng

16、th,Area读入一个字符串给Title继续读入三个实型数给相应变量2023/5/25Chap 2 Basic Fortran Page 25 表控输入(2)如何输入?CHARACTER(LEN=5):NameREAL :height,lengthINTEGER :count,MaxLengthREAD(*,*)Name,height,count,length,MaxLength从键盘输入:Smith 100.0 25 123.579 10000 结果如下:Name=Smith height=100.0 count=25 length=123.579 Maxlength=10000 Smith

17、 100.0 25 123.579 10000 2023/5/25Chap 2 Basic Fortran Page 26 表控输入(2)如何输入?Read(*,*)总总是从新的一行开始是从新的一行开始INTEGER :I,J,K,L,M,NREAD(*,*)I,JREAD(*,*)K,L,MREAD(*,*)N输入行:100 200 300 400 500 600 思考思考1INTEGER :I,J,K,L,M,NREAD(*,*)I,J,KREAD(*,*)L,MREAD(*,*)N输入行:100 200 300 400500 600,700 800 I=?J=?K=?L=?M=?N=?2

18、023/5/25Chap 2 Basic Fortran Page 28 表控输出语法WRITE(*,*)var1,var2,.,varn WRITE(*,*)INTEGER:Target REAL:Angle,Distance CHARACTER(LEN=*),PARAMETER:Time=The time to hit target&IS=is&UNIT=sec.Target=10 Angle=20.0 Distance=1350.0 WRITE(*,*)Angle=,Angle WRITE(*,*)Distance=,Distance WRITE(*,*)WRITE(*,*)Time,T

19、arget,IS,Angle*Distance,UNIT Angle=20.0 Distance=1350.0 The time to hit target 10 is 27000sec.输出内容:2023/5/25Chap 2 Basic Fortran Page 29 简单程序!-!This program illustrates the following points:!(1)The exponential trap:!That is,A*B*C is equal to A*(B*C)rather!than(A*B)*C.!(2)The integer division trap:!T

20、hat is,4/6 is ZERO in Fortran rather than!a real number 0.666666!Function REAL()is used to illustrate the!differences.!(3)The string truncation trap:!What if the length assigned to a CHARACTER!is shorter than the length of the string you!expect the identifier to have?The third part!shows you the eff

21、ect.!-PROGRAM Fortran_Traps IMPLICIT NONE INTEGER,PARAMETER :A=2,B=2,H=3 INTEGER,PARAMETER :O=4,P=6 CHARACTER(LEN=5),PARAMETER:M=Smith,N=TEXAS CHARACTER(LEN=4),PARAMETER:X=Smith CHARACTER(LEN=6),PARAMETER:Y=TEXAS!The exponential trap WRITE(*,*)First,the exponential trap:WRITE(*,*)A,*,B,*,H,=,A*B*H W

22、RITE(*,*)(,A,*,B,)*,H,=,(A*B)*H WRITE(*,*)A,*(,B,*,H,)=,A*(B*H)WRITE(*,*)!The integer division trap.Intrinsic function REAL()converts!an integer to a real number WRITE(*,*)Second,the integer division trap:WRITE(*,*)WRITE(*,*)O,/,P,=,O/P WRITE(*,*)REAL(,O,)/,P,=,REAL(O)/P WRITE(*,*)O,/REAL(,P,)=,O/RE

23、AL(P)WRITE(*,*)!The string truncation trap WRITE(*,*)Third,the string truncation trap:WRITE(*,*)IS,M,STILL IN,N,?WRITE(*,*)IS,X,STILL IN,Y,?END PROGRAM Fortran_TrapsFirst,the exponential trap:2*2*3=256(2*2)*3=64 2*(2*3)=256 Second,the integer division trap:4/6=0 REAL(4)/6=0.666666687 4/REAL(6)=0.666

24、666687 Third,the string truncation trap:IS Smith STILL IN TEXAS?IS Smit STILL IN TEXAS?程序输出程序输出2023/5/25Chap 2 Basic Fortran Page 31 PROGRAM Projectile IMPLICIT NONE REAL,PARAMETER:g =9.8 !acceleration due to gravity REAL,PARAMETER:PI=3.1415926 REAL :Angle !launch angle in degree REAL :Time !time to

25、 flight REAL :Theta !direction at time in degree REAL :U !launch velocity REAL :V !resultant velocity REAL :Vx !horizontal velocity REAL :Vy !vertical velocity REAL :X !horizontal displacement REAL :Y !vertical displacement READ(*,*)Angle,Time,U Angle=Angle*PI/180.0 !convert to radian X =U*COS(Angle

26、)*Time Y =U*SIN(Angle)*Time-g*Time*Time/2.0 Vx =U*COS(Angle)Vy =U*SIN(Angle)-g*Time V =SQRT(Vx*Vx+Vy*Vy)Theta=ATAN(Vy/Vx)*180.0/PI WRITE(*,*)Horizontal displacement:,X WRITE(*,*)Vertical displacement :,Y WRITE(*,*)Resultant velocity :,V WRITE(*,*)Direction(in degree):,ThetaEND PROGRAM Projectile45.0 6.0 60.0输入:Horizontal displacement:254.558472Vertical displacement :78.158432Resultant velocity :45.4763107Direction(in degree):-21.1030636输出:2023/5/25Chap 2 Basic Fortran Page 32 选择结构IF-THEN-ELSE-END IF 结构SELECT CASE 结构

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com