Problema su funzioni ricorsive

di il
2 risposte

Problema su funzioni ricorsive

Salve a tutti,

studio il C da un pochino e mi sto addentrando ora nelle funzioni. Il problema è che non ho ben capito come fare una funzione ricorsiva. Il problema si pone in un esercizio che sarà sicuramente basilare, perciò mi piacerebbe che qualcuno me lo spiegasse, così da capire, tramite esempio pratico, questa ricorsione.
L'esercizio è il seguente:

scrivete una funzione ricorsiva power(base, exponent) che quando viene invocata restituisca
base^exponent ( Commento mio: base con exponent scritto come esponente in piccolo )

Ad esempio, power( 3, 4) = 3*3*3*3. Supponete che exponent sia un intero maggiore o uguale a 1. Suggerimento: il passo di ricorsione dovrebbe usare la relazione base^exponent = base * base^exponent-1
e la condizione di terminazione si verifica quando esponent è ufuale a 1 perchè
base^1 = base


spero qualcuno di voi possa darmi una delucidazione!

2 Risposte

  • Re: Problema su funzioni ricorsive

    L'esercizio ti dice gia' come deve essere definita la funzione.
    Quindi, dove sta il problema?
    Dove ti si dovrebbe de (privativo ) lucidare?

    1) sai come funziona l'if ?
    2) sai come scrivere espressioni che usano le 4 operazioni?
    3) sai che cosa e' e come si scrive una funzione?
    4) sai come si scrive la chiamata ad una funzione?

    Se sai queste cose, basta che rileggi con attenzione il testo dell'esercizio, perche' te lo dice lui, esplicitamente, come deve essere svolto.
  • Re: Problema su funzioni ricorsive

    In effetti il testo dice chiaramente come scrivere la funzione.

    Ad ogni modo per le funzioni ricorsive fatti a questo schema base:
    
    valoreRitorno NomeFunzione(TipoParametri parametriIniziali){
         if(passoBase)
             return;
    
        return NomeFunzione(parametriAggiornati);
    }
    
    Ovviamente questo è uno schema di base che non va sempre bene, ma puoi quasi sempre riferirti a questo schema con i dovuti aggiustamenti.
Devi accedere o registrarti per scrivere nel forum
2 risposte