[Fortran] 纯文本查看 复制代码
PROGRAM sistemas
IMPLICIT NONE
REAL a1,b1,c1,a2,b2,c2,a3,b3,c3,m12,m13,m23,xa,ya,xb,yb,xc,yc!,F1,F2,F
!lectura de los coeficientes del fichero'datos'(que ya debe existir)
OPEN (11,FILE='dato5.txt')
READ (11,*) a1,b1,c1,a2,b2,c2,a3,b3,c3
!solucion del sistema
m12= a1*b2 - a2*b1 ! determinante de la matriz m12
IF (m12 == 0) STOP ' el sistema no tiene solucion unica'
xa = (-c1*b2 + c2*b1) / m12
ya = (-c2*a1 + c1*a2) / m12
m13= a1*b3 - a3*b1 ! determinante de la matriz m13
IF (m13 == 0) STOP ' el sistema no tiene solucion unica'
xb = (-c1*b3 + c3*b1) / m13
yb = (-c3*a1 + c1*a3) / m13
m23= a2*b3 - a3*b2 ! determinante de la matriz m23
IF (m23 == 0) STOP ' el sistema no tiene solucion unica'
xc = (-c2*b3 + c3*b2) / m23
yc = (-c3*a2 + c2*a3) / m23
!m123=a1*b2*c3+a2*b3*c1+a3*b1*c2-a3*b2*c1-a1*b3*c2-a2*b1*c3
!IF (m123==0) STOP
!F1=m123**2
!F2=2*m12*m13*m23
!F = F1 / ABS(F2)
! Escritura de resultados en el fichero 'result' (lo crea el programa)
OPEN (12, FILE='result')
WRITE (12,9000) xa,ya,xb,yb,xc,yc
9000 FORMAT (3X,F12.4)
end program sistemas
!module area_triangulo
!contains
! subroutine areas(a,b,c,s) !a,b,c son tres lados del triangulo
!implicit none
!real,intent(in):: a,b,c
!real,intent(out):: s
!real:: p
!a=sqrt((xb-xa)**2+(yb-ya)**2)
!b=sqrt((xc-xa)**2+(yc-ya)**2)
!c=sqrt((xc-xb)**2+(yc-yb)**2)
!p = ( a + b + c ) / 2.0
!s = sqrt( p * (p-a) * (p-b) * (p-c) )
!end subroutine areas