user7288 forse lavevi per sbaglio eliminato la domanda? Comunque ti spiego brevemente la differenza fra questi paradigmi di programmazione:
- programmazione imperativa: concettualmente si intende una sequenza di istruzioni ("start; leggi questo; stampa questo; end"); a livello modulare questo può far parte del paradigma procedurale ovvero all'interno di una singola procedura hai un approccio di tipo imperativo
- programmazione logica: si concentra su una logica di primo livello, vale a dire che il programmatore è più concentrato nell'implementazione dei controlli AND, OR, NOT piuttosto che avere una visione generale più di alto livello sull'algoritmo, la strada per risolvere il problema; per programmi più complessi perderesti di vista l'obiettivo concentrandoti troppo su questi dettagli
- programmazione funzionale: il flusso di esecuzione del programma fa uso di funzioni matematiche, quindi definizione di funzioni; consente un livello di astrazione maggiore, procedendo per gradi (ad esempio definisco una funzione matematica complicata che chiamo f(x), poi lavoro su questa funzione facendo riferimento ad f(x) piuttosto che scrivere espressioni complicate per intero, che farebbero perdere di vista il ragionamento)