Esercizi del 9/1/2023
Esercizio 0
Scrivere un metodo ricorsivo sommaNumeri(int n) che restituisce la somma dei numeri da 0 fino ad n. Si può assumere che n sia positivo.
Esercizio 1
Scrivere un metodo ricorsivo che calcoli la successione di Fibonacci. In particolare, il metodo prende come parametro di input un intero n (che possiamo assumere essere positivo) e restituisce l'n-esimo numero della successione di Fibonacci (Fn). La successione è definita come segue:
- il numero di Fibonacci 0 è 0 (F0 = 0)
- il numero di Fibonacci 1 è 1 (F1 = 1)
- gli altri numeri di Fibonacci si ottengono come somma dei due numeri di Fibonacci che lo precedono (Fn = Fn-1 + Fn-2). Così F2 = F1 + F0 = 1 + 0 = 1, F3 = F2 + F1 = 1 + 1 = 2, etc...
ATTENZIONE. Sebbene interessate da un punto di vista didattico, scrivere la successione di Fibonacci in modo ricorsivo non è una scelta particolarmente saggia. È molto probabile che il programma che scriverete avrà complessità computazionale esponenziale (O(2n)).
Esercizio 2.
Sia data la seguente classe:
class Animale {
String nome;
boolean volante;
int numeroZampe;
int pesoMassimo;
}
Scrivere un metodo stampaAnimale che prende in input un oggetto di tipo Animale e lo stampa in maniera leggibile. Provare il metodo stampaAnimale con un semplice programma principale.
Esercizio 3
Con riferimento all'esercizio 2, scrivere un metodo trovaAnimale che prende in input un array di animali a ed un intero n, e restitiuisce il primo animale dell'array che ha n zampe. Se nessun animale ha n zampe, restituisce null.
Esercizio 4
Riscrivere il metodo che calcola la successione di Fibonacci in maniera iterativa. Suggerimento: dato il numero n, effettuare un ciclo for da 1 fino ad n. Ad ogni iterazione i, calcolare l'i-esimo numero di Fibonacci. È necessario utilizzare almeno due variabili che tengono traccia degli ultimi due numeri di Fibonacci calcolati.