3 dic 2010

Programa Fortran

En fortran dado a que se usa principalmente para cálculos matemáticos y científicos, hice un programa que nos dice las raíces ya sean reales o imaginarias, de una ecuación de segundo grado, y que se escribe de la siguiente forma:


Y se puede resolver con la fórmula general para obtener las raíces, la cual esta también incluida en la imagen anterior.

El código.

PROGRAM raiz
      REAL disc, xa, xb, xi, xr, a, b, c
      PRINT*, 'Solucion ecuacion de segundo grado'
      PRINT*, 'Escribe el valor de a'
      READ(*,*) a
      PRINT*, 'Escribe el valor de b'
      READ(*,*) b
      PRINT*, 'Escribe el valor de c'
      READ(*,*) c
      disc = (b*b)-(4*a*c)
      IF (disc .GT. 0.0) THEN
         xa = (-b + (sqrt(disc)))/(2*a)
         xb = (-b - (sqrt(disc)))/(2*a)
         PRINT*, 'Raiz = ',xa
         PRINT*, 'Raiz = ',xb
      ELSEIF (disc .EQ. 0) THEN
         x1 = (-b) / (2.0 * a);
         PRINT*, 'La ecuacion solo tiene una raiz = ',x1
      ELSE
         xr = (-b/(2.0*a));
         xi = (sqrt(-disc)/(2.0*a));
         PRINT*, 'Raiz real',xr
         PRINT*, 'Raiz imaginaria',xi
      ENDIF       
      STOP
      END

A grandes rasgos, lo que puedo decir del programa, es que después de recibir las constantes que son los valores de a, b y c de la ecuación, trabajamos con ellas para hacer los cálculos como la formula general lo indica y tomando en cuenta las diferentes salidas que podemos tener, ya sean dos raíces, una sola raíz, o raíces imaginarias, y que esto lo determina el valor del discriminante.


Que lo identificamos mejor como lo que se encuentra dentro de la raíz cuadrada de la fórmula general.

Con el valor del discriminante podemos saber como serán nuestras raíces. Si es mayor a cero tendremos dos raíces, si es igual a cero solo tendremos una, y si es menor a cero tendremos raíces imaginarias.

Para compilarlo haremos lo siguiente:


Es muy parecido a como lo hacemos en C. El -o se lo agrego para ponerle un nombre al archivo que sera el ejecutable.

Veamos algunas ejecuciones del programa, con diferentes valores de a, b y c, para mostrar los tres casos diferentes.

Una sola raíz:


Dos raíces reales:


Raíces imaginarias:


Esto es todo para esta entrada.

3 comentarios: