Nwlapcug.com


Differenza tra funzioni FORTRAN & subroutine

FORTRAN è utilizzato principalmente nei campi ingegneria e matematica del linguaggio di programmazione. Come altri linguaggi procedurali, esso è in gran parte strutturata intorno alla creazione e ripetuto utilizzo di set di istruzioni chiamate "funzioni" e "subroutine". In FORTRAN questi due tipi sono distinti - principalmente diversi in quanto funzioni producono un solo valore di conseguenza, mentre subroutine possono produrre molti.

Nozioni di base

Funzioni e subroutine sono simili in quanto sono entrambi i set di istruzioni che vengono assegnati nomi in modo che possano essere "chiamati" ed eseguiti da qualsiasi punto nel codice. FORTRAN viene fornito con un set di funzioni già scritte progettato per eseguire operazioni matematiche come trovare una radice quadrata o un valore assoluto, in modo che, piuttosto che dover scrivere tutti i passaggi di tale operazione ogni volta che sono necessari, un programmatore può semplicemente chiamare la funzione rilevante e dargli qualunque sia in ingresso che vuole. Oltre a queste funzioni built-in, un programmatore può scrivere il proprio funzioni e subroutine per eseguire qualsiasi operazione egli trova utile.

Funzioni

Una funzione in FORTRAN è un processo che richiede uno o più valori come input e produce un valore come output. Ad esempio, la funzione standard di FORTRAN SQRT trova la radice quadrata dell'input e restituisce il risultato come output:

X=SQRT(A+B)

Questa istruzione invia il valore "A + B"--il risultato della somma dei valori nelle variabili A e B..--alla funzione SQRT e assegna l'output alla variabile X. Se una aveva un valore di 3 e B ha avuto un valore di 1, ad esempio, la dichiarazione di cui sopra sarebbe assegnare un valore di 2 per X--la radice quadrata di 3 + 1.

Funzioni di più variabili

Funzioni possono prendere più di una variabile come input. La funzione MAX, ad esempio, restituisce il valore più alto tra quelli è dato, così:

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

assegnerebbe a M a seconda di quale è il più grande dei valori di X, Y e Z..--a meno che tutti e tre i valori sono meno di 10, nel qual caso la volontà di funzione ritorno "10" da assegnare al M.

Subroutine

Mentre le funzioni restituiscono un solo valore..--tale che la frase "SQRT(4)" è funzionalmente equivalente al numero "2" e può essere utilizzato in espressioni matematiche come "2" sarebbe..--subroutine possono restituire molti valori e non possono essere utilizzati nelle espressioni. Invece, la subroutine sono semplicemente eseguiti con il comando di chiamata, in questo modo:

CHIAMATA TOTAL(1,2,3,SUM)

Questo esegue una subroutine chiamata totale e lo invia i numeri 1, 2 e 3 e la somma variabile. La subroutine totale stesso potrebbe assomigliare a questo:

SUBROUTINE TOTAL(X,Y,Z,S)

REAL X, Y, Z, S

S = X + Y + Z

RITORNO

FINE

Qui la prima riga definisce la subroutine: si chiama totale e prevede quattro valori quando viene chiamata, che assegna alle variabili X, Y, Z e S. seconda linea dichiara queste quattro variabili come numeri reali, insiemi di linea terzi S il valore combinato di X, Y, e Z e la terza riga salta fuori la subroutine e ritorna al punto nel codice dove è stato chiamato. Nel caso della linea di chiamata sopra, totale sarebbe assegnare valori di 1, 2 e 3 X, Y e Z e quindi assegnare il totale - 6--a S, che corrisponde alla variabile di somma nella linea chiamata. L'effetto della linea "CALL TOTAL(1,2,3,SUM)", pertanto, sarà per impostare la variabile di somma a 6.