4. Funcions
Per fer programes més fiables, eficients i de fàcil comprensió, s’utilitza la metodologia de la programació estructurada, que consisteix, bàsicament, a utilitzar aquestes tres estructures simples de control: seqüència (es refereix a una execució ordenada d’instruccions), condicional i de repetició. Si bé els llenguatges de programació tenen més estructures de control, totes poden ser construïdes a partir d’aquestes tres estructures bàsiques.

Representació gràfica d’una estructura seqüencial.

Representació gràfica d’una estructura repetitiva.
Una altra tècnica molt utilitzada és la programació modular, que es basa a dividir un programa en mòduls o funcions amb la finalitat de fer-lo més comprensible, organitzat i entenedor. El mòdul o bloc principal coordina les «crides» en els altres mòduls secundaris, els quals poden contenir les seves pròpies dades i «cridar» altres mòduls o funcions.
Una funció és un conjunt d’instruccions que realitzen una tasca específica.
Quan en un punt d’un programa es «crida» o «invoca» una funció, el sistema passa el control a aquesta perquè s’executi i, quan finalitza, el control és retornat al mateix punt des d’on va ser cridat.
En les funcions, tant les que incorpora el llenguatge de programació (anomenades primitives) com les creades per l’usuari, cal tenir en compte dos aspectes: si hi ha «retorn» (si retorna o no algun valor) i si té paràmetres.
Ara veurem, primerament, algunes funcions que incorporen molts llenguatges de programació, encara que la sintaxi pot variar lleugerament dels uns als altres.
A. Exemples de funcions sense paràmetres ni retorn de valors

B. Exemples de funcions amb paràmetres i sense retorn de valors

C. Exemples de funcions amb paràmetres i retorn de valors

D. Creació d’una funció amb paràmetres
Vegem ara com crear una funció senzilla amb paràmetres per dibuixar una mascota en un lloc determinat de la pantalla:

Mascota que dibuixa en pantalla la funció: dibuixaMascota(x, y).

Funció amb paràmetres per dibuixar una mascota en un lloc concret de la pantalla.
I aquest seria el codi del bloc principal del programa que cridaria aquesta funció:

També podem crear funcions que, a més de poder o no rebre paràmetres, retornin valors. Exemple senzill de funció per calcular el percentatge d’una quantitat:

Un possible exemple de codi del bloc principal del programa per cridar a aquesta funció seria aquest:
