tecnica di programmazione che si basa sulla divisione del codice in blocchi di INPUT e blocchi di OUTPUT