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].
|