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

    2022年FORTRAN简明教程 .pdf

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

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

    2022年FORTRAN简明教程 .pdf

    1 FORTRAN 程序设计原理1、 程序结构及书写规则一个程序由不同的程序单元组成,每一程序单元均以end结束,一般情况下,主程序的结构为:Program程序单元名说明语句可执行语句STOP END 子程序的结构为:SUBROUTINE 程序单元名 (哑元名表 ) 说明语句可执行语句RETURN END 以及FUNCTION 程序单元名 (哑元名表 ) 说明语句可执行语句RETURN END 程序单元名由字母和数字组成,各程序单元中的变量独立编译,同名变量相互不影响。 15 列为行号,可以是199999 之间的任意数, 6 列为续行号,可以是任何字符,正文从第8 列写到 72 列。当第 1 列为字符 C 时,此行为注释行。2、 说明语句说明语句分为二类,一类必须放在程序单元的开头,另一类可以放在任何地方。2.1 变量说明语句这一类说明语句,必须放在程序单元的开头,以表明变量的性质。若不加以说明,以 IN 开头的变量均为整型,其余变量均为实型,称之为IN 规则。同一变量经下列显式说明语句说明后,IN 规则失效,没有经显式说明的变量,IN 规则仍然有效。PARAMETER (变量名 const,)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 2 REAL 变量名表INTEGER 变量名表CHARACTER 变量名表LOGICAL 变量名表COMPLEX 变量名表IMPLICIT 变量基本类型(字符名表)DOUBLE PRECISION 变量名表DIMENSION 变量名表COMMON 变量名表COMMON / 公共区名 / 变量名表DATA 变量名表/数值名表 / 一个变量可由多个语句说明,其中类型说明语句的级别最高,例如:Implicit real (a-c,e) 由 a,b,c,e开头的变量均为实型Dimension ax(100) 定义一个 100 个元系的实型数组Integer bx, ax 重新定义 bx, ax 为整型变量2.2 格式说明语句这一类语句可以放在程序单元内的任何地方,常用的有:FORMAT(nFw.d, nX, nAw, nIw, . , ,nEw.d)这里,n 是重复使用该格式码的次数, F 表示实型 ,X 表示空格 ,A 表示字符 ,I 表示整型,E 科学记数法, w 是输入 /出的宽度, d 是小数位数,引号内的内容原样输出,斜线 表示输入 /出时换行。3、可执行语句这一类语句的执行将产生相应的效果,但有两个语句仅控制程序的流程:CONTINUE GO TO m 可以出现在程序的任何地方,continue表示执行下一语句, go to m 转移执行第 m号语句。3.1 赋值语句把等号右边的值或表达式的计算结果赋给等号左边的变量,只有复型量较为特殊:Complex y y=cmplx(a,b) 或real(y)=a imag(y)=b 一般情况下,等号的右边可以是表达式或常数,表达式进行计算时,同类型变量之间直接进行运算,不同类型之间运算,则将等级较低的整型化为级别较高的实型,或双精型进行计算,最后将计算结果再化为等号左边的类型。特别值得一提的是,若将实数赋给整型变量时,是将其小数部分截断,并非四舍五入;若将整数赋给实型变量时,只须在尾部加小数点。3.2 输入/出语句输入/出也分为二类, 一类表示输入 /出到终端,另一表示输入 /出到文件。每一个名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 3 读/写语句执行后,均输入 /出一行。(1)从终端输入 /出Read和 write 用于输入和输出,分为自由格式和有格式输入/出:read(*,*)变量名表read(*,m) 变量名表m FORMAT(nFw.d, nX, nAw, nIw, / ,nEw.d)write(*,*) 变量名表write(*,mm) 变量名表mm FORMAT(nFw.d, nX, nAw, nIw, , / ,nEw.d)Read ()和 write()中的第一个 *表示从终端输入 /出,第二个 *表示自由格式,此时数据之间以逗号或空格分隔,若第二个参数不为*,则按指定的格式输入 /出。(2)从文件输入 /出分为自由格式和有格式输入/出:read(nn,*)变量名表read(nn,m) 变量名表m FORMAT(nFw.d, nX, nAw, nIw, / ,nEw.d)write(nn,*) 变量名表write(nn,mm) 变量名表mm FORMAT(nFw.d, nX, nAw, nIw, , / ,nEw.d)这里, nn 是文件通道号,可以是199 之间的整数,具体值由打开文件时指定。3.3 条件语句(1) 条件表达式与逻辑表达式算术运算符 +、 *、/,* 分别代表了加、减、乘、除和乘方运算。用条件算符.lt. .le. .eq. .ne. .gt. .ge. 与逻辑符 .and. .or. .not.组成条件表达式,例如yxz 可表示为条件:y.lt.x.and.x.lt.z 再与 IF THEN 配合形成各种条件语句:If (条件) then 语句. end if 另一种形式:if (条件) then 语句. else 语句. end if 以上两种形式可以嵌套形成各种复杂的判断,但二者不能交叉。3.4 循环语句名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 4 (1)显 DO 的一般形式:DO m 循环变量 M1,M2,M3 语句m continue (或可执行语句 ) 循环次数 MAX (INT(M2M1+M3 )/M3,0)这里, M1,M2,M3 分别表示初值、终值和增值,当增值为1 时可以不写。循环体与循环体之间、循环体与IF 块之间可以嵌套,但不能相互交叉。(2)隐 DO 的一般形式:在输入 /出语句中,为了用一个语句输入/出多行,可以采用隐DO,其一般形式为:read(*,*)( 变量名表,循环变量 M1,M2,M3) read(*,m)( 变量名表,循环变量 M1,M2,M3) read(n,*)( 变量名表,循环变量 M1,M2,M3) read(n,m)( 变量名表,循环变量 M1,M2,M3) m FORMAT(nFw.d, nX, nAw, nIw, / ,nEw.d)或write(*,*)( 变量名表,循环变量 M1,M2,M3) write(*,m)( 变量名表,循环变量 M1,M2,M3) write(n,*)( 变量名表,循环变量 M1,M2,M3) write(n,m)( 变量名表,循环变量 M1,M2,M3) m FORMAT(nFw.d, nX, nAw, nIw, . , ,nEw.d)这里的循环次数必须为整数,原则上,一个 read和 write 语句对应一个记录, 当一个记录超出 80 列时,利用格式码和换行符来控制。4、基本的输入 /出与字符处理(1) 基本的输入自由格式输入时,各量之间以空格或逗号分隔,字符常数用引号括起来,自由格式输出时, 各量之间以多个空格分隔, 小数位数为 7 位。格式输入时, 将取宽度 w位,进行编辑后赋给相应的变量,字符常数不用引号,若有引号将视为字符;格式输出时,将取宽度w 位,进行编辑,若w 大于实际长度,输出结果的末位补零或空白字符。若 w 小于实际长度,输出结果为w 个*。例如Read(*,2)x 2 format(f5.2) 当输入:5 x 的值为 5.0 5 x 的值为 500.00 5.3 x 的值为 5.3 5.3 x 的值为 5.3 当输入含小数点时,格式码失效,否则数字前导空格作为空格,后导空格作为0处理。例如:Read(*,2)m 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - 5 2 format(i5) 当输入:5 m 的值为 5 5 m 的值为 50000 5 m 的值为 500 此时,若输入中含小数点,将报告输入格式错误。(2) 字符串与字符串数组Character string*20, ch(30)*20 上式定义了一个字符串变量string,其包含了 20个字符, 第 i 个可表示为 string(i:i) ,字符串数组 ch 含了 30 个元素,每个元素含20 个字符,第 j 个元素中的第 i 个字符可表示为 ch(j)(i:i) ,采用上述规则可遍历变量中的所有字符。5、子程序单元SUBROUTINE 程序单元名 (哑元名表 ) 说明语句可执行语句RETURN END 以及FUNCTION 程序单元名 (哑元名表 ) 说明语句可执行语句RETURN END 调用 SUBROUTINE 的方式:Call 子程序单元名 (实元名表 ) 哑元名表是形式变量,这些变量将在子程序中定义;实元名表中的各变量可以是已赋值的变量,或常数,也可以是有待子程序返回值的变量名。调用 FUNCTION 的方式:在表达式中直接引用子程序单元名(实元名表 ),函数值及其类型由子程序单元名返回,例如:Program test Interger rinter X=3.6 Write(*,*)rinter(x) End 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 6 Function rinter(y) Inter rinter Rinter=y Return end 上述程序输出结果为: 3 6、程序单元之间的通讯子程序有 subroutine 和 function 两种,可以出现在任何地方,无先后顺序之分,由于 function 是通过函数名将值返回调用程序,而 subroutine是通过调用程序的实元与哑元相结合(即共享相同存储单元)带合函数值,故功能较为强大。调用方式:Call 子程序单元名 (实元名表 ) 实元名表与哑元名表中对应变量共享相同存储单元,因此调用将值以哑实结合的方式传递给子程序,子程序返回时又将新值传递给了调用程序,因而,这就要求实元类型与哑元类型必须一致,个数一致。另外,数组的存储按列的方式存取的,例如:dimension x(2,3) . call exchange(x,single) . Stop End Subroutine exchange(y, dy) Dimension y(2,2), dy(2) Return End 共享存储单元的情况如下:X(1,1) X(2,1) X(1,2), X(2,2) X(1,3) X(2,3) Y(1,1) Y(2,1) Y(1,2), Y(2,2) single dy1(1) dy(2) 以上表明:对应的哑实元之间建立一个堆,彼此共享一个存储单元,这就要求二者的类型必须一致。子程序中使用可调整数组,数组的大小必须出现在哑元名表中,主程序中使用可调整数组,数组的大小必须出现在parameter (名表)中。另外,当使用common语句交换时,在同名common中,必须要求变量类型一致,个数一致。7、文件操作(1) 内部文件存放在内存的文件称之为内部文件,数据在内存中以机器内的形式存放,然而内部文件却以字符的形式存放。有了内部文件,就可以将机内的数据转为字符,或把内存中的字符转化为数据。例如:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 7 Character buff*80 Read(*,*)buff Read(buff,m)变量名表m FORMAT(nFw.d, nX, nAw, nIw, . , ,nEw.d). Wirte(buff,m) 变量名表. end (2) 外部文件文件是由记录组成的,存放在磁盘上的文件称之为外部文件,文件必须打开并连接到相应的通道号方能存取,用完后要关闭。Open(m,file=filename,status= new or old ) 语句. Close(m) 这里, m 是通道号,打开一个将要写入的文件,status= new , 如果这个文件已存在,则会删除它。打开一个将要读入的文件,status= old , 如果这个文件不存在,则会自动建立一个空文件。一个文件一旦打开,读写指针总是指在第一个记录处,读写一次,指针下移一个记录,可以用下列语句将指针倒回开头,或者倒退一个记录:Rewind(m) Backspace(m) 例如读一名为 test.dat的数据文件:Open(1,file= test.dat ,status= old ) Do 10 i=1,1000 Read(1,20,end=200) 变量名表20format(nFw.d, nX, nAw, nIw, . , ,nEw.d)10continue 200 write(*,*) It is reached the end of file Close(1) Stop End 在读语句中, 加入了 end=200,告诉程序一旦读到文件尾就转到200 号语句,若没有这一指示,程序读到文件尾时将出错,并停止运行。例如写一名为 test.dat的数据文件:Open(1,file= test.dat ,status= new ) write(1,*) 变量名表Do 10 i=1,1000 write(1,20)变量名表20format(nFw.d, nX, nAw, nIw, . , ,nEw.d)10continue 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 8 Close(1) Stop 上例中,第一个写语句以自由格式写入一个记录,第二个写语句以20 号语句规定的格式写入 1000个记录。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -

    注意事项

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

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




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

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

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

    收起
    展开