Aritmetica ricorsiva
Prodotto
- M*N = 0, per N = 0
- M*N = M+M+...+M (N addendi), altrimenti
FUNZIONE proditer(INTERO m, INTERO n): INTERO
INIZIO
INTERO i, risp
risp = 0
PER(i DA 1 A n PASSO +1)
risp = risp+m
proditer = risp
FINE
INIZIO
INTERO i, risp
risp = 0
PER(i DA 1 A n PASSO +1)
risp = risp+m
proditer = risp
FINE
- M*N = 0, per N = 0
- M*N = INCREMENTAN(0, m), altrimenti
FUNZIONE proditer(INTERO m, INTERO n): INTERO
INIZIO
INTERO i, risp
risp = 0
PER(i DA 1 A n PASSO +1)
INCREMENTA(risp, m)
proditer = risp
FINE
INIZIO
INTERO i, risp
risp = 0
PER(i DA 1 A n PASSO +1)
INCREMENTA(risp, m)
proditer = risp
FINE
- Prod(M, N) = 0, per N = 0
- Prod(M, N) = Prod(M, N-1)+M, altrimenti
M=5, N=3
Prod(5, 3) = Prod(5, 3-1)+5 = Prod(5, 2)+5 = 10+5 = 15
Prod(5, 2) = Prod(5, 2-1)+5 = Prod(5, 1)+5 = 5+5 = 10
Prod(5, 1) = Prod(5, 1-1)+5 = Prod(5, 0)+5 = 0+5 = 5
Prod(5, 0) = 0
Prod(5, 2) = Prod(5, 2-1)+5 = Prod(5, 1)+5 = 5+5 = 10
Prod(5, 1) = Prod(5, 1-1)+5 = Prod(5, 0)+5 = 0+5 = 5
Prod(5, 0) = 0
FUNZIONE prodric(INTERO m, INTERO m): INTERO
INIZIO
SE(n == 0) ALLORA
prodric = 0
ALTRIMENTI
prodric = prodric(m, n-1)+m
FINE
INIZIO
SE(n == 0) ALLORA
prodric = 0
ALTRIMENTI
prodric = prodric(m, n-1)+m
FINE