Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C] ricorsione

    Ciao.

    Qualcuno mi potrebbe spiegare brevemente cos'è la ricorsione in C?

    Grazie :rollo:

  2. #2
    Utente di HTML.it L'avatar di Lanus
    Registrato dal
    Apr 2006
    Messaggi
    43
    E' una funzione che richiama se stessa.

    int Funzione(int *param)
    {
    Funzione(*param);
    }

    la puoi usare al posto di un ciclo iterativo, anche se non conviene in quanto il dispendio di risorse è maggiore, cmq ecco un esempio


    int Funzione(int Control, int *param)
    {
    Control++;
    //COSE DA RIPETERE
    if (Control < 50)
    {
    Funzione(Control, *param);
    }
    else
    {
    return;
    }

  3. #3
    Vedo che sei della mia stessa città
    Comunque un'algoritmo si dice ricorsivo quando è definito richiamando se stesso.

    Però per poter funzionare ha bisogno di una condizione d'uscita, ovvero la condizione limite di funzionamento logico dell'algoritmo, sennò richiama se stesso all'infinito.

    Un esempio classico il fattoriale di un numero:

    int fatt(int n,int a){
    if(n>0)
    return fatt(n-1,a*n);
    else
    return a;
    } /* fatt */

    La chiamata a se stessa permette di far avvicinare i parametri alla condizione d'uscita(n decrementa ogni volta finche non è uno, poi il programma si interrompe ritornando il valore del fattoriale).
    Cmq puoi vedere la condizione limite è che n sia maggiore di 0, sennò il fattoriale nn si può fare.
    Senza la condizione contiunerebbe a fare il "fattoriale", e il programma non terminerebbe mai.

    Spero di essere stato chiaro

  4. #4
    Grazie mille.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.