I sottoprogrammi

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
  • …
image

Per passare il controllo al sottoprogramma è necessario chiamarlo.

La terminologia cambia a seconda del paradigma/linguaggio di programmazione che si utilizza.

image

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.

image

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

image

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

image