欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

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

    • 资源ID:91521977       资源大小:1.40MB        全文页数:32页
    • 资源格式: PPT        下载积分:9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    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 程序声明部分,可选程序执行语句部分,可选子程序执行部分,可选去掉隐式声明程序结束语句,程序名可不写,推荐写上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 line 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 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复型常量(不涉及)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=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 Page 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 运算符操作符类型操作符类型操作操作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.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.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 变量赋值几个例子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=factor*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(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 FRACTION(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)取余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,Length,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 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=?2023/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,Target,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:!That 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 effect.!-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 WRITE(*,*)(,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/REAL(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.666666687 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 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)*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 结构

    注意事项

    本文(chap02-Basic-Fortran--Fortran-课件.ppt)为本站会员(可****阿)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开