DIPARTIMENTO  DI   INFORMATICA
Universita' di Torino

Corso di Programmazione I e Laboratorio - B Turno 3 (T3)

Docente:  Giovanna Petrone


ESAME DI LABORATORIO dell'11 luglio 2005 : si terra' alle 12:00, invece che alle 11:00 !!!!!!
Suggerimento: preparare con molta cura la classe ArrayUtil e tutte le classi relative all'applicazione Banca/Conto e portarle in laboratorio il giorno della prova di esame.

Diario del laboratorio turno T3

I Giovedi 7/10/2004  

Introduzione al laboratorio: TextPad, ambiente Windows del laboratorio introduzioneLaboratorio.

II e III Lunedi 11/10/2004 e  Giovedi 14/10/2004
  1. CiaoNome
  2. Somma
  3. Somma sequenziale
  4. Classe esercizi
  5. Booleani
  6. Calcola Turno
  7. Operazioni
  8. Sequenza
IV e V Lunedi 18/10/2004 e  Giovedi 21/10/2004  
  1. Esercizi somma
  2. Fare un programma per calcolare il massimo tra questi numeri: 21, 11, -23, 5.
  3. Fare un programmino che utilizza JOptionPane per chiedere il nome dell'utente
    e per dare un messaggio di buona giornata con il nome dell'utente.
esercizi dati dal Prof. Giovannetti:
  1. Definire una classe MaxConIndice contenente solo un main il quale legga da consolle una sequenza di interi terminata da un non intero, e ne scriva su consolle l'indice del massimo (cioe' il suo numero d'ordine nella sequenza) e il suo valore. Se vi sono piu'¹ elementi di valore massimo, scriva l'indice del primo di tali valori.
    Esempio: se la sequenza e' 21 15 18 38 27 29 38 4 stop, il programma scrive:
    "il massimo e' l'elemento n. 4 della sequenza e vale 38".
  2. Definire una classe MinMaxConIndici contenente solo un main il quale legga da consolle una sequenza di interi terminata da un non intero, contenente almeno un elemento, e, analogamente all' esercizio precedente, scriva su consolle l'indice e il valore del minimo, e l'indice e il valore del massimo.
  3. Definire una classe DuePiuGrandiConIndici contenente solo un main il quale legga da consolle una sequenza di numeri interi costituita da almeno due interi (rappresentanti ad es. redditi di persone, oppure punteggi in un concorso, ecc.) terminata da un non intero e, analogamente agli esercizi precedenti, scriva su consolle i due valori più grandi (che possono anche essere uguali) con loro indici.
VI   Giovedi 28/10/2004

  1. Leggere da finestra di input (JOptionPane) un elenco di numeri interi, memorizzarli in un array e ordinarli dal minimo al massimo. Quando sono ordinati, stamparli.
    1. in una prima versione utilizzare due array, uno per inserire i numeri in input e uno che contiene i numeri ordinati.
    2. in una seconda versione utilizzare solo un array.
VII Giovedi 4/11/2004

Estendere l'esercizio visto a lezione del conto bancario, aggiungendo i metodi che permettono di:
  • depositare
  • vedere il saldo
  • ritirare dei soldi 
  • fare un bonifico
 Utilizzando JOptionPane per ricevere l'input dei clienti.

VIII e IX Lunedi 8/11/2004 e Giovedi 11/11/2004

Creare una classe Banca che gestisca piu' conti per vari clienti:
  • inizializzare (nel costruttore di Banca) una variabile  statica (di tipo Array) che possa contenere un certo numero di conti
  • nella classe Banca definire metodi che permettono ai vari clienti di interrogare e modificare il proprio conto
  • utilizzare le finestre tipo JOptionPane per fare input/output con i clienti
Eseguire Esercitazione 6 del Prof. Giovannetti  e discuterne insieme le parti piu' complesse.


X e XI Lunedi 15/11/2004 e Giovedi 18/11/2004

  • Completare l'Esercitazione 6 del Prof. Giovannetti.
  • Sperimentare l'algoritmo di inserimento di un elemento in un array ordinato, introdotto a lezione.
giovedi 18 :
eseguiremo una prova di esempio dell'esame di laboratorio. Vi verra'
dato il testo di un esercizio che dovrete svolgere durante la prima ora. Nella seconda
ora lo correggiamo e discutiamo insieme.
XII, XIII e XIV Lunedi 22/11/2004, Giovedi 25/11/2004 e Venerdi 26/11/2004 14-16 (RECUPERO)

Esercizio I (lunedi):
  1. Scrivere un metodo con due argomenti: un array a di stringhe ed un array b di interi. Gli argomenti a e b sono della stessa lunghezza ed  entrambi completamente riempiti. Il metodo cancella da a un elemento a[i] se b[i] e' pari, non lo cancella se e' dispari, compatta a e restituisce il numero di elementi rimanenti in a dopo le eventuali cancellazioni.
  2. Scrivere un main dove  si deve creare un array di stringhe, lo si deve inizializzare con o senza uso della classe Console, poi si deve chiamare il metodo sull'array e stampare in output il risultato restituito da questo.
Esercizio II (giovedi):
  1. Il metodo ha i parametri: un array di stringhe, completamente riempito, non ordinato e una stringa. Deve trovare la posizione nell'array della stringa che inizia con la stringa passata come parametro oppure restituire -1.
  2. Nel main si deve creare un array di stringhe, lo si deve inizializzare utilizzando il metodo di ArrayUtil per costruire un array di stringhe, poi si deve invocare il metodo sull'array e stampare in output i risultati trovati.
Esercizio III (venerdi):  
  1. Completare l'esempio del Conto e Banca
    • definire oggetti (classi) per:
      • Persona (nome, cognome, data di nascita, luogo di nascita, codice fiscale, stipendio )
      • Famiglia (lista di persone con stesso indirizzo)
      • Operazione (data, tipo operazione (bonifico, accredito, pagamento bancomat))
      • Conto (saldo, Persona o lista di persone o famiglia o ditta come intestatari, lista operazioni)
      • Ditta (partita iva, nome)
      • Banca: classe nella quale si inizializzano vari conti, intestati a piu' persone, si offre la possibilita'
        all'utente (impiegato della banca) di fare bonifici da un conto ad un altro, di esaminare le operazioni
        eseguite su un certo conto.
    • definire i metodi sugli oggetti che permettono di :
      • fare accredito stipendio su conto dei dipendenti da parte della ditta
      • esaminare lista operazioni di un certo conto

  2. Completare ArrayUtil

XV, XVI, e XXVII Lunedi 29/11/2004, Giovedi 2/121/2004 e Venerdi 3/12/2004 14-16 (RECUPERO)

lunedi 29/11: COMPLETARE Esercizio III (venerdi)

giovedi 2/12: continuazione esercizio Banca/Conto e Supermarket.

venerdi 3/12 : soluzione collettiva dell'applicazione Conto/Banca, con discussione di varie soluzioni alla lavagna.

XXVIII Lunedi 6/12 (Ultimo laboratorio)

completamento compiti ed esercizi di tutto il corso



Informazioni utili

  • Consigli su come scrivere un programma Java: Java Coding conventions
  • Dove si trovano le descrizioni delle librerie Java della versione 1.5.0 (API)
  • Come scrivere un programma con commenti tipo quelli degli API con Javadoc
  • Per evitare i problemi di TextPad per quanto riguarda la perdita degli
    strumenti compila ed esegui con la 1.5, si puo' compilare ed eseguire da finestra DOS
    utilizzando dei file comandi di DOS chiamati <nome comando>.BAT . Per esempio:
    per compilare  jc.bat (jc nomefile) ed per eseguire  je.bat (je nomefile) 
    (NOTA: non avendo la possibilita'  di cambiare il PATH, salvarli nella directory di lavoro). 



[Corso di Studi di Informatica]


Last update: Dec 6, 2004