Академический Документы
Профессиональный Документы
Культура Документы
PROGRAM main
PARAMETER (IDM=100)
INTEGER:: H,J,I,K,N
REAL:: E,SUMA1,SUMA2,TOL,Z,AX,Y
read*, N
do I=1,N
read(*,*)P(I)
end do
do I=1,N
read(*,*)Y(I)
end do
do I=1,N
read(*,*)Z(I)
end do
!Calculo de Areas
do I=1,N
ax(I)=Y(i)*Z(I)
end do
!real::Dy,Dx,Dz,Ct,Bo,Boo,Kx,por,V,Dt,Pi
!write(*,*) "Ingrese el valor de Dx"
!read(*,*)Dx
!read(*,*)Dy
!read(*,*)Dz
!read(*,*)Dt
!read(*,*)Bo
!read(*,*)Boo
!read(*,*)Kx
!read(*,*)V
!read(*,*)Ct
!read(*,*)por
!read(*,*)pi
! Tx1=((0.001127*Ax*Kx)/(V*Bo*Dx))
!Vb=(Dx)*(Dy)*(Dz)
!Cte=((Vb*por*Ct)/(5.615*Boo*Dt))
!________________________________________________________________________________
_!
! do i=1,n
!wi=Tx1
!ei=Tx1
!ci=(cte+ei+wi)
!qi=-(qsc+cte*pi)
!________________________________________________________________________________
_!
!do j=1,m
!ei*p2-((cte)+ei+wi)*pi+wi*pi=qi1
!ei*p3-((cte)+ei+wi)*p2+wi*p2=qi2
!ei*p4-((cte)+ei+wi)*p3+wi*p3=qi3
!ei*p5-((cte)+ei+wi)*p4+wi*p4=qi4
!ei*p6-((cte)+ei+wi)*p5+wi*p5=qi5
!________________________________________________________________________________
_!
!do
PRINT*,'======================================================='
PRINT*,''
!READ*,N
PRINT*,('',H=1,70)
PRINT*,'INGRESAR TOLERANCIA'
READ*,TOL
PRINT*,('',H=1,70)
DO I=1,N
READ(*,*)(A(I,J),J=1,N)
END DO
PRINT*,('',H=1,70)
DO I=1,N
READ (*,*)B(I)
END DO
PRINT*,('',I=1,70)
K=1
DO I=1,N
READ (*,*)X(K,I)
END DO
!CALCULO NUMERICO
10 DO I=1,N
SUMA1=0
DO J=1,N
IF (J.GT.I) THEN
SUMA1=SUMA1+A(I,J)*X(K,J)
END IF
END DO
SUMA2=0
DO J=1,N
IF(J.LT.I) THEN
SUMA2=SUMA2+A(I,J)*X(K+1,J)
END IF
END DO
X(K+1,I)=(B(I)-SUMA1-SUMA2)/A(I,I)
END DO
!CONVERGENCIA
DO I=1,N
E=ABS(X(K+1,I)-X(K,I))
IF(E.LE.TOL) THEN
ELSE
K=K+1
GO TO 10
END IF
END DO
PRINT*,('',H=1,70)
PRINT*,''
PRINT*,('*',I=1,79)
PRINT *,('*',I=1,79)
PRINT*,''
!PRESENTACION DE RESULTADOS
PRINT *,''
PRINT 100
100 FORMAT(4X,'ITERACION',5X,'X',16X,'Y')
DO I=1,K+1
WRITE(*,*) I-1,(X(I,J),J=1,N)
END DO
PRINT*,('',H=1,70)
DO I=1,N
PRINT*,X(K+1,I)
END DO
PRINT *,('',H=1,70)
PRINT*,('',H=1,70)
PRINT*,('',H=1,70)