Tecnología

Inicio

Diferencia entre las funciones y subrutinas FORTRAN

FORTRAN es un lenguaje de programación utilizado principalmente en los campos de la ingeniería y las matemáticas. Al igual que otros lenguajes de procedimiento, se estructura principalmente en torno a la creación y el uso de conjuntos de instrucciones llamadas "funciones" y repitió "subrutinas". En FORTRAN estos dos tipos son distintos - principalmente diferente en que las funciones producen sólo un valor, como resultado, mientras subrutinas pueden producir muchos.

Lo esencial

Funciones y subrutinas son similares en que ambos son conjuntos de instrucciones que se dan nombres para que puedan ser "llamados" y ejecutados desde cualquier punto en el código. FORTRAN viene con un conjunto de funciones ya escritos diseñados para realizar operaciones matemáticas como encontrar una raíz cuadrada o un valor absoluto, por lo que en lugar de tener que escribir todos los pasos de una operación de este tipo cada vez que se necesiten, un programador puede simplemente llamar la función y relevante darle lo que quiere de entrada. Además de estas funciones incorporadas, un programador puede escribir sus propias funciones y subrutinas que hagan los procesos que encuentre útil.

funciones

Una función en FORTRAN es un proceso que lleva uno o más valores como entrada y produce un valor de como salida. Por ejemplo, la función SQRT FORTRAN estándar encuentra la raíz cuadrada de la entrada y devuelve el resultado como salida:

X = SQRT (A + B)

Esta declaración envía el valor "A + B" - el resultado de sumar los valores de la A - B y las variables de la función SQRT, y asigna el resultado a la variable x. Si A tuvo un valor de 3 y B tenía un valor de 1, por ejemplo, la declaración anterior asignaría un valor de 2 a X - la raíz cuadrada de 3 + 1.

Funciones de variables múltiples

Las funciones pueden tener más de una variable como entrada. La función MAX, por ejemplo, devuelve el valor más alto entre aquellos que se le da, por lo que:

M = MAX (X, Y, Z, 10)

asignaría a M lo que es el mayor de los valores de X, Y, y Z - menos que todos los tres valores están a menos de 10, en cuyo caso la función devolverá "10" que se asignará a M.

subrutinas

Mientras que las funciones devuelven un único valor - de tal manera que la frase "SQRT (4)" es funcionalmente equivalente al número "2", y se puede utilizar en expresiones matemáticas simplemente como "2" sería - subrutinas pueden devolver muchos valores, y no se pueden utilizar en las expresiones. En su lugar, simplemente subrutinas se ejecutan con el comando de llamada, así:

LLAMADA TOTAL (1,2,3, SUM)

Esto ejecuta una subrutina llamada total y lo envía los números 1, 2, y 3, y la variable SUMA. El total subrutina en sí podría tener este aspecto:

SUBRUTINA TOTAL (X, Y, Z, S)

Real X, Y, Z, S

S = X + Y + Z

REGRESO

FIN

La primera línea aquí define la subrutina: se llama total y espera cuatro valores cuando se llama, que se asigna a las variables X, Y, Z, y S. La segunda línea declara estas cuatro variables como números reales, los conjuntos de tercera línea S para el valor combinado de X, y y Z, y la tercera línea salta de la subrutina y regresa al punto en el código donde fue llamado. En el caso de la línea de la llamada anterior, el total sería asignar valores de 1, 2, y 3 para X, Y, y Z, y luego asignar el total de - 6 - a S, que corresponde a la variable SUMA en la convocatoria línea. El efecto del "total de la llamada (1,2,3, SUM)" línea, por lo tanto, será la de establecer la variable SUMA a 6.