fortran作业

  • 格式:docx
  • 大小:37.14 KB
  • 文档页数:3

fortran作业

第三章

二、将数学式写成fortran表达式(1)a**2+4*b**3)/(a-b)

(2)(-b+sqrt(b*b-4*a*c))/(2*a)(3)(6*sin((x+y)**2))/(2*a)(4)sin(y/(aqrt(x*x+y*y)))

(5)sin(atan(aqrt(x*x+y*y))/(abs(c)))九、电路编程

implicitreal(a-z)r1=30r2=60r3=45u=120

i=(u/r1+u/r2+u/r3)print*,iend

结果:8.666667

十、六边形面积编程!mainprogram

implicitreal(a-z)i1=10i2=20i3=16i4=13i5=21i6=14i7=30i8=36i9=28

area=x(i2,i3,i7)+x(i1,i7,i8)+x(i4,i8,i9)+x(i5,i6,i9)print*,'area=',areaend

!functionprogram

functionx(a1,a2,a3)b=(a1+a2+a3)/2

x=sqrt(b*(b-a1)*(b-a2)*(b-a3))end

结果:area=581.2570

十一、分期付款编程read(*,*)d,p,r

m=(log(p)-log(p-d*r))/log(1+r)m=m+1print*,mend

十二、筹钱贷款编程!daikuanrealiread(*,*)a,r,ni=r+1d=(a*(i**n-1))/((i-1)*i**n)d=int(d*10+0.5)/10print*,dend

第四章

五、谋y编程!calculateyrealx,yread(*,*)xif(x.ge.0.and.x.lt.10)theny=xelseif(x.ge.10.and.x.lt.20)theny=x*x+1

elseif(x.ge.20.and.x.lt.30)theny=x*x*x+x*x+1endifprint*,'x=',x,'y=',yend六、整除编程!zhengchuread(*,*)mif(mod(m,7).eq.0)print*,m,'能被7整除'if(mod(m,11).eq.0)print*,m,'能被11整除' if(mod(m,17).eq.0)print*,m,'能够被17相乘'if(mod(m,7).ne.0.and.mod(m,11).ne.0.and.mod(m,17).ne.0)print*,m,'无法被7,11,17相乘'

end

八、大小排序编程!program

read(*,*)a,b,c,dif(a.lt.b)thentemp=aa=bb=tempendifif(a.lt.c)thentemp=aa=cc=tempendif

if(a.lt.d)thentemp=aa=dd=tempendif

if(b.lt.c)thentemp=bb=cc=tempendifif(b.lt.d)thentemp=bb=dd=tempendifif(c.lt.d)thentemp=cc=dd=tempendifprint*,a,b,c,dend

九、高程编程!programread(*,*)x,yif((x-2)**2+(y-2)**2.le.1)then

h=10elseif((x+2)**2+(y+2)**2.le.1)thenh=10elseif((x-2)**2+(y+2)**2.le.1)thenh=10elseif((x+2)**2+(y-2)**2.le.1)thenh=10elseh=0endifprint*,'h=',hend

十、建筑规划编程!programread(*,*)x,yif(abs(x).le.10.and.abs(y).le.10)thenh=20elseif(abs(x).le.20.and.abs(y).le.20)thenh=30

elseif(abs(x).le.30.and.abs(y).le.30)thenh=50elseh=100endifprint*,'h=',hend一、求和编程!programsum=0sign=1do100,i=1,100,1sum=sum+sign*1.0/isign=sign*(-1)100continue

print*,'sum=',sumend

结果为:0.6881718二、求和编程!programsum=0do100,i=1,20,1

第五章

sum=sum+1.0/i/(i+1)100continue

print*,'sum=',sumend

结果为:0.9900995四、sinx函数编程!programsum=0read(*,*)xtemp=xsign=1i=1do100,while(abs(temp).gt.1e-10)sum=sum+sign*tempsign=sign*(-1)i=i+2temp=temp*x*x/i/(i-1)100continueprint*,sumend

五、电阻编程!programread(*,*)r0,r1,r2temp=r0do100,i=1,3,1temp=(temp+r1)*r2/(temp+r1+r2)100continue

print*,tempend

七、水解因子编程!programread(*,*)mprint*,m,'=1'20continue

do100,i=2,m,1if(mod(m,i).eq.0)thenprint*,'*',im=m/igoto20endif100continue