Esercizi su ricorsione Scrivere un metodo ricorsivo Java int[ ]

Corso di Laurea Ingegneria Informatica
Fondamenti di Informatica
A08
Autovalutazione
Alfonso Miola
Marzo 2010
http://www.dia.uniroma3.it/~java/fondinf/
Autovalutazione Java
1
Modalità di svolgimento degli esercizi
Vengono proposti alcuni tipici esercizi
d’esame che prevedono di dare risposte
aperte a domande di teoria
Rispondere con un elaborato scritto anche
breve – in genere di una pagina o al massimo
di due
Nell’esposizione aiutarsi, eventualmente, con
degli esempi
Possibilmente dove viene richiesto di fornire
“almeno un esempio” non limitarsi ad uno
solo e non scegliere esempi troppo ovvi e
banali
http://www.dia.uniroma3.it/~java/fondinf/
Autovalutazione Java
2
Esercizi su ricorsione
 Descrivere il Principio di induzione
matematica e fornire un esempio del suo uso
 Fornire almeno un esempio di insieme
definito induttivamente
 Fornire almeno un esempio di funzione
definita induttivamente
 Fornire almeno un esempio di funzione
definita induttivamente con il relativo
metodo ricorsivo Java
http://www.dia.uniroma3.it/~java/fondinf/
Autovalutazione Java
3
Esercizi su gestione memoria
 Descrivere le modalità di gestione della
memoria della Java Virtual Machine
 Descrivere le modalità di gestione della
memoria nell'esecuzione di metodi Java
 Descrivere le modalità di gestione della
memoria nell'esecuzione di metodi ricorsivi
 Fornire un esempio di esecuzione di un
metodo ricorsivo a scelta
http://www.dia.uniroma3.it/~java/fondinf/
Autovalutazione Java
4
Esercizi su ricorsione
 Scrivere un metodo ricorsivo Java
int[ ] trasforma1(int n)
che dato un intero positivo n calcola e
restituisce un array costituito dalle cifre di n
dalla meno significativa alla più significativa
 Scrivere un metodo ricorsivo Java
char[ ] trasforma2(String s)
che data una stringa s calcola e restituisce
un array costituito dai caratteri di s
dall’ultimo al primo
http://www.dia.uniroma3.it/~java/fondinf/
Autovalutazione Java
5
Esercizi su ricorsione
 Scrivere un metodo ricorsivo Java
char[ ] trasforma3(int n)
che dato un intero positivo n calcola e
restituisce un array costituito dai caratteri
cifra di n nell’ordine dalla meno significativa
alla più significativa
 Scrivere un metodo ricorsivo Java
int[ ] trasforma4(String s)
che data una stringa s di caratteri cifra
calcola e restituisce un array costituito dalle
cifre di s dall’ultima alla prima
http://www.dia.uniroma3.it/~java/fondinf/
Autovalutazione Java
6
Esercizi su costo dei programmi
 Descrivere in cosa consiste l’analisi
asintotica della complessità
 Descrivere il relativo modello di costo per
l’analisi asintotica della complessità e il
significato della notazione O (O-grande)
 Descrivere il concetto di istruzione
dominante
 Indicare la complessità del metodo di
fusione di array ordinati fornendo le
adeguate motivazioni
http://www.dia.uniroma3.it/~java/fondinf/
Autovalutazione Java
7
Esercizi su ordinamento
Descrivere l’applicazione degli algoritmi di
ordinamento conosciuti ad un array di interi
(al fine di ordinare l’array in modo crescente),
mostrando lo stato dell’array dopo
l’esecuzione di ciascuna passata
dell’algoritmo
Ad esempio con il seguente array da ordinare
(stato iniziale):
12 24 5 89 28 44 7 11
http://www.dia.uniroma3.it/~java/fondinf/
Autovalutazione Java
8