Esercizi

  1. Scrivere una funzione ricorsiva che calcola la somma dei primi n numeri


    
    
    

    (ex_rec_1)

  2. Scrivere una funzione ricorsiva che calcola la potenza di un numero


    
    
    

    (ex_rec_2)

  3. Il Triangolo di Pascal è un insieme di numeri organizzati in un triangolo di numeri tali che

    \[a_{nr} = {n! \over{r! (n-r)!}}\]

    Questa equazione è l’equazione del coefficiente binomiale. Possiamo costruire il triangolo di Pascal sommando i due numeri che sono sopra (diagonalmente) a ciascun numero. Per esempio:

            1
          1   1
        1   2   1
      1   3   3   1
    1   4   6   4   1
    

    Scrivere un programma che stampa il triangolo di Pascal. Il programma deve accettare un parametro che dice il numero di righe da stampare.


    
    
    

    (ex_rec_13)

  4. I numeri di Catalan sono una sequenza di interi particolare. Realizzare una funzione ricorsiva, che dato un numero n calcola (e restituisce) l’n-esimo numero delle sequenza in base alla definizione induttiva fornita in questo pdf.


    
    
    

    (ex_rec_4)

  5. Verifica (ricorsiva) di proprietà. Scrivere una funzione ricorsiva che legge da input una sequenza di valori interi positivi terminata dal valore 0 (che non fa parte della sequenza) e che verifica la seguente proprietà: ogni valore letto è doppio del valore precedente. Ad esempio la sequenza 2 4 8 16 32 0 verifica la proprietà. La funzione deve restituire 1 se la proprietà è verificata e 0 altrimenti e non può utilizzare gli array.


    
    
    

    (ex_rec_5)

  6. Inversione di una stringa ricorsiva. Scrivere un programma che legge una sequenza di interi terminata da 0 (chiede un intero alla volta) e stampa la sequenze invertita sullo schermo. Ad esempio, leggendo la sequenza 1 8 3 4 6 0, deve stampare 6 4 3 8 1. Il programma deve fare uso di una funzione ricorsiva e non può usare liste o array.


    
    
    

    (ex_rec_6)

  7. Implementare una funzione ricorsiva hanoi(n,A,C,B) che stampa tutti gli spostamenti necessari per risolvere la Torre di Hanoi con n dischi come illustrato in questi lucidi. Sviluppare un programma che chiede all’utente di inserire n da standard input e stampa le mosse necessarie sullo standard output.


    
    
    

    (ex_rec_7)

Next Section - Stringhe come collezioni di caratteri