Homework

A partire dal 5 Ottobre, e fino alla fine delle lezioni, ogni giovedì verranno assegnati degli homework, da svolgere singolarmente e da consegnare via posta elettronica all'indirizzo luca.moscardelli@unich.it mettendo nell'oggetto del messaggio la seguente stringa:
[java] Cognome Nome Homework id
dove Cognome Nome  e sono il cognome ed il nome dello studente che consegna, ed id è l'identificativo dell'homework.
Il file consegnato deve essere allegato all'email e deve avere come nome la stessa stringa [java] Cognome Nome Homework id 
Il file va consegnato in formato di testo semplice; .txt .java sono estensioni accettabili.
Ad esempio, un possibile file per lo studente Mario Rossi e il primo homework è
[java] Rossi Mario Homework 1.java
 
ATTENZIONE: il non attenersi in modo corretto alla sopra descritta procedura di consegna comporterà una penalizzazione nella valutazione dell'homework stesso.
 
La consegna va effettuata entro il mercoledì successivo all'assegnazione dell'esercizio.
 
Gli homework non sono obbligatori. Tuttavia, chi li consegna tutti tranne al più due avrà un bonus aggiuntivo sul voto finale d'esame variabile da 0 a 2 puntia seconda della qualità e del numero dei lavori consegnati.
 
Di seguito la lista degli homework con la data di assegnamento. Siete invitati a visualizzare questa pagina ogni giovedì
  • 5 ottobre 2017, id 1
    Scrivere un programma in Java che chiede all'utente di immettere da tastiera  tre numeri interi n1, n2 e n3 e stampa sulla console i numeri immessi in ordine non decrescente.
    Ad esempio, se l'utente immette i numeri 8, 5, 8, si deve stampare
    5
    8
    8
  • 12 ottobre 2017, id 2
    Scrivere un programma in Java che permette all'utente di immettere da tastiera dei numeri interi, continuando a richiedere l'inserimento di un numero finché l'utente non immette un numero negativo. Alla fine, viene stampato il numero di numeri pari immessi dall'utente.
    Ad esempio, se l'utente immette i numeri 3, 8, 10, 11, 19, 7, 4, -3
    si deve stampare 3
  • 19 ottobre 2017, id 3
    Scrivere un programma in Java che chiede all'utente di inserire un intero positivo n, ripetendo la richiesta finché non viene inserito un valore ammissibile. Successivamente, viene allocato un array di numeri interi di lunghezza n che deve essere riempito con i primi n numeri di Fibonacci, dove i numeri di Fibonacci (cfr https://it.wikipedia.org/wiki/Successione_di_Fibonacci)sono definiti come segue: i primi 2 numeri di Fibonacci sono 1, ed i successivi si ottengono sommando i due precedenti. Infine, bisogna stampare in ordine inverso i primi n numeri di Fibonacci.
    Quindi, se n=6, deve essere creato l'array {1, 1, 2, 3, 5, 8} e deve essere stampato
    8
    5
    3
    2
    1
    1
  • 26 ottobre 2017, id 4
    Scrivere un metodo in Java (si noti che, da questo homework in poi, la consegna del metodo main è facoltativa, se non esplicitamente richiestsa: l'importante è che nel file consegnato ci sia(no) il/i metodo/i richiesto/i)
    static int metodo(int[] a)
    che preso come parametro un array a di numeri interi (int[]), restituisce il numero di elementi che sono superiori alla media aritmetica di tutti gli elementi presenti nell'array stesso.
    Ad esempio, se a={3, 7, 10, 20, 2}, il metodo deve restituire 2 in quanto l'array contiene 2 elementi superiori a 8.4 (la media aritmetica di tutti i suoi elementi).
  • 2 novembre 2017, id 5
    Scrivere un metodo ricorsivo in Java (il metodo NON deve far uso di nessun comando iterativo
    static double potenza(double base, int esponente)
    che preso come parametro un numero base in virgola mobile ed un intero esponente (che può essere anche negativo), restituisce il risultato dell'operazione di elevamento a potenza baseesponente.
    Ad esempio, se base=2 e esponente=3, il metodo deve restituire 8; se base=5 ed esponente=-1 il metodo deve restituire 0,2.
  • 9 novembre 2017, id 6
    Scrivere un metodo ricorsivo in Java (il metodo NON deve far uso di nessun comando iterativo
    static double media(int[]a, int l, int r)
    che preso come parametro un array di numeri interi e due interi l e r restituisce la media aritmetica dei valori compresi tra la posizione l e la posizione r dell'array (estremi inclusi). Si assuma che a non vale null.
    Ad esempio, se a={5,7,9,3}, l=0 e r=3 il metodo deve resituire 6.0.
  • 16 novembre 2017, id 7
    Aggiungere al package pianoCartesiano del progetto scaricabile qui una classe Triangolo (il file consegnato, opportunamente rinominato come al solito, deve contenere solo la classe Triangolo) con
    • 3 variabili a, b, c di istanza private di tipo Punto;
    • un metodo costruttore che prende 3 punti come parametri formali;
    • un metodo di istanza public double perimetro() che restituisce il perimetro del triangolo (sfruttando il metodo distanza della classe Punto)
    • un metodo di istanza public boolean isIsoscele() che restituisce true se e solo se il triangolo è isoscele;
    • un metodo di istanza public boolean isEquilatero() che restituisce true se e solo se il triangolo è equilatero.
  • 23 novembre 2017, id 8
    Scrivere un metodo in Java
    static void rimuoviDuplicati (ArrayLista)
    che preso come parametro un ArrayList a di numeri interi rimuove tutti gli elementi in a che non siano prime occorrenze.
    Ad esempio, se a=[2, 7, 3, 8, 2, 8, 9, 9], a deve essere modificato in modo che diventi [2, 7, 3, 8, 9].
  • 30 novembre 2017, id 9 (ultimo homework)
    Aggiungere al package espressioni del progetto scaricabile qui una classe ExpRadiceQuadrata(il file consegnato, opportunamente rinominato come al solito, deve contenere solo la classe ExpRadiceQuadrata) che estende la classe Exp e si occupa di rappresentare e gestire un'espressione che è la radice quadrata di un'altra espressione. In particolare, la classe ExpRadiceQuadrata deve avere:
    • una variabile di istanza e di tipo Exp;
    • un metodo costruttore;
    • un metodo public int valuta() che restituisce la parte intera inferiore della radice quadrata dell'espressione e. (se la valutazione di e è negativa, viene restituito -1).
      Ad esempio, se l'espressione e è (2+8), la sua valutazione è 10, la radice quadrata è compresa tra 3 e 4 e la sua parte intera inferiore è 3.
      Se la valutazione dell'espressione è un quadrato perfetto (ad esempio 16), la parte intera inferiore coincide esattamente con la radice quadrata (in questo esempio quindi è 4).
    • un metodo public String toString() che restituisce la descrizione testuale dell'espressione rafice quadrata nella forma SQRT( )
      ATTENZIONE: la classe NON deve far uso di nessun metodo di libreria della classe java.lang.Math

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