Programmazione procedurale: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Aggiunto il template "Inglese" nell'introduzione
Migliorato la pagina
Riga 1:
{{F|programmazione|febbraio 2013}}
In [[informatica]] la '''programmazione procedurale''' è un [[paradigma di programmazione]] che consiste nel creare dei blocchi di [[codice sorgente]], identificati da un nome e racchiusi da dei delimitatori, che variano a seconda del [[linguaggio di programmazione]]; questi sono detti anche '''sottoprogrammi''' ({{Inglese|subroutine}}), '''procedure''' o '''[[funzione (informatica)|funzioni]]''', a seconda del linguaggio e dei loro ruoli all'interno del linguaggio stesso. Il nome deriva dal linguaggio [[COBOL]], che è stato il primo ada utilizzare questo concetto.
 
==Descrizione==
 
Questi blocchi possono essere dotati di [[parametro (programmazione)|parametri]], cioè [[variabile (informatica)|variabili]] locali i cui valori vengono forniti o passati dall'esterno del blocco di codice ed eventualmente esportati; esistono due tipi di parametri: quelli di tipo valore e quelli di tipo variabile; nei primi viene passato un valore che, se modificato, non viene comunque salvato al termine del sottoprogramma; nel tipo variabile invece, viene comunicato l'[[indirizzo di memoria|indirizzo]] della cella di memoria (ad es.esempio tramite un [[puntatore (programmazione)|puntatore]]) al quale troviamo l'[[informazione]], che può quindi essere modificata effettivamente e permanentemente. All'interno di un sottoprogramma possono essere generalmente definite o dichiarate delle variabili locali, che vengono deallocate al termine del sottoprogramma stesso; il loro contenuto viene quindi perso se non salvato o trasmesso altrimenti.
 
In [[Pascal (linguaggio)|Pascal]], le ''procedure'' sono distinte dalle ''[[funzione (informatica)|funzioni]]'' perché non restituiscono un valore associato al nome della procedura stessa, e non possono quindi apparire a destra di una istruzione di [[assegnazione]]; i blocchi di codice sono racchiusi tra un ''{{Codice|codice=Begin''|linguaggio=Pascal}} ede un ''{{Codice|codice=End;''|linguaggio=Pascal}} ([[parola riservata|parole riservate]], il punto e virgola fa parte dell'istruzione).
 
In [[Linguaggio C]] esiste solo la ''function''funzione, che può o meno restituire valori; lo stesso dicasi per il [[Java (linguaggio di programmazione)|Java]] ede il [[PHP]]; i blocchi sono racchiusi tra parentesi graffe. In [[Visual Basic]] abbiamo procedure (Sub) e funzioni, il cui codice è strutturato nel seguente modo:
 
Per le procedure:<syntaxhighlight lang="vb" line="1">
'''Sub''' ''NomeProcedura''(''Lista parametri'')<br/>
 
''Dichiarazioni e Istruzioni''<br/>
'''Sub''' ''NomeProcedura''(''Lista parametri'')<br/>
'''End Sub'''
''Dichiarazioni e Istruzioni''<br/>
</syntaxhighlight>Per le funzioni:<syntaxhighlight lang="vb" line="1">
'''End Sub'''
'''Function''' ''NomeFunzione''(''Lista parametri'') '''As''' ''TipoDiRitorno''<br/>
 
''Dichiarazioni e Istruzioni''<br/>
Per le funzioni:
'''Return''' ''Espressione''<br/>
 
'''End Function'''
'''Function''' ''NomeFunzione''(''Lista parametri'') '''As''' ''TipoDiRitorno''<br/>
</syntaxhighlight>
''Dichiarazioni e Istruzioni''<br/>
'''Return''' ''Espressione''<br/>
'''End Function'''
 
==Voci correlate==