next up previous
Next: Módulos Up: Nuevas Facilidades del Fortran Previous: Bloques de Interfaces

Tipos de Datos Derivados y Funciones Genéricas

Fortran 90 permite la creación de nuevos tipos de datos derivados de la combinación de los 5 tipos de datos intrínsecos y/o nuevos tipos de datos previamente declarados.

   ! Definicion de punto
   TYPE punto
      REAL :: x, y
    END TYPE
    !Definicion de triangulo
    TYPE triangulo
      TYPE(punto) :: a, b, c
      REAL :: area
    END TYPE

Una vez declarados los tipos de datos es posible declarar variables que correspondan a estos tipos de datos y asignarle valores a las componentes de los mismos

      TYPE(punto) :: pto1, pto2
      pto1%x = 0.0; pto1%y = 0.0
      pto2%x = 1.0; pto2%y = -3.5

Es posible redefinir algunos operadores y funciones existentes para realizar transformaciones sobre estos nuevos tipos de datos mediante el uso de bloque INTERFACE

    INTERFACE OPERATOR(-)           ! Interfaz del nuevo operador
      FUNCTION resta_puntos(p1,p2)
        TYPE(punto) :: resta_puntos, p1, p2
      END FUNCTION
    END INTERFACE

    FUNCTION resta_puntos(p1,p2)    ! Funcion que resta dos puntos
      TYPE(punto) : resta_puntos, p1, p2
      resta_puntos%x = p1%x - p2%x  ! x = x1 - x2
      resta_puntos%y = p1%y - p2%y  ! y = y1 - y2
    END FUNCTION resta_puntos

Con esto está permitido escribir en el código fuente del programa la operación resta entre dos valores del tipo punto

    TYPE(punto) :: a, b
    ...
    a - b



Kay A. Tucci K.
Tue Apr 13 17:20:44 GMT-0400 1999