Programmazione procedurale: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m cambio categoria
fix
 
(38 versioni intermedie di 29 utenti non mostrate)
Riga 1:
{{F|programmazione|febbraio 2013}}
La '''programmazione procedurale''' consiste nel creare dei blocchi di codice, identificati da un nome e racchiusi da dei delimitatori, che variano a seconda del linguaggio di programmazione; questi sono detti anche '''sottoprogrammi'''.
Questi blocchi possono assumere i nomi di procedure o funzioni, a seconda del linguaggio e dei loro ruoli all'interno del linguaggio stesso.
Il nome deriva dal linguaggio [[COBOL]], che è stato il primo ad utilizzare questo concetto.
Questi blocchi possono essere dotati di parametri, cioè variabili locali i cui valori vengono forniti 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 al quale troviamo l'informazione, che può quindi essere modificata effettivamente e permanentemente.
All'interno di un sottoprogramma possiamo generalmente definire 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]], le ''procedure'' sono distinte dalle ''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 ''Begin'' ([[parola riservata]])ed un ''End;'' (il punto e virgola fa parte dell'istruzione).
In [[Linguaggio C]] esiste solo la ''function'', che può o meno restituire valori; lo stesso dicasi per il [[Java]] ed il [[PHP]]; i blocchi sono racchiusi tra parentesi graffe.
In [[Visual Basic]] abbiamo Procedure e Sub, il cui codice è racchiuso tra un ''begin'' ed un ''end'' (senza interpunzione).
 
LaIn [[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 a utilizzare questo concetto.
==Voci correlate==
 
* [[Variabile (informatica)|Variabile]]
== 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 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 ''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}} e un {{Codice|codice=End;|linguaggio=Pascal}} ([[parola riservata|parole riservate]])ed, un ''End;'' (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 e funzioni, il cui codice è strutturato nel seguente modo:
 
Per le procedure:<syntaxhighlight lang="vb" line="1">
Sub NomeProcedura(Lista parametri)
Dichiarazioni e Istruzioni
End Sub
</syntaxhighlight>Per le funzioni:<syntaxhighlight lang="vb" line="1">
Function NomeFunzione(Lista parametri) As TipoDiRitorno
Dichiarazioni e Istruzioni
Return Espressione
End Function
</syntaxhighlight>
 
== Voci correlate ==
* [[Paradigma di programmazione]]
* [[Variabile (informatica)|Variabile]]
* [[Information hiding]]
* [[Regole_di_scope|Regole di scope]]
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
 
{{Paradigmi di programmazione}}
{{portale|informatica}}
 
[[Categoria:TeorieProgrammazione dellaprocedurale| programmazione]]