Ricorsione fattoriale
Fattoriale (n!) è il prodotto di tutti i numeri che precedono n, n compreso.
5! = 5 × 4 × 3 × 2 × 1
1! = 1
Funzione fattoriale ricorsiva
Function fattorialeR(u) {
IF((u==0)||(u==1)) {
return 1;
} else {
return u * fattorialeR(u-1);
}
}
Per un numero negativo, la funzione non è definita.
Successione di Fibonacci
0, 1, 1, 2, 3, 5, 8, 13, 21, 34
Ogni numero è la somma dei due numeri precedenti.
Calcolare l'ennesimo numero di Fibonacci
fib(0) = 0 fib(1) = 1 fib(u) = fib(u-2) + fib(u-1)
Funzione Fibonacci ricorsiva
function fib(u) {
if ((u==0)||(u==1)) {
return u;
} else {
return fib(u-2) + fib(u-1);
}
}
Data una funzione ricorsiva è possibile definire una funzione iterativa, anche se ci sono alcuni casi in cui non è possibile.
Ricorsiva → Iterativa
Questo vale per il fattoriale e il Fibonacci.
Funzione aritmetica di Peano
Addizione e moltiplicazione
- x + 0 = x
- x + y = x + y - 1 + 1 ≡ (x + (y-1) + 1) + 1
- x ∙ 0 = 0
- x ∙ y = x ∙ (y-1 + 1) = x(y-1) + x
Funzione addizione ricorsiva
function addizione(x, y) {
if (y == 0) {
return x;
} else {
return addizione(x, y-1) + 1;
}
}
Sottrazione
- x - 0 = x
- x - y = x - y - 1 + 1 = (x-1) - (y-1) se x ≥ y
Divisione
Per la divisione, la funzione non è completamente definita nel testo originale.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti per l'esame di Progettazione e programmazione web
-
Lezioni, Progettazione e gestione
-
Progettazione statica
-
Progettazione didattica