Explicați diferența dintre stilurile de programare imperative și declarative.
Programarea imperativă este o paradigmă de programare în care fluxul de control al programului este definit în mod explicit, de obicei folosind bucle și declarații condiționale, iar programatorul instruiește computerul cum să realizeze o anumită sarcină. Programarea declarativă, pe de altă parte, este o paradigmă de programare în care programatorul exprimă rezultatul dorit fără a oferi instrucțiuni specifice despre cum să-l realizeze, lăsând limbajul de programare sau mediul să se ocupe de detalii. Accentul în programarea declarativă se pune pe „ce” și nu pe „cum”.