Clasificați următorul fragment de cod în programarea procedurală, programarea orientată pe obiecte sau programarea funcțională și explicați-vă alegerea.
factorial(n) def:
    dacă n == 0:
        returnare 1
    altfel:
        returnare n * factorial(n-1)
Acest fragment de cod este un exemplu de programare funcțională. Motivul este că definește o funcție recursivă (factorială) care ia o singură intrare (n) și calculează factorialul pe baza acelei intrări, folosind un caz de bază și logica recursivă, fără a se baza pe variabile, stare, sau structuri de date mutabile.