Fundamentos de Fortran: Uso de Implicit None y Algoritmos de Ordenación
Clasificado en Matemáticas
Escrito el en
español con un tamaño de 2,59 KB
Utilidad e importancia de la sentencia IMPLICIT NONE
Fortran 90 toma las variables que empiezan por I, J, K, L, M como Integer, y el resto como Real, siempre y cuando no se declaren. Puesto que es recomendable evitar el uso de la declaración implícita, indicaremos al compilador que no haga uso de ella; esto se hace poniendo IMPLICIT NONE justo después de la instrucción PROGRAM. Por ello, es importante declarar las variables, obligándonos a hacerlo con dicha sentencia, ya que una confusión en el uso de distintos caracteres podría dar lugar a resultados equivocados.
Formas de ordenación de vectores
La ordenación de matrices unidimensionales (vectores) es una operación que se usa con mucha frecuencia. Tres de los métodos más simples son: selección, inserción y burbuja.
En todos ellos vamos a suponer que tenemos una matriz unidimensional de N elementos.
Selección
La idea del método es:
- Dado un vector, buscar el menor elemento que contiene.
- Una vez encontrado, lo intercambiamos con el elemento de la primera posición.
- Repetimos el proceso sobre el resto del vector (sin tener en cuenta la primera posición, que ya ha sido ordenada).
- Repetiremos el método hasta que nos quede un único elemento por ordenar. Este último elemento estará en la última posición y será el mayor de todos.
Inserción
La idea de este método, también llamado método de la baraja, es:
- Dado un vector de n elementos, suponemos que ya están ordenados los I-1 elementos.
- Tomamos el elemento I-ésimo y le hacemos hueco entre los I primeros elementos en la posición donde debe ir para que sigan ordenados. Este hueco lo hacemos desplazando hacia la derecha, una posición, los elementos que sean mayores que él.
- Repetimos el proceso suponiendo que ya están ordenados los I primeros elementos.
- Inicialmente I vale 2 y acabamos el proceso cuando I valga n.
Método de la burbuja
La idea del método es:
- Comparamos cada elemento con su vecino, el que está a su derecha, y si no están ordenados, se intercambian. Esto se realiza desde el primer elemento hasta el último.
- Al finalizar el paso 1, tendremos el mayor elemento de todos al final del vector, con lo que ya se puede dar por ordenado.
- Repetimos el proceso, pero sin tener en cuenta este último elemento.