Differenza tra FORTRAN Funzioni e sottoprogrammi

October 7

FORTRAN è un linguaggio di programmazione utilizzato principalmente nella matematica e settori dell'ingegneria. Come altri linguaggi procedurali, è in gran parte strutturata attorno alla creazione e ripetuto uso di set di istruzioni chiamati "funzioni" e "subroutine". In FORTRAN questi due tipi sono distinti - principalmente differente a che le 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 gruppi di istruzioni che vengono date i nomi in modo che possano essere "chiamati" ed eseguite da qualsiasi punto nel codice. FORTRAN viene fornito con una serie di funzioni già pronti progettati per eseguire operazioni matematiche come trovare una radice quadrata o un valore assoluto, in modo che invece di dover scrivere tutte le fasi di tale operazione ogni volta che sono necessari, un programmatore può semplicemente chiamare la funzione rilevante e dare tutto quello che vuole in ingresso. Oltre a queste funzioni incorporate, un programmatore può scrivere le proprie funzioni e subroutine per eseguire qualsiasi operazione che trova utile.

funzioni

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

X = SQRT (A + B)

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

Funzioni a più variabili

Le funzioni possono prendere più di una variabile come input. La funzione MAX, per esempio, restituisce il valore più alto tra quelle è dato, quindi:

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

assegnerebbe a M qualunque sia il più grande dei valori di X, Y, e Z - meno che tutti e tre i valori sono inferiori a 10, nel qual caso la funzione restituisce "10" da assegnare M.

Le subroutine

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

CALL TOTALE (1,2,3, SUM)

Esegue una subroutine denominata TOTAL e lo invia i numeri 1, 2 e 3 e la somma variabile. La subroutine TOTALE sé potrebbe essere simile a questo:

SUBROUTINE TOTALE (X, Y, Z, S)

REALE X, Y, Z, S

S = X + Y + Z

RITORNO

FINE

La prima riga qui definisce la subroutine: si chiama TOTALE, e si aspetta quattro valori quando si chiama, che assegna alle variabili X, Y, Z, e S. La seconda riga dichiara queste quattro variabili come numeri reali, i set di terza linea S al valore combinato di X, Y e Z, e la terza linea salta fuori dalla subroutine e ritorna al punto del codice in cui è stato chiamato. Nel caso della linea di chiamata sopra, TOTAL assegnerebbe valori di 1, 2, e 3 per X, Y, e Z, e quindi assegnare totale - 6 - ad S, che corrisponde alla variabile SUM nella chiamata linea. L'effetto del "TOTAL CALL (1,2,3, SUM)" linea, quindi, sarà quello di impostare la variabile SUM a 6.