Homework A.A. 2012/2013

A partire dal 25 Ottobre, e fino alla fine delle lezioni, ogni giovedì verranno assegnati degli homework, da svolgere singolarmente e consegnare via posta elettronica all'indirizzo moscardelli@sci.unich.it mettendo nell'oggetto del messaggio la seguente stringa:
[jmm] $cognome$ $nome$ Homework n° $id$
dove $cognome$ e $nome$ e sono il cognome ed il nome dello studente che consegna, ed $id$ è l'identificativo dell'homework. La consegna va effettuata entro il mercoledì successivo all'assegnazione dell'esercizio. Il file va consegnato in formato di testo semplice; .txt e .java sono estensioni accettabili.
 
Gli homework non sono obbligatori. Tuttavia, chi consegna almeno i 4/5 degli homework assegnati avrà un bonus aggiuntivo sul voto finale d'esame variabile da 0 a 2 punti, a seconda della qualità dei lavori consegnati.
 
Di seguito la lista degli homework con la data di assegnamento. Siete invitati a visualizzare questa pagina ogni giovedì
 
  • 25 Ottobre 2012, Homework numero 1
    Scrivere un metodo
    int[][] prodottoMatrici (int[][] matriceA, int[][] matriceB)
    che prese in input due matrici matriceA e matriceB di interi crea e restituisce in output la matrice prodotto delle due matrici. Si assuma che il numero di colonne di MatriceA è uguale al numero di righe di MatriceB.
    In caso di necessità, si può far riferimento a questo link http://it.wikipedia.org/wiki/Moltiplicazione_di_matrici per il prodotto di due matrici.

  • 1 Novembre 2012, Homework numero 2
    Scrivere una versione iterativa ed una versione ricorsiva del metodo
     
    double H(int n)
    che preso in input un numero intero non negativo restituisce l'n-esimo numero armonico H(N)=1 + 1/2 + ... + 1/n.
    Si noti come H(0)=0, H(1)=1, H(2)=1+1/2=3/2 e così via. 

  • 8 Novembre 2012, Homework numero 3
    Scrivere con Eclipse un file MainClass.java in cui si implementa in Java (e non in Java--) il codice del merge-sort come visto a lezione.
    Nel metodo main bisogna far inserire all'utente da tastiera un array (come visto nell'ultima lezione di laboratorio), stamparlo, richiamare il metodo mergeSort e ristamparlo nuovamente (ordinato).

  • 15 Novembre 2012, Homework numero 4 
    Sfruttando opportunamente il codice visto a laboratorio per il cambio di base dei numeri (scaricabile qui), aggiungere alla MainClass scritta a laboratorio un metodo 
    public static int[] somma (int[] numeroA, int baseA, int[] numeroB, int baseB, int baseRisultato)
    che presi in input due addendi (numeroA espresso in base baseA e numeroB espresso in base baseB) restituisce la rappresentazione in base baseRisultato della loro somma. Si ricorda che un array rappresenta un numero nel seguente modo: la posizione 0 è la cifra meno significativa (la più a destra), la posizione 1 è la seconda cifra partendo da destra, e così via fino all'ultima posizione che rappresenta la cifra più significativa (la più a sinistra).

  • 22 Novembre 2012, Homework numero 5
    Sfruttando opportunamente il codice visto a laboratorio per le frazioni (scaricabile qui), aggiungere alla MainClass scritta a laboratorio un metodo iterativo
    public static Frazione potenzaFrazione (Frazione f, int n)
    che presi in input una Frazione f ed un intero n restituisce la frazione risultato dell'elevamento a potenza della frazione f all'esponente n.
    Scrivere inoltre un analogo metodo ricorsivo
    public static Frazione potenzaFrazioneRic (Frazione f, int n)

  • 29 Novembre 2012, Homework numero 6
    Sfruttando opportunamente il codice visto a laboratorio per le frazioni e le espressioni (scaricabile qui), aggiungere alla MainClass scritta a laboratorio un metodo
    public static boolean equivalenteExp (Exp e1, Exp e2)
    che prese in input due espressioni restituisce true se e solo se esse sono equivalenti, cioè se e solo se la loro valutazione porta a due frazioni equivalenti.

  • 6 Dicembre 2012, Homework numero 7 (ultimo homework)
    Si consideri il seguente metodo iterativo
static void bubbleSort(int[] a){
for (int i =0; i
for (int j=0;j
if (a[j]>a[j+1]){
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}

che ordina in modo non decrescente un array di interi effuttuando solo scambi tra posizioni consecutive dell'array. Sfruttando opportunamente il codice visto a laboratorio per le liste (scaricabile qui), aggiungere alla MainClass scritta a laboratorio un metodo
public static void ordinaLista (Lista l)
che presa in input una lista l, ordina i suoi elementi in modo non decrescente (senza modificare le chiavi, ma soltanto i riferimenti che collegano i vari elemnti della lista) sfruttando in particolare il metodo static void scambiaConsecutiviLista(Lista l, Elem e) visto a lezione.

Scopri cosa vuol dire essere dell'Ud'A

SEDE DI CHIETI
Via dei Vestini,31
Centralino 0871.3551

SEDE DI PESCARA
Viale Pindaro,42
Centralino 085.45371

email: info@unich.it
PEC: ateneo@pec.unich.it
Partita IVA 01335970693

icona Facebook   icona Twitter

icona Youtube   icona Instagram