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

    [理学]计算物理课件 第二章Fortran程序设计初步.ppt

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

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

    [理学]计算物理课件 第二章Fortran程序设计初步.ppt

    07/0807/08第一学期第一学期理学计算物理课件 第二章 Fortran程序设计初步 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望07/0807/08第一学期第一学期2.1Fortran2.1Fortran程序简例程序简例程序简例程序简例u程序实例程序实例u基本语句基本语句u程序特点程序特点 例例1.1 1.1 输入两个数,求算数平均和几何平均值。输入两个数,求算数平均和几何平均值。Fortran 77/90 Fortran 77/90 程序程序第一章第一章FortranFortran程序设计初步程序设计初步洛阳师范学院物理系洛阳师范学院物理系程序示例比较程序示例比较程序示例比较程序示例比较洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系C-C-求两种平均値求两种平均値-PROGRAM Example_1_1 PROGRAM Example_1_1 REAL a,b,av1,av2 REAL a,b,av1,av2 READ(*,*)a,b READ(*,*)a,b av1=(a+b)/2 av1=(a+b)/2 av2=sqrt(a*b)av2=sqrt(a*b)WRITE(*,*)av1,av2 WRITE(*,*)av1,av2 END ENDPROGRAM Example_1_1!PROGRAM Example_1_1!求平均求平均REAL:a,b,av1,av2REAL:a,b,av1,av2READ*,a,b READ*,a,b av1=(a+b)/2;av2=(a*b)*0.5av1=(a+b)/2;av2=(a*b)*0.5PRINT*,av1,av2 PRINT*,av1,av2 END END 第一章第一章FortranFortran程序设计初步程序设计初步程序説明:程序中第程序説明:程序中第1 1行是注释行,对程序起说明作用。行是注释行,对程序起说明作用。F77F77注释行是以注释行是以“C”“C”或或“!”“!”作为该行第一个字符的,作为该行第一个字符的,F90F90可在任意一行末以可在任意一行末以“!”“!”开始作为注释符。第开始作为注释符。第2 2行是主程序名,第行是主程序名,第3 3行是变量类型定义,第行是变量类型定义,第4 4行是输入语句,第行是输入语句,第5 56 6行是赋值部行是赋值部分,第分,第7 7行是打印输出语句,最后是程序结束。注意行是打印输出语句,最后是程序结束。注意F77F77的固定书写格式和的固定书写格式和F90F90的的自由格式自由格式。F90F90中用中用“;”将两行并为一行。将两行并为一行。洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系第一章第一章FortranFortran程序设计初步程序设计初步固定格式示例固定格式示例固定格式示例固定格式示例!求一元二次方程两个实根求一元二次方程两个实根 PROGRAM quadratic PROGRAM quadratic REAL a,b,c,d,x1,x2 REAL a,b,c,d,x1,x2 READ*,a,b,c READ*,a,b,c 输入系数输入系数 d=b*b4*a*c d=b*b4*a*c 算判别式算判别式 100 IF (d=0)THEN 100 IF (d=0)THEN x1=(b+SQRT(d)/(2*a)x1=(b+SQRT(d)/(2*a)x2=(bSQRT(d)x2=(bSQRT(d)&/(2*a)&/(2*a)PRINT*,PRINT*,x1=x1=,x1,x1 PRINT*,PRINT*,x2=x2=,x2,x2 ELSE ELSE PRINT*,PRINT*,该方程有复数根。该方程有复数根。END IF END IF END END 程序结束程序结束标号区标号区(1-5(1-5列列)语句区语句区(7-72(7-72列列)注释区注释区(73-80(73-80列列)续行区续行区(6(6列列)洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系第一章第一章FortranFortran程序设计初步程序设计初步标号区:第l5列可以写l至5位整数。也可以没有标号。标号区中的空格不起作用。如lOO与100或100作用相同。标号应是无符号整数(无正负号或小数点)。标号大小顺序没有任何要求。假如第二行的标号为1000,第三行的标号可以是10,也可以是99999。标号区内不得出现标号以外的内容,但注释行例外。注释行的内容可以写在标号区内,一行中第一列为C或*的,该行即被认为注释行,编译时对该行内容不作翻译,对程序运行不产生任何影响。如果在第一列上出现的不是数字、空格或C和*的字符,编译时按出错处理。续行区:第6列 如果在一行的第6列上写一个非空格和非零的字符,则该行作为其上一行的续行。注意在某些系统中,这个字符可以不限于上面所列的,如 等字符均可使用。F77允许一个语句有19个续行(即一个语句最多可以写成20行)。有的程序中第6列上用“l”,“2”,表示该行是第1个或第2个续行,但用数字字符容易与第7列的数字形成连续的数字串而引起错觉,故最好使用固定的特殊字符。洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系第一章第一章FortranFortran程序设计初步程序设计初步 语句区:第772列 不要求一定从第7列开始写语句,可以从第7列以后(72列以前)的任何一列开始写,但一行只能写一个语句。如果写满了72列,一旦在终端上修改程序时在该行又插入了一些字符,就会使本行最后几个字符超出语句区而引起意料不到的错误。特别注意到语句最后的空格将可能溢出72列,在某些计算机系统上将导致难以查出的错误。应注意,引号内的字符串中所包括的空格是有效的,不能忽略。注释区:第7380列 在卡片输入法时代,程序员一般利用此8列为程序行编序号以便查找。注释区只对程序员提供辨别信息,不是语句的一部分,在编译时不对7280列作处理。洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系第一章第一章FortranFortran程序设计初步程序设计初步自由格式示例自由格式示例自由格式示例自由格式示例!求一元二次方程两个实根求一元二次方程两个实根PROGRAM quadraticPROGRAM quadratic REAL a,b,c,d,x1,x2 REAL a,b,c,d,x1,x2 READ*,a,b,c !READ*,a,b,c !输入系数输入系数 d=b*b4*a*c !d=b*b4*a*c !计算判别式计算判别式 IF (d=0)THEN IF (d=0)THEN x1=(b+SQRT(d)/(2*a)x1=(b+SQRT(d)/(2*a);x2=(bSQRT(d)/(2*a)x2=(bSQRT(d)/(2*a)PRINT*,PRINT*,x1=x1=,x1,x1 PRINT*,PRINT*,x2=x2=,x2,x2 ELSE ELSE PRINT*,PRINT*,该方程有复数根。该方程有复数根。END IF END IFEND !END !程序结束程序结束洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系第一章第一章FortranFortran程序设计初步程序设计初步行行:一行为:一行为132132列。可以有复数条程序语句,语句间用分号列。可以有复数条程序语句,语句间用分号“;”“;”分开。语句没分开。语句没有位置规定。有位置规定。注释行注释行:起始用注释符:起始用注释符“!”“!”号,此行其后的所有字符均作为注释(字符串中的号,此行其后的所有字符均作为注释(字符串中的!号号除外,如除外,如 print*,print*,help!help!)。)。续行续行:当一个语句非常长以至于:当一个语句非常长以至于132132列都书写不下时,允许有列都书写不下时,允许有3939个续行。在语句个续行。在语句行最后加上续行符行最后加上续行符“&”“&”号。号。空格空格:在语句名和变量名中间不能有空格。需要空格的地方必须有一个以上空格:在语句名和变量名中间不能有空格。需要空格的地方必须有一个以上空格(GOTOGOTO和和GO TOGO TO,ELSEIFELSEIF和和ELSE IFELSE IF,ENDEND构造名构造名(构造名有:构造名有:DO,DO,PROGRAM,FUNCTION,MODULE,SUBROUTINE)PROGRAM,FUNCTION,MODULE,SUBROUTINE)等有两种写法的除外),如关等有两种写法的除外),如关系运算符系运算符=,=不能写成不能写成=,=。这与。这与F77F77有很大不同之处,因为有很大不同之处,因为F77F77的设计的设计中将编译源程序的空格忽略中将编译源程序的空格忽略分号分号:在自由格式中在自由格式中,一行允许写多个语句一行允许写多个语句,语句之间用分号语句之间用分号“;”“;”分隔分隔,最后语句最后语句之后不能有分号之后不能有分号“;”“;”。一个语句最长不能超过。一个语句最长不能超过26402640个字符。个字符。洛阳师范学院物理系洛阳师范学院物理系07/0807/08第一学期第一学期uu 程序实程序实例例uu 基本语基本语句句u程序特点程序特点第一章第一章FortranFortran程序设计初步程序设计初步PROGRAMPROGRAMPROGRAMPROGRAM语句语句语句语句:宣布程序开始,其后跟程序名。可省略。:宣布程序开始,其后跟程序名。可省略。:宣布程序开始,其后跟程序名。可省略。:宣布程序开始,其后跟程序名。可省略。REALREALREALREAL语句语句语句语句:定义:定义:定义:定义a,b,.a,b,.a,b,.a,b,.等变量为实数型数据。如为整数型,则用等变量为实数型数据。如为整数型,则用等变量为实数型数据。如为整数型,则用等变量为实数型数据。如为整数型,则用INTEGERINTEGERINTEGERINTEGER定义。定义。定义。定义。变量名变量名变量名变量名:可用可用可用可用a,ba,ba,ba,b等无具体意义的文字,或用等无具体意义的文字,或用等无具体意义的文字,或用等无具体意义的文字,或用average_valueaverage_valueaverage_valueaverage_value等英文缩写。使用的字等英文缩写。使用的字等英文缩写。使用的字等英文缩写。使用的字 符和文字长度有具体规定。符和文字长度有具体规定。符和文字长度有具体规定。符和文字长度有具体规定。输入输出语句输入输出语句输入输出语句输入输出语句:可以用以下任一种默认格式,注意星号:可以用以下任一种默认格式,注意星号:可以用以下任一种默认格式,注意星号:可以用以下任一种默认格式,注意星号(*)(*)(*)(*)和逗号和逗号和逗号和逗号(,)(,)(,)(,)。星号意指默认的。星号意指默认的。星号意指默认的。星号意指默认的输入输出硬件输入输出硬件输入输出硬件输入输出硬件(键盘和屏幕键盘和屏幕键盘和屏幕键盘和屏幕)及格式。及格式。及格式。及格式。READ*,READ*,READ*,READ*,变量名变量名变量名变量名 READ(*,*)READ(*,*)READ(*,*)READ(*,*)变量名变量名变量名变量名 PRINT*,PRINT*,PRINT*,PRINT*,变量或常数变量或常数变量或常数变量或常数,关系式关系式关系式关系式 WRITE(*,*)WRITE(*,*)WRITE(*,*)WRITE(*,*)变量或常数变量或常数变量或常数变量或常数,关系式关系式关系式关系式赋值语句:赋值语句:赋值语句:赋值语句:将等式右边的变量取值赋予左边的变量。将等式右边的变量取值赋予左边的变量。将等式右边的变量取值赋予左边的变量。将等式右边的变量取值赋予左边的变量。变量变量变量变量=变量、常数、关系式变量、常数、关系式变量、常数、关系式变量、常数、关系式例:例:例:例:sum=sum+xsum=sum+xsum=sum+xsum=sum+x算术运算算术运算算术运算算术运算:项运算:加项运算:加项运算:加项运算:加(+)(+)(+)(+),减,减,减,减(-)(-)(-)(-),乘,乘,乘,乘(*)(*)(*)(*),除,除,除,除(/)(/)(/)(/),乘方,乘方,乘方,乘方(*)(*)(*)(*)。运算的优先顺序:加,减运算的优先顺序:加,减运算的优先顺序:加,减运算的优先顺序:加,减 乘,除乘,除乘,除乘,除 乘方,括号中优先乘方,括号中优先乘方,括号中优先乘方,括号中优先()。单项运算:(例单项运算:(例单项运算:(例单项运算:(例-a-a-a-a)数据类型数据类型数据类型数据类型:按定义有整数、实数、复数、双精度数等。按定义有整数、实数、复数、双精度数等。按定义有整数、实数、复数、双精度数等。按定义有整数、实数、复数、双精度数等。C-C-求两种平均値求两种平均値-PROGRAM Example_1_1 PROGRAM Example_1_1 REAL a,b,av1,av2 REAL a,b,av1,av2 READ(*,*)a,b READ(*,*)a,b av1=(a+b)/2 av1=(a+b)/2 av2=sqrt(a*b)av2=sqrt(a*b)WRITE(*,*)av1,av2 WRITE(*,*)av1,av2 END END2.1Fortran2.1Fortran程序简例程序简例程序简例程序简例洛阳师范学院物理系洛阳师范学院物理系07/0807/08第一学期第一学期uu 程序实程序实例例uu 基本语基本语句句u程序特点程序特点第一章第一章FortranFortran程序设计初步程序设计初步2.1Fortran2.1Fortran程序简例程序简例程序简例程序简例 一个一个一个一个FortranFortranFortranFortran程序由一个或若干个程序单位组成。程序由一个或若干个程序单位组成。程序由一个或若干个程序单位组成。程序由一个或若干个程序单位组成。主程序主程序主程序主程序和和和和辅程序辅程序辅程序辅程序分别是一个独立的程序单位。主程序单元起整体控制作用,各辅程分别是一个独立的程序单位。主程序单元起整体控制作用,各辅程分别是一个独立的程序单位。主程序单元起整体控制作用,各辅程分别是一个独立的程序单位。主程序单元起整体控制作用,各辅程序单元完成总问题中的一个子问题。序单元完成总问题中的一个子问题。序单元完成总问题中的一个子问题。序单元完成总问题中的一个子问题。每一个程序单位都是以每一个程序单位都是以每一个程序单位都是以每一个程序单位都是以ENDENDENDEND语句结束的。语句结束的。语句结束的。语句结束的。ENDENDENDEND既是一个程序单位的既是一个程序单位的既是一个程序单位的既是一个程序单位的结束标志,又是一个独立的语句结束标志,又是一个独立的语句结束标志,又是一个独立的语句结束标志,又是一个独立的语句(结束语句结束语句结束语句结束语句)。主程序中的。主程序中的。主程序中的。主程序中的ENDENDENDEND语句的语句的语句的语句的作用是使程序作用是使程序作用是使程序作用是使程序“停止运行停止运行停止运行停止运行”。辅程序中的。辅程序中的。辅程序中的。辅程序中的ENDENDENDEND语句是语句是语句是语句是“使流程返回调使流程返回调使流程返回调使流程返回调用程序用程序用程序用程序”。Fortran Fortran Fortran Fortran程序中的语句可以有标号。一个语句有否标号是根据需要程序中的语句可以有标号。一个语句有否标号是根据需要程序中的语句可以有标号。一个语句有否标号是根据需要程序中的语句可以有标号。一个语句有否标号是根据需要而定,其作用是标志一个语句以便被其它语句引用。在同一个程序而定,其作用是标志一个语句以便被其它语句引用。在同一个程序而定,其作用是标志一个语句以便被其它语句引用。在同一个程序而定,其作用是标志一个语句以便被其它语句引用。在同一个程序单元中不能有两个相同标号的语句。标号不影响语句的执行顺序。单元中不能有两个相同标号的语句。标号不影响语句的执行顺序。单元中不能有两个相同标号的语句。标号不影响语句的执行顺序。单元中不能有两个相同标号的语句。标号不影响语句的执行顺序。但在但在但在但在F90F90F90F90中因为提倡结构化程序设计,一般不使用标号。中因为提倡结构化程序设计,一般不使用标号。中因为提倡结构化程序设计,一般不使用标号。中因为提倡结构化程序设计,一般不使用标号。F77 F77 F77 F77源程序必须按固定格式书写,即源程序中哪些内容应写在一行源程序必须按固定格式书写,即源程序中哪些内容应写在一行源程序必须按固定格式书写,即源程序中哪些内容应写在一行源程序必须按固定格式书写,即源程序中哪些内容应写在一行中的哪一列中的哪一列中的哪一列中的哪一列(或哪几列上或哪几列上或哪几列上或哪几列上)有严格的规定。而有严格的规定。而有严格的规定。而有严格的规定。而F90F90F90F90可采用自由格式可采用自由格式可采用自由格式可采用自由格式一一一一个个个个程程程程序序序序单单单单位位位位中中中中各各各各类类类类语语语语句句句句的的的的位位位位置置置置是是是是有有有有一一一一定定定定规规规规定定定定的的的的。例例例例如如如如PROGRAMPROGRAMPROGRAMPROGRAM语语语语句句句句应应应应是是是是主主主主程程程程序序序序的的的的第第第第一一一一个个个个语语语语句句句句。FUNCTIONFUNCTIONFUNCTIONFUNCTION语语语语句句句句是是是是函函函函数数数数子子子子程程程程序序序序的的的的第第第第一一一一个个个个语语语语句句句句,ENDENDENDEND语语语语句句句句只只只只能能能能是是是是程程程程序序序序单单单单位位位位中中中中最最最最后后后后一一一一行行行行。程程程程序序序序中中中中语语语语句句句句执执执执行行行行的的的的顺顺顺顺序序序序一般依照它们在程序中的先后位置而定。一般依照它们在程序中的先后位置而定。一般依照它们在程序中的先后位置而定。一般依照它们在程序中的先后位置而定。洛阳师范学院物理系洛阳师范学院物理系07/0807/08第一学期第一学期u程序实例程序实例u基本语句基本语句u程序特点程序特点第一章第一章FortranFortran程序设计初步程序设计初步2.1Fortran2.1Fortran程序简例程序简例程序简例程序简例一个程序单位包括若干行。一个程序单位包括若干行。一个程序单位包括若干行。一个程序单位包括若干行。F77F77行行行行分分分分为为为为下下下下面面面面两两两两类类类类。F77F77规规规规定定定定,一一一一行行行行只只只只能能能能写写写写一一一一个个个个语语语语句句句句,一一一一行行行行中中中中不不不不能能能能写写写写几几几几个个个个语语语语句句句句。如如如如果果果果一一一一个个个个语语语语句句句句太太太太长长长长,一一一一行行行行内内内内写写写写不不不不下下下下的的的的话话话话,可可可可以以以以写在写在写在写在继续行继续行继续行继续行(要用要用要用要用“续行标志续行标志续行标志续行标志”)”)语语语语句句句句行行行行。由由由由一一一一个个个个FortranFortran语语语语句句句句组组组组成成成成,FortranFortran语语语语句句句句分分分分为为为为执执执执行行行行语语语语句句句句和和和和非非非非执执执执行行行行语语语语句句句句。执执执执行行行行语语语语句句句句使使使使计计计计算算算算机机机机在在在在运运运运行行行行时时时时产产产产生生生生某某某某些些些些操操操操作作作作,如如如如赋赋赋赋值值值值语语语语句句句句、打打打打印印印印语语语语句句句句等等等等。非非非非执执执执行行行行语语语语句句句句(包包包包括括括括说说说说明明明明语语语语句句句句,数数数数据据据据语语语语句句句句等等等等)将将将将有有有有关关关关信信信信息息息息通通通通知知知知编编编编译译译译系系系系统统统统,以以以以便便便便在在在在编编编编译译译译时时时时作作作作出出出出相相相相应应应应的的的的处处处处理理理理,例例例例如如如如类类类类型型型型说说说说明明明明语语语语句句句句、函函函函数数数数子子子子程程程程序序序序语语语语句句句句等等等等。FortranFortran程程程程序序序序的的的的基基基基本本本本成成成成份份份份是是是是语句。语句。语句。语句。非非非非语语语语句句句句行行行行,即即即即注注注注释释释释行行行行。它它它它不不不不是是是是FortranFortran语语语语句句句句,它它它它不不不不被被被被翻翻翻翻译译译译成成成成机机机机器器器器目目目目标标标标指指指指令令令令。不不不不产产产产生生生生任任任任何何何何机机机机器器器器操操操操作作作作。它它它它仅仅仅仅仅仅仅仅是是是是为为为为了了了了人人人人们们们们阅阅阅阅读读读读程程程程序序序序的的的的方方方方便便便便而而而而加加加加到到到到程程程程序序序序中中中中的的的的。一一一一个个个个程程程程序序序序中中中中注注注注释释释释行行行行的的的的数数数数目目目目不不不不受受受受限限限限制制制制,根根根根据据据据需需需需要要要要而而而而定定定定。但但但但一一一一个个个个程程程程序序序序单单单单位位位位不不不不能能能能只只只只由由由由注注注注释释释释行行行行组组组组成成成成。注注注注释释释释行行行行的的的的内内内内容容容容完完完完全全全全是是是是根根根根据据据据程程程程序序序序设设设设计计计计人人人人员员员员需需需需要要要要而而而而写写写写的的的的,一一一一般般般般是是是是为为为为程程程程序序序序(或或或或程程程程序序序序中一部分中一部分中一部分中一部分)的作用作注释以易于理解程序。的作用作注释以易于理解程序。的作用作注释以易于理解程序。的作用作注释以易于理解程序。F90F90行行不不分分类类。注注释释可可以以写写在在任任一一行行末末尾尾,而而且且一一行行不不限限语语句句 数数,可可以以将将几几个个F77F77行行合合并并写写入入一一行行。这这样样,极极大大地地简简化化了了程程序序写写法法,使使得得程程序序可可以以编编写写得得更更为为清清晰晰明明了了。因因此此F90F90的的格格式式较较F77F77有有柔柔软性。软性。洛阳师范学院物理系洛阳师范学院物理系07/0807/08第一学期第一学期uu 字符集字符集uu 程序组程序组成成第一章第一章FortranFortran程序设计初步程序设计初步2.1Fortran2.1Fortran程序的基本组成程序的基本组成程序的基本组成程序的基本组成 FORTRAN 90FORTRAN 90源程序是一个符合源程序是一个符合FORTRAN 77/90FORTRAN 77/90词法、语词法、语法和语义规定的特殊文本法和语义规定的特殊文本,它由它由FORTRAN 77/90FORTRAN 77/90字符集规定的字符集规定的字符按照词法、语法和语义规定进行描述。字符按照词法、语法和语义规定进行描述。概述:概述:FortranFortran允许使用的字符如下:允许使用的字符如下:英英文文字字母母:A A B B C C D D E E F F G G H H I I J J K K L L M M N N O O P P Q Q R R S S T T U V W X Y Z U V W X Y Z 阿拉伯数字:阿拉伯数字:0 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 9特特殊殊符符号号:空空格格 =+-*/(),.:!%&$?_(F90$?_(F90中新增的字符中新增的字符)其中其中“$”“$”和和“?”“?”号在程序中没有确切意义。应当注意,号在程序中没有确切意义。应当注意,在在F77F77语句中不区分大小写字母,例如写语句中不区分大小写字母,例如写READREAD和和readread或或ReadRead是一样的,其它变量名和函数名中,大、小写字母也是等价是一样的,其它变量名和函数名中,大、小写字母也是等价的。但早期的的。但早期的FortranFortran卡片不允许小写,故老的程序代码都卡片不允许小写,故老的程序代码都是大写的,很多人也养成了大写的习惯。是大写的,很多人也养成了大写的习惯。洛阳师范学院物理系洛阳师范学院物理系07/0807/08第一学期第一学期uu 字符集字符集uu 程序组程序组成成 总体构造总体构造 程序单位程序单位 语句顺序语句顺序 英文名英文名 标号标签标号标签第一章第一章FortranFortran程序设计初步程序设计初步2.1Fortran2.1Fortran程序的基本组成程序的基本组成程序的基本组成程序的基本组成程序总体构造程序总体构造 :Fortran90Fortran90程程序序是是一一种种分分块块形形式式的的程程序序,整整个个程程序序由由若若干干个个程程序序模模块块组组成成。各各模模块块都都有有相相似似的的语语句句组组织织形形式式,其其中中主主程程序序起起整整体体控控制制作作用用,各各辅辅程程序序模模块块各各自自完完成成问问题题中中的的一一个个算算法法。在在解解决决一一个个比比较较复复杂杂的的问问题题时时,先先把把求求解解的的问问题题分分解解为为若若干干相相对对独独立立的的子子算算法法,每每一一个个子子算算法法编编为为一一个个辅辅程程序序,然然后后按按搭搭积积木木一一样样将将各各有有关关程程序序模模块块组组成成一一个个程程序序。主主程程序序依依次次调调用用各各辅辅程程序序模模块块,控控制制各各子子算算法法的的实实施施,通通过过主主程程序序对对子子程程序序的的调调用用,形形成成程程序序的的整整体体运运行,完成问题的解。行,完成问题的解。若若某某一一子子程程序序算算法法仍仍复复杂杂,可可再再把把它它分分解解为为若若干干更更小小的的算算法法,分分别别编编写写为为更更低低一一层层次次的的辅辅程程序序,由由其其他他辅辅程程序序分分别别去去调调用用。这这种种情情况况可可以以类类推推到到其其它它子子程程序序或或更更低低一一层层次次。所所以以,FortranFortran程程序序n n个个程程序序单单位位1 1主主程程序序单单位位(0(0n-1)n-1)个个子子程程序序单单位位。在在最最简简情情况况下下,FortranFortran程程序序只只由由一一个个主主程程序序构构成成而而没没有有辅辅程程序序,所所有有算算法法都都由由主主程程序序自自身身完完成成。按按现现代代要要求求,即即使使功功能能比比较较简简单单的的问问题题,也最好写成主程序调用辅程序的形式,以便于维护。也最好写成主程序调用辅程序的形式,以便于维护。洛阳师范学院物理系洛阳师范学院物理系07/0807/08第一学期第一学期uu 字符集字符集uu 程序组程序组成成 总体构造总体构造 程序单位程序单位 语句顺序语句顺序 英文名英文名 标号标签标号标签第一章第一章FortranFortran程序设计初步程序设计初步2.1Fortran2.1Fortran程序的基本组成程序的基本组成程序的基本组成程序的基本组成 程序单位程序单位 :主程序主程序 PROGRAM PROGRAM 程序程序名名 语句可省略语句可省略 .END PROGRAM END PROGRAM 程序程序名名 END END必须有必须有辅程序辅程序(过程过程)SUBROUTINE SUBROUTINE 子程序子程序 FUNCTION FUNCTION 函数函数 BLOCK DATA BLOCK DATA 块数据块数据 MODULE MODULE 模块模块(F90)F90)内部过程内部过程 CONTAINS(F90)CONTAINS(F90)程程序序单单位位是是FortranFortran中中的的基基本本成成分分,包包括括主主程程序序、辅辅程程序序、块块数数据据单单元元和和内内部部过过程程。辅辅程程序序可可以以是是函函数数辅辅程程序序或或子子程程序序辅辅程程序序。模模块块中中包包含含可可由由其其他他程程序序单单位位访访问问的的各各种种实实体体。块块数数据据单单元元用用来来对对有有名名公公用用块块的的数数据据对对象象规规定定初初始始值值。一一个个执执行行程程序序总总是是由由一一个个主主程程序序单单位位和和任任意意个个(可可以以为为零零)其其他他类类型型的的程程序序单单位位组组成成,任任何何程程序序单单位位都都不不能能调调用用主主程程序序。MODULEMODULE过过程程在在主主程程序序中中通通过过USEUSE语语句句与与之之相相联联系系。模模块块用用于于组组装装若若干干功功能能(如如过过程程、类类型型定定义义、语语义义扩扩展展等等)为为一一集集团团,是是F90F90中中极极具具柔柔软软性性的的程程序序单单位位,它它取取代代了了F77F77中中的的某些不安全的特性。某些不安全的特性。BLOCK BLOCK DATADATA辅辅程程序序的的用用处处是是定定义义全全局局常常数数或或全全局局初初始始化化,在在F90F90中中是不推荐使用的,其功能已被是不推荐使用的,其功能已被MODULEMODULE和和USEUSE取代。取代。洛阳师范学院物理系洛阳师范学院物理系07/0807/08第一学期第一学期uu 字符集字符集uu 程序组程序组成成 总体构造总体构造 程序单位程序单位 语句顺序语句顺序 英文名英文名 标号标签标号标签第一章第一章FortranFortran程序设计初步程序设计初步2.1Fortran2.1Fortran程序的基本组成程序的基本组成程序的基本组成程序的基本组成程序体和语句顺序程序体和语句顺序 :FortranFortran要要求求严严格格的的语语句句顺顺序序。在在每每个个程程序序单单位位中中,根根据据语语句句种种类类按如下的次序排列。按如下的次序排列。F77F77中的顺序可简单归纳为:中的顺序可简单归纳为:P PROGRAMROGRAM,FUNCTIONFUNCTION,SUBROUTINESUBROUTINE,BLOCK BLOCK DATADATA等等程程序序单单位位开开始语句始语句 变量类型和语句函数等定义语句变量类型和语句函数等定义语句(说明部分说明部分)执行语句,执行语句,DATADATA语句,语句,FORMATFORMAT语句语句 (执行部分执行部分)ENDEND语句语句 在在F90F90中将新增加的语句功能综合后,其顺序为:中将新增加的语句功能综合后,其顺序为:洛阳师范学院物理系洛阳师范学院物理系07/0807/08第一学期第一学期uu 字符集字符集uu 程序组程序组成成 总体构造总体构造 程序单位程序单位 语句顺序语句顺序 英文名英文名 标号标签标号标签第一章第一章FortranFortran程序设计初步程序设计初步2.1Fortran2.1Fortran程序的基本组成程序的基本组成程序的基本组成程序的基本组成 英文名英文名:变变量量名名和和程程序序名名等等使使用用的的英英文文名名是是由由(F77(F77:6 6;F90F90:31)31)个个字字符符(包包含含英英文文字字母母A-ZA-Z、数数字字0-90-9、F90:F90:下下划划线线 _)_)构构成成,且且第第一一个个字字符符必必须须是是字字母母。其其英英文文名名的的有有效效使使用用范范围围原原则则上上限限于于一一个个程程序序单单位位之内(内部过程除外)。之内(内部过程除外)。例如:例如:FortranFortran没没有有规规定定保保留留字字,即即可可以以用用函函数数名名或或语语句句定定义义符符作作变变量量名名。但但为为了了避避免免混混淆淆,建建议议不不要要使使用用FortranFortran中中已已有有特特定定含含义义的的字字作作变变量名。如量名。如SINSIN是正弦函数的名字,如果有以下语句:是正弦函数的名字,如果有以下语句:SINSIN3.53.5PRINT*PRINT*,SINSIN则则语语句句中中的的SINSIN是是变变量量名名而而不不代代表表正正弦弦函函数数。系系统统会会根根据据它它后后面面有有无自变量而作出判断,又如:无自变量而作出判断,又如:READ*READ*,PRINTPRINT此此时时PRINTPRINT是是一一个个变变量量名名而而不不代代表表“打打印印输输出出”的的操操作作。系系统统会会认认定定语语句句的的第第个个字字READREAD为为代代表表操操作作的的语语句句定定义义符符,而而把把PRINTPRINT作作为为READREAD语语句句中中读读数数的的变变量量。但但在在同同一一个个程程序序单单位位(主主程程序序或或子子程程序序分分别是一个程序单位别是一个程序单位)中,中,变量名和函数名或语句定义符不能同名变量名和函数名或语句定义符不能同名。洛阳师范学院物理系洛阳师范学院物理系07/0807/08第一学期第一学期uu 字符集字符集uu 程序组程序组成成 总体构造总体构造 程序单位程序单位 语句顺序语句顺序 英文名英文名 标号标签标号标签第一章第一章FortranFortran程序设计初步程序设计初步2.1Fortran2.1Fortran程序的基本组成程序的基本组成程序的基本组成程序的基本组成 标号和标签标号和标签 :可可在在语语句句开开头头加加上上标标号号或或标标签签,用用于于指指定定特特定定的的语语句句。有有效效范范围围限限于一个程序单位内。于一个程序单位内。标标号号:1-51-5位位的的1010进进制制整整数数,且且至至少少一一位位不不为为0 0,前前导导0 0不不起起作作用用。F90F90中,不可对空语句加上语句标号。中,不可对空语句加上语句标号。标签标签:英文名,后面接:英文名,后面接“:”“:”(冒号)(冒号)(F90)(F90)例:例:DO 10 k=1,100DO 10 k=1,100.10 CONTINUE10 CONTINUE例:例:(F90)(F90)DO k=1,100DO k=1,100loop2loop2:DO:DO.END DO loop2 !END DO loop2 !已有标签名时不能省略标签名。已有标签名时不能省略标签名。END DOEND DO洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系第一章第一章FortranFortran程序设计初步程序设计初步 例例1 1:INTEGER:1A !INTEGER:1A !不是以字母开头不是以字母开头INTEGER:A_name_made_up_of_more_than_31_letters !INTEGER:A_name_made_up_of_more_than_31_letters !太长太长INTEGER:China:0 !INTEGER:China:0 !含有不允许的字符含有不允许的字符INTEGER:A-3 !INTEGER:A-3 !减号在此是无意义的减号在此是无意义的例例2 2:SINSIN3.53.5A ASIN*SIN(2.0)SIN*SIN(2.0)PRINT*PRINT*,PRINTPRINT洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系洛阳师范学院物理系第一章第一章FortranFortran程序设计初步程序设计初步数据的输入数据的输入:READ*READ*语句执行时进入等待数据输入的状态。数个数据输入时以英文语句执行时进入等待数据输入的状态。数个数据输入时以英文逗号、空格或换行符作区别,单个数据中间

    注意事项

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

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




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

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

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

    收起
    展开