Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function f(x)
- real::f,x
- f=sqrt(x**2+x+1)-sqrt(x**2-x+1)
- end function
- program pr7
- integer::l,n,i,j,k
- real::x0,xk,h,sup=-(10**5),inf=10**5,u,v,t
- real,dimension(1:100)::xi,yi !В примере из учебника размер массивов задан, можно сделать динамические
- print*, 'input x0,xk,h,l'
- read*,x0,xk,h,l
- write(*,*) 'i x f(x)'
- n=nint(((xk-x0)/h+0.5)+1)
- do i=1,n
- u=x0+(i-1)*h !из примера
- v=f(u) !зачем-написано в книге
- xi(i)=u
- yi(i)=v
- write(*,'(I5,2(f7.3))') i,u,v
- if (sup<v) then
- sup=v
- end if
- if (inf>v) then
- inf=v
- end if
- end do
- t=(sup-inf)/l
- write(*,10) sup,inf,t
- 10 format (2x,"sup=",f7.3,2x,"inf=",f7.3,2x,"t=",f7.3/7x,"x")
- do i=1,n
- k=nint((yi(i)-inf)/t)
- write(*,'(f7.3,"-"\)') xi(i)
- write(*,'(a\)') repeat(" ",k)
- write(*,'(a1)') '*'
- end do
- write(*,'(a,a\)') repeat(" ",8), repeat("|",nint((yi(n)-inf)/t)+1)
- write(*,*) 'y'
- write(*,'(2x,f7.3\)') inf
- write(*,'(a,f7.3)') repeat(" ",nint((yi(n)-inf)/t)),sup
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement