CORSO DI LAUREA E DI DIPLOMA IN INFORMATICA
Università di Torino

Laboratorio di Programmazione

2000/2001 - Laurea


Laboratorio del 17 Gennaio 2001


Ricorsione: esercizi


  • Scrivere un programma ricorsivo che calcola la funzione di Fibonacci.
    Sequenza di Fibonacci:
    Fib(0)=1
    Fib(1)=1
    Fib(2)=Fib(1)+Fib(0)=2
    Fib(3)=Fib(2)+Fib(1)=3
    Fib(4)=Fib(3)+Fib(2)=5
    ...
    Fib(n)=Fib(n-1)+Fib(n-2).


  • Scrivere un programma ricorsivo che calcola la funzione esponenziale x elevato a y: esp(x,y).


  • Scrivere un programma ricorsivo che calcola la funzione esponenziale veloce x elevato a y: espVeloce(x,y).
    L'esponenziale veloce x^y è cosi' definito:
    Se y è pari: x^y = (x*x)^(y div 2)
    Se y è dispari: x^y = x*(x^(y-1)).


  • Scrivere un programma ricorsivo che calcola il prodotto x * y tramite somme di x.


  • Scrivere un programma ricorsivo che ordina un array vet costituito da n elementi interi.
    L'algoritmo di ordinamento che potete adottare utilizza la seguente idea di base:
    si scambia l'elemento nella posizione i dell'array (compresa tra 1 e n-1) con il minore degli elementi della parte del vettore non ancora ordinata, e cioè tra vet[i]..vet[n].