Funciones
answer = functionname (argumentl, argument2, . . .
|
| PRINT*, ABS (T) | El compilador evalúa el valor absoluto de T y lo escribe. |
| Y = SIN (X) + 45 |
El compilador calcula el valor del seno de x, añade 45 y luego pone el reultado en la variable y. |
| M=MAX(a,b,c,d) |
El compilador averigua el valor máximo de entre a,b,c y d y lo asigna a la variable M. |
| C=SQRT ( a* * 2 +b* * 2 ) | El compilador evalúa, a**2+b**2, envía el resultado a la función raiz cuadrada y pone el resultado en la variable C. |
- Las funciones y cualquier otro subprograma se coloca después de la instrucción END del programa principal.
- Comienzan con una linea que incluye el tipo de valor de la función que devolverá, el nombre de la función y la lista de argumentos que usará como inputs.
- Todas las variables que usa la función, incluidos los argumentos, deben de ser declarados inmediatamente después de la línea 2. El nombre de la función NO se declara dentro de la función.
- El nombre de la función se utiliza como la variable de asignación del resultado de las operaciones del subprograma. Ese valor será el que el compilador devolverá al programa principal.
- Una función debe de finalizar con un RETURN y un END.
PROGRAM FUNDEM
C Declarations for main program
REAL A,B,C
REAL AV, AVSQ1, AVSQ2
REAL AVRAGE
C Enter the data
DATA A,B,C/5.0,2.0,3.0/
C Calculate the average of the numbers
AV = AVRAGE(A,B,C)
AVSQ1 = AVRAGE(A,B,C) **2
AVSQ2 = AVRAGE(A**2,B**2,C**2)
PRINT *,'Statistical Analysis'
PRINT *,'The average of the numbers is:',AV
PRINT *,'The average squared of the numbers: ',AVSQl
PRINT *,'The average of the squares is: ', AVSQ2
END
REAL FUNCTION AVRAGE(X,Y,Z)
REAL X,Y,Z,SUM
SUM = X + Y + Z
AVRAGE = SUM /3.0
RETURN
END
|
PROGRAM SUBDEM
REAL A,B,C,SUM,SUMSQ
CALL INPUT(A,B,C)
CALL CALC(A,B,C,SUM,SUMSQ)
CALL OUTPUT(SUM,SUMSQ)
END
SUBROUTINE INPUT(X, Y, Z)
REAL X,Y,Z
PRINT *,'ENTER THREE NUMBERS => '
READ *,X,Y,Z
RETURN
END
SUBROUTINE CALC(A,B,C, SUM,SUMSQ)
REAL A,B,C,SUM,SUMSQ
SUM = A + B + C
SUMSQ = SUM **2
RETURN
END
SUBROUTINE OUTPUT(SUM,SUMSQ)
REAL SUM, SUMSQ
PRINT *,'The sum of the numbers you entered are: ',SUM
PRINT *,'And the square of the sum is:',SUMSQ
RETURN
END
|
Ahora ir a los ejercicios y realizarlos.
|
| Programas | Variables | Operaciones Aritmeticas | Input y Output | Bucles en Programas | Vectores en Programas | Decisiones | Subprogramas y funciones | |