网站大量收购独家精品文档,联系QQ:2885784924

6Fortran的数据结构讲述.pptx

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6Fortran的数据结构讲述

1 第八章 常用算法的程序设计举例 第一章 算法 第二章 计算机和计算机程序 第四章 逻辑运算和选择结构 第五章 循环结构的实现 第六章 Fortran的数据结构 第七章 数据的输入、输出 第三章 Fortran语言程序设计初步 2 一、程序中的数据结构 程序处理的对象是数据 3 在计算机语言中,用数据类型来表示不同的数据结构。高级语言一般有以下三类数据结构:基本类型、构造类型和指针类型。 基本类型(简单类型):整型、实型、双精度型、复型、 逻辑型、字符型等。 构造类型:数组、记录、文件、集合等。 指针类型:链表、队、栈、树、图等。 FORTRAN77提供基本类型、构造类型。 算法+数据结构=程序 4 二、双精度类型数据 双精度数在计算机系统中以两倍于实型的字节数来存储,它提供的有效数字比实型数据多一倍以上。 双精度数也是近似的表示一个数,只是它的精度更高。在同一个系统中,它与实型数据的表数范围相同。 双精度常数要以指数形式表示,并以d代替e。 1.1e2 1.1d2 0.0 0.0d0 1.0 1.0d0 双精度型数据,要先定义后使用。 double precision amount, income implicit double precision (r, x-z) real*8 imax, volt real(8) imax, volt real (kind=8) imax, volt !Fortan 90 添加 5 求: 前200项乘积。 double precision i,ai,y y=1d0 i=1d0 10 if(i.le.100d0) then ai=4.0*i*i/(4.0*i*i-1) y=y*ai i=i+1 goto 10 end if write(*,*) y=,y end 6 三、复型数据 复型数据分实部虚部,使用8个字节来存放,必 须先定义后使用。 complex pose, flux implicit complex (r, x-z) complex *8 pose, flux !Fortran77 传统 complex (8) pose, flux !Fortran77 传统 complex (kind=8) pose, flux !Fortran90添加 复数的实部和虚部两部分也是用实数来保存,所以复数也可以分为单精度和双精度两种类型。 7 复型常数表示为: 1+2.5i (1.0, 2.5) -5.4i (0.0, -5.4) 7.8 (7.8, 0.0) 如果实部或虚部是表达式,则需通过cmplx函数转 换成复型数。 complex cordxy, trans trans=(3.0, 6.5) cordxy=cmplx(3.0*x, 6.5*y) cmplx(3.0)则 转成(3.0, 0.0) 8 complex x1,x2 read(*,*) a,b,c d=b*b-4.0*a*c part1=-b/(2.0*a) part2=sqrt(abs(d))/(2.0*a) if(d.ge.0.0) then x1=cmplx(part1+part2, 0.0) x2=cmplx(part1-part2, 0.0) else x1=cmplx(part1,part2) x2=cmplx(part1,-part2) end if write(*,*) x1=,x1 write(*,*) x2=,x2 end 求一元二次方程Ax2+Bx+C=0的根 9 已知交流电路:U=220v, r0=10Ω, L0=10-3 H, r1=100 Ω, C1=100μF, r2=50 Ω, L2=10-2 H, C2=200 μF。 求:(1)等效电阻Z;(2)电流I, I1, I2 10 implicit real(l) implicit complex(u,i,z) parameter (omega=314.1592) u=(220.0,0.0) write(*,*) enter r0,l0,r1,c1,r2,l2,c2 read(*,*) r0,l0,r1,c1,r2,l2,c2 z0=cmplx(r0,omega*l0) z1=cmplx(r1,-1.0/(

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档