LABORATORIO DI INFORMATICA V

LABORATORIO DI INFORMATICA V
Elementi di Informatica di base
Dott.ssa Elisa Tiezzi
Esercizio 1
Definire un metodo iterativo ed uno ricorsivo che calcoli il fattoriale
di un numero.
Esercizio 2
Dati n oggetti e preso k un numero intero positivo minore o uguale ad
n, si chiamano disposizioni semplici presi k a k di questi n oggetti i
gruppi distinti che si possono formare in modo che ogni gruppo
contenga soltanto k oggetti e che differisca dagli altri o per qualche
oggetto o per l’ordine in cui gli oggetti stessi sono disposti.
Tali disposizioni sono:
Dn,k=n*(n-1)*(n-2)*…………….(n-k+1)
Nel caso di n=4 e k=1abbiamo
D4,1=4
e nel caso di n=4 e k=2
D4,2=4*3=12
Scrivere una procedura ricorsiva diretta, una indiretta e una iterativa
che calcolino il numero di disposizioni semplici.
Esercizio 3
Si chiamano combinazioni semplici di n oggetti distinti presi k a k
(k<=n) i gruppi distinti di k oggetti che si possono formare con gli n
oggetti dati, in modo che i gruppi stessi differiscano tra loro almeno
per un oggetto.
La formula generale che permette di calcolare il nulero delle
disposizioni semplici è:
Cn,k=Dn,k/k!.
Dunque il numero delle combinazioni di n oggetti presi k a k è uguale
al numero di disposizioni di n oggetti presi k a k, diviso k fattoriale.
Scrivere due procedure per calcolare il numero di combinazioni, una
ricorsiva, una iterativa.
Esercizio 4
Si consideri la seguente definizione dell’operazione di elevamento a potenza x y :
(1) x0= 1;
(2) Per ogni y > 0, x y = x *xy-1.
Definire un metodo computePower direttamente ricorsivo che, dati due numeri interi x
ed y, calcoli il risultato dell’operazione di elevamento a potenza x y.
Invocare ripetutamente il metodo stesso con specifici parametri attuali.
La ricorsione in questo caso è veramente utile? Se così non è,
definire il metodo computePower in forma iterativa.