Esercizi assegnati (a.a. 2001/2002)

Esercizio: Scrivere un programma che, fissato ogni volta lo stesso valore per x (ad esempio x = 3) valuti e stampi il valore delle espressioni ++x + x, x+++x, (x++) + x e x + (++x).

Esercizio: Scrivere un programma che prenda in input due interi che rappresentano la lunghezza dei cateti di un triangolo rettangolo e restituisca in output la lunghezza dell'ipotenusa.

Esercizio: Scrivere un programma che - usando l'istruzione if, gli operatori relazionali e quelli di uguaglianza - confronti tre interi immessi dall'utente, e dica in output che relazione intercorre tra essi.

Esercizio: Scrivere un programma che prenda in input tre interi ,che rappresentano i coefficienti di un'equazione di secondo grado, e restituisca in output le soluzioni dell'equazione.

Esercizio: Scrivere un programma che prenda in input 20 interi, ne calcoli il minimo, e lo restituisca in output.

Esercizio: Scrivere un programma che prenda in input un certo numero di interi deciso dall'utente, ne calcoli il minimo, e lo restituisca in output.

Esercizio: Scrivere un programma che visualizzi tutti i numeri romani da 1 a 100.

Esercizio: Scrivere un programma che prenda in input 20 interi tra 10 e 100 e visualizzi solo quelli che non sono un duplicato di un numero già letto. In altre parole, la stampa non deve contenere ripetizioni.

Esercizio: Modificare il programma Bubble Sort fatto a lezione in modo che il ciclo si fermi non appena l'array sia ordinato.

Esercizio: Riscrivere il programma Bubble Sort fatto a lezione in modo che funzioni per array dinamici.

Esercizio: Modificare il programma Merge fatto a lezione in modo che funzioni per array dinamici e che l'array d'appoggio sia della dimensione minima necessaria.

Esercizio: Date due liste di interi, ordinate in senso non decrescente, fonderle in una terza lista ancora ordinata nello stesso modo. La terza lista deve essere costruita distruggendo le precedenti, senza creare nessun record.

Esercizio: Implementare l'algoritmo di Euclide per la ricerca del massimo comun divisore di due interi, nelle due versioni iterativa e ricorsiva. Calcolare la complessità spaziale e temporale delle due implementazioni.

Esercizio: Risolvere la seguente equazione di ricorrenza:

T(n)=T(n-a)+T(a)+n

T(a)=O(1), con a costante >=1

Esercizio: Risolvere la seguente equazione di ricorrenza:

T(n)=T(n/3)+T(2n/3)+n

T(0)=T(1)=O(1)

Esercizio: Risolvere la seguente equazione di ricorrenza:

T(n)=3T(n/2)+n

T(0)=T(1)=O(1)

Esercizio: Scrivere una funzione che crei un albero binario ricorsivamente, con le informazioni date da input.

Esercizio: Scrivere una funzione che crei un albero binario per livelli, con le informazioni date da input. Suggerimento: usare una struttura dati di tipo coda.

Esercizio: Scrivere una funzione che, presa come parametro la lista di adiacenza di un grafo, cosruisca la matrice di incidenza dello stesso grafo. Calcolare la complessità computazionale di tale funzione.

Esercizio: Scrivere una funzione che, presa come parametro la matrice di adiacenza di un grafo, cosruisca la matrice di incidenza dello stesso grafo. Calcolare la complessità computazionale di tale funzione.

 

 

 

 

 

 

 

 

Soluzioni (a.a. 2000/2001)

 

Soluzioni del primo esonero a.a. 2000/2001

soluzione

Soluzioni del secondo esonero a.a. 2000/2001

soluzione

 

Soluzioni degli esercizi assegnati a lezione a.a. 2000/2001

Segue un elenco di listati C, il cui nome è quello con cui i vari esempi ed esercizi vengono richiamati nelle dispense.

Sezione FUNZIONI delle dispense

primo_prog.c

es-funz.c

Sezione OPERATORI ED ESPRESSIONI delle dispense

incremento.c

iincremento2.c

Sezione STRUTTURE DI CONTROLLO delle dispense

es-switch.c

gauss.c

somma_n.c

Sezione PUNTATORI delle dispense

es-punt.c

Sezione PARAMETRI PASSATI PER VARIABILE delle dispense

swap.c

Sezione ARRAYS delle dispense

bubble.c

bubble+bool.c

fondi.c

insertion.c

ricerca.c

Sezione FUNZIONI RICORSIVE delle dispense

Fib_iter.c

Fib_ric.c

MCD_ric.c

MCD_trivial.c

MSort.c

MSort_pot.c

ric_bin.c

Sezione LISTE delle dispense

fondiListe.c

lista.c

listaOrd.c

listaOrd2.c

Sezione PILE E CODE delle dispense

coda_array.c

coda_lista.c

pila_array.c

pila_lista.c

Sezione ALBERI BINARI delle dispense

albero.c

crea_alb.c

varie_alb.c

visitaXliv.c

Sezione HEAP delle dispense

heap.c

Sezione GRAFI delle dispense

grafo_liste.c

grafo_matr.c

Sezione VISITE DI GRAFI delle dispense

dfs.c

comp_conn.c