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.