Appello del 11/11/2002
1a prova scritta
tempo a disposizione: 2 ore
Una macchina erogatrice di bibite mantiene le informazioni sulle bibite disponibili in una lista in memoria centrale, rappresentata tramite strutture/record e puntatori. Ciascun elemento della lista contiene:
Si richiede di risolvere i seguenti punti:
Appello del 11/11/2002
2a prova scritta
tempo a disposizione: 1 ora
Si consideri il numero decimale dato dalle ultime due cifre del numero di matricola. Se tale numero è minore di 50, si aggiunga 50. Sia N il numero risultante (per esempio, se le ultime due cifre sono 57, N è 57, mentre se le ultime due cifre sono 36, N è 86). Scrivere le rappresentazioni in complemento a due di N e di -N, utilizzando il minimo numero di bit sufficienti. Mettere chiaramente in evidenza il procedimento usato per rispondere al quesito.
Si descriva un algoritmo di ordinamento di un vettore a scelta (utilizzando pseudocodice o codice C/Pascal) e si illustrino le diverse fasi dell'ordinamento sull'esempio di un vettore di almeno 8 elementi. Si scelga il vettore di esempio in modo che sia significativo, ovvero che metta in evidenza le operazioni effettuate dall'algoritmo nelle singole fasi.
Si discuta inoltre la complessità computazionale dell'algoritmo nel caso migliore e nel caso peggiore, descrivendo per quali vettori si verificano questi casi.
Si implementi una funzione C/procedura Pascal, che, preso in ingresso un albero binario in cui nodi sono etichettati con interi, stampi su standard output le etichette dei nodi che non sono foglie. L'ordine con cui vengono stampati i nodi deve essere quello risultante da una visita in preordine dell'albero.
Si illustri l'output della funzione sull'esempio di un albero bilanciato di esattamente 12 nodi.