Qual è la differenza tra le procedure Sub e procedure di funzione?

January 4

Qual è la differenza tra le procedure Sub e procedure di funzione?


La maggior parte dei linguaggi di programmazione forniscono alcune impianto per la creazione di procedure di sub che svolgono una serie di azioni ripetitive e può restituire un risultato. Alcune lingue distinguere tra procedure di sub e le procedure di funzione, quest'ultimo è il tipo di procedure che restituisce un risultato. Conoscere la differenza tra i due tipi di procedure vi aiuterà a prendere la decisione giusta su quale usare. di Microsoft Visual Basic è un ottimo strumento per illustrare il concetto.

procedure

Se si scrive lo stesso codice più di una volta, è probabile che il programma potrebbe beneficiare di una procedura, piuttosto che duplicare codice in più posizioni. Il codice duplicato può causare problemi durante la fase di mantenimento, così come rendere il vostro programma più grande di quanto dovrebbe essere. È possibile inserire il codice in una procedura e chiamare da più posizioni nel programma. È possibile effettuare la procedura ancora più flessibile dandogli la possibilità di accettare parametri.

Procedure di funzione

procedure di funzioni è stata progettata per essere chiamato tramite una dichiarazione, e tornano di conseguenza alla dichiarazione. Ad esempio, se si desidera il vostro programma di calcolo del grado di determinare una lettera di grado sulla base di un punteggio percentuale, si potrebbe scrivere una funzione per procedere alla determinazione e restituire il grado lettera. La dichiarazione di chiamata sarebbe simile a questo:

LetterGrade = CalcLetter(PercentageGrade)

Procedure sub

A differenza delle procedure di funzione, le procedure di sub non restituiscono un risultato, ma essi eseguono azioni e può accettare parametri. Questo tipo di procedura è un buon strumento per l'esecuzione di azioni di uso generale, come ad esempio file di input / output, la stampa e la convalida dell'input. Un uso per una procedura secondaria è quella di permettere a più azioni dell'utente per andare lo stesso codice. Per esempio, si potrebbe avere un tasto e una voce di menu che devono eseguire le stesse azioni, e piuttosto che duplicare il codice, si potrebbe avere entrambi gli eventi basta chiamare la routine Sub.

parametri

I parametri sono valori che si passa a una procedura di entrambi i tipi che o dire la procedura di cosa fare o fornire un valore per di agire su. In genere passare i parametri tra parentesi sulla dichiarazione che chiama la procedura. La cosa importante da ricordare è che i parametri devono essere passati nell'ordine esatto che la procedura si aspetta, o si verificheranno risultati imprevedibili. Un esempio di una chiamata di procedura con un parametro potrebbe essere simile a questo:

Call PrintGrade(LetterGrade)

La procedura secondaria si aspetta un grado di lettera e lo stampa in base al formato di stampa programmata.