Un programma può diventare molto lungo…
Per migliorare la leggibilità si può
- ricorrere a delle linee vuote o di commento
- dare dei nomi a parti di codice riconoscibili e separare questi blocchi dal flusso principale
- scrivere una sola volta parti di codice che si ripetono
- …
Se a questi blocchi di codice si da un nome e si separano dal programma principale (prima o dopo dipende dal linguaggio) diventano dei sottoprogrammi
- SUBROUTINE A
- SUBROUTINE B
- …

Per passare il controllo al sottoprogramma è necessario chiamarlo.
La terminologia cambia a seconda del paradigma/linguaggio di programmazione che si utilizza.

C, C++
Funzione
void xyz()
{
...
}
xyz()
Java
Metodo
void xyz()
{
...
}
xyz()
Pascal
Procedura
Procedure XYZ()
Begin
...
End;
XYZ;
Python
Funzione
def xyz():
...
xyz()
Visual Basic
Subroutine
Sottoprogramma
Sub XYZ()
...
End Sub
XYZ()
Il controllo ritorna al chiamante quando si giunge all’etichetta di fine del sottoprogramma.

Diventa tutto più chiaro se si disegnano i sottoprogrammi di lato piuttosto che prima o dopo…

Il blocco principale non ha l’esclusiva di fare le chiamate, anzi ogni sottoprogramma può chiamare tutti gli altri sottoprogrammi
