Fortran循环结构.ppt

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

第四章 循环结构程序设计 DO语句 DO WHILE语句 循环的嵌套 循环结构的程序设计方法 4.1 用DO语句实现循环 INTEGER X DO X=1,10,1 PRINT *,X,SIN(X*1.0),COS(X*1.0) END DO END DO循环一般格式 P45 例 求5! PROGRAM LOOP INTEGER P,K P=1 DO K=5,1,-1 P=P*K END DO PRINT *,P END P46 例 INTEGER X DO X=1.2, 5.6, 2.4 PRINT *,X END DO END 程序执行后的输出结果为: 3 5 P49 例4.4 所谓“水仙花数”是指一个三位整数,其各位数字立方和等于该数本身。例如,153就是一个水仙花数。输出全部“水仙花数”。 4.3 几种循环组织方式的比较 程序3:用DO循环和逻辑IF语句的嵌套实现。 IMPLICIT NONE INTEGER M, I, J READ *, M I=2 J=SQRT(REAL(M)) DO IF (MOD(M, I)==0 .OR. IJ) EXIT I=I+1 END DO IF ( IJ. AND. M1) THEN PRINT *, M, ’ is a prime number’ ELSE PRINT *, m, ’ is not prime number’ END IF END 4.4 循环的嵌套 P59 例4.15 球从100m高度自由落下,落地后弹起。每次弹起的高度都是上次高度的一半。求第10次落地后反弹起的高度和球所经过的路程。 近似求每个小曲边梯形的面积的常用方法 (1)用小矩形代替小曲边梯形,求出各个小矩形面积,然后累加。此种方法称为矩形法。 (2)用小梯形代替小曲边梯形,此种方法称为梯形法。 (3)用抛物线代替该区间的f(x),然后求出抛物线与x=a+(i-1)h,x=a+ih,y=0围成的小曲边梯形面积,此种方法称为辛普生法。 integer :: iseed, n, m, i real:: x, y write(*,*) input iseed: read(*,*) iseed write(*,*) input n: read(*,*) n m=0 do i=1, n x=RAN(iseed) y=RAN(iseed) if(x*x+y*y=1) m=m+1 end do write(*,*) pi=,1.0*m/n*4 end 作业 例:用迭代法求解x3+2x2+2x+1=0 先找出x=g(x)式子,可得到:x=(-x3-2x2-1)/2 估计在0附近有一个根,设x0=0 real x, m read*, x, m do i=1, m x1=(-x**3-2.0*x*x-1.0)/2.0 print*, i, x1 if(abs(x-x1)=1e-6)then x=x1 else exit endif enddo print*, i=, i, x=, x1 end 例4.16 用牛顿迭代法求方程f(x)=2x3-4x2+3x-7=0 在x=2.5附近的实根,直到满足|xn-xn-1|≤10-6 为止。 牛顿 迭代公式为: 牛顿迭代法求f(x)=0在x0附近的一个实根的方法: (1) 选一个接近于x的真实根的近似根x1 (2) 通过x1求出f(x1),在几何上就是作 x=x1,交f(x)于f(x1) (3) 过f(x1)作f(x)的切线交x轴于x2,由于f’(x1)=f(x1)/(x1-x2), 所以:x2=x1-f(x1)/f’(x1) (4) 通过x2求出f(x2) (5) 再过f(x2)作f(x)的切线,交x轴于x3 (6) 再通过x3求出f(x3),…一直求下去,直到接近真正的根,当|xn+1-xn|小于等于一个给定的很小的数,这时xn+1就是近似解 x y f(x) 0 x3 x2 x1 f(x1) f(x2) f(x3) 2.牛顿迭代法 real :: x=2.5, d=1.0 ! d=f(x)/ f ’(x) do while(abs(d)1.0e-6) d=(((2.0*x-4.0)*x+3.0)*x-7.0)/((6.0*x-8)*x+3.0) x=x-d end do write(*,*) The root is , x end f(x)=2x3-4x2+3x-7=0 f ’(x)=6x2-8x+3

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档