PROGRAMMAZIONE DIDATTICA

INFORMATICA GENERALE ED APPLICAZIONI GESTIONALI

A.S. 2009/2010

CLASSE 4B

PROF. M. DI LUCA

 

Libro di testo

F.Gallo P.Salerno

JAVA LA PROGRAMMAZIONE AD OGGETTI

Minerva Italica

978 8829 82 32 60

Già in possesso degli studenti.


Siti web:

http://diluca.blogspot.com

http://www.itcmorante.it/diluca

 

 

 

 

CONTENUTI

 

Costrutti di iterazione

Il costrutto while.

Somme entro cicli.

Input entro cicli.

Selezione annidata.

Esercizi con invocazione di metodi, istruzioni di input e costrutti di selezione.

Il costrutto di iterazione a controllo in coda.

Algoritmi con iterazioni con if annidati e numero di ripetizioni specificato in input.

Conteggi e quantità soprasoglia.

Algoritmi con iterazioni con if annidati e ripetizioni determinate da condizione in cui compare un dato di input.

Ricerca massimi e minimi.

 

Stringhe

Indici dei caratteri entro una stringa.

Confronto di stringhe, il metodo equals.

Lunghezza di stringhe, il metodo length.

Estrazione di sottostringhe, il metodo substring.

Estrazione di caratteri con il metodo charAt.

 

Array

La nozione di array.

Dichiarazione, creazione e inizializzazione di array in java.

Sintassi compatta per la dichiarazione, inizializzazione e creazione di un array.

Massimi e soprasoglia con gli array.

Somme parziali e condizionate di elementi di array.

 

Array di oggetti

Array di oggetti.

Distinzione tra riferimento ed oggetto.

Metodi che usano array come parametri formali.

Metodi che restituiscono array.

Modalità di passaggio di array ed oggetti a metodi in memoria..

 

Visibilità dei dati.

Blocchi di codice e dati locali.

Dati globali e attributi di una classe.

I modificatori static final per la definizione di dati costanti.

Parametri formali in un metodo, attributi e dati locali omonimi.

 

 

Ereditarietà

 

Definizione di una sottoclasse.

Metodi e attributi ereditati.

Ridefinizione (overriding) di metodi.

L’uso di this e super.

Costruttori e gerarchie di classi: il concatenamento dei costruttori.

Metodi di classe e il modificatore static.

Il modificatore private.

Il modificatore final.

Classificazione delle tipologie di invocazione dei metodi a seconda di:

Incapsulamento degli attributi  di un oggetto.

 

File

Modalità di accesso ad un file.

L’uso del metodo EOF per  la lettura di un file sequenziale.

File di oggetti.

Il casting degli oggetti restituiti dal metodo readObject().

Uso di reset() per azzerare i riferimenti ad un oggetto e determinarne la riscrittura su file.

Massimi, soprasoglia, conteggi su oggetti e array di oggetti letti da un file.

 

Cenni ad alcune strutture dati dinamiche.

I metodi statici della classe Arrays:

sort, fill, equals, binarySearch.

La classe ArrayList:

add, size, addAll, get, set, remove

L’oggetto Iterator e i metodi next e hasNext.

Gli oggetti HashSet ed HashMap.

 

 

Applicazioni grafiche statiche.

La classe JFrame e i metodi add, pack, setVisible.

La classe JFrame e il metodo getContentPane.

La classe  Color e i suoi attributi.

La classe JPanel e i metodi getPreferredSize, setBorder, setBackground, paintComponent e repaint .

La classe Graphics e il metodo drawString.

La classe Graphics e Graphics2D e i metodi draw e fill.

Il metodo read della classe ImageIO.

Il metodo drawImage della classe Graphics.

 

Applicazioni grafiche dinamiche.

La registrazione di ascoltatori di eventi di tastiera e mouse mediante i metodi addKeyListener, addMouseListener e addMouseMotionListener della classe JPanel.

La ridefinizione on the fly dei metodi keyPressed, mouseDragged e mousePressed.

I metodi getX e getY della classe MouseEvent.

Il metodo getKeyCode della classe KeyEvent.

Gli attributi VK_XX della classe KeyEvent per individuare il tasto premuto dall’esecutore.

Il metodo repaint della classe JPanel.

Il metodo run, gli oggetti Thread ed il parametro del loro costruttore e l’interfaccia Runnable.

Il metodo sleep dell’ oggetto restituito dal metodo currentThread della classe Thread

Il ciclo di animazione while(true) {aggiornaStato(); repaint(); pausa();}

Esempio con double buffering.

Esempio con active rendering e double buffering combinati.

 

 

COMPETENZE

 

GENERALI

* conosce la struttura di iterazione a controllo in testa
* conosce la struttura di iterazione a controllo in coda
* conosce il tipo char
* conosce l'istruzione di conteggio
* conosce l'istruzione di totalizzazione
* sa come ricavare una percentuale
* sa come definire un array
* sa come creare un array
* sa come inizializzare un array
* sa come utilizzare un elemento di un array
* conosce l'algoritmo di ordinamento per selezione del minimo
* conosce la nozione di ereditarietà
* conosce la nozione di polimorfismo
* sa come usare il costruttore della classe padre
* sa come usare il metodo della classe padre
* conosce la nozione di overloading
* conosce componenti e contenitori della gui di java
* sa effettuare il posizionamento dei componenti entro un JPanel mediante il borderLayout.
* conosce il concetto di evento
* sa come ridefinire una classe di ascolto, in modo che venga invocato un metodo al verificarsi di un evento
* sa aprire un file in java
* sa leggere un file in java
* scrivere un file in java
* sa chiudere un file in java
* sa usare un array di tipo oggetto
* sa usare array come parametri di metodi
* sa usare attributi di tipo array
* conosce i campi costanti o static final
* conosce i metodi di classe o final
* sa usare super
* sa usare this
* sa che gli attributi di un oggetto passato come parametro vengono modificati entro un metodo
* sa che un array passato come parametro viene modificato entro un metodo
* conosce le regole sulla visibilità dei dati locali
* conosce le regole sulla visibilità di dati locali, attributi e parametri formali
* sa usare null per identificare un riferimento ad un oggetto non creato
* sa definire metodi usando la clausola throws
* sa quale valore ha un'assegnazione
* sa usare il metodo Arrays.sort
* conosce la restituzione del metodo Arrays.binarySearch
* sa usare Arrays.fill
* sa usare java.util.DecimalFormat
* sa usare java.util.Random

 

"OOP"

* sa definire una classe
* sa che il nome di una classe deve iniziare con una maiuscola
* sa definire degli attributi
* sa definire un attributo costante
* sa definire un metodo di classe
* sa invocare un metodo istanza
* sa invocare un metodo di classe
* sa invocare un metodo istanza entro la classe in cui è definita
* sa invocare un metodo di classe nella classe in cui è definito
* sa che non si possono invocare metodi istanza da metodi di classe
* sa invocare un metodo ereditato
* sa invocare un metodo ridefinito usando super.
* sa usare null
* conosce il concetto di concatenazione dei costruttori
* sa definire una classe figlia
* sa quali attributi e metodi sono accessibili entro una classe figlia/ sottoclasse
* sa invocare un costruttore della stessa classe entro una classe usando this
* sa che un oggetto viene passato per "riferimento" ad un metodo
* sa che un dato primitivo viene passato per "valore" ad un metodo
* sa quando usare this per riferirsi ad un attributo o metodo di una classe
 

 

 

"FILE JAVA"

* sa definire un oggetto di classe ObjectOutputStream
* sa quale parametro prenda un oggetto di classe ObjectOutputStream
* sa quale parametro prenda un oggetto di classe FileOutputStream
* sa che il costruttore di FileOutputStream solleva una FileNotFoundException
* sa che il costruttore di ObjectOutputStream solleva una IOException
* sa che il metodo writeObject è istanza
* sa che il metodo writeObject prende un parametro di tipo Object
* sa che il metodo readObject è istanza
* sa che il metodo readObject restituisce un oggetto di classe Object o null
* sa che il metodo readObject solleva alla fine del file una EOFException
* sa che il metodo writeObject scrive la prima volta tutto l'oggetto, la seconda volta sullo stesso oggetto solo il numero seriale
* sa che il metodo reset() su un flusso azzera i numeri seriali degli oggetti scritti e causa nuove riscritture degli interi oggetti
* sa contare il numero di oggetti presenti su un file
* sa selezionare/contare gli oggetti in base al valore di un campo
* sa che al posto di un object posso usare un oggetto di una sottoclasse di object
* sa che un file rimane immodificato su disco rigido
* sa che la memoria e quindi le variabili perdono il loro valore al temine del programma
* sa come scrivere un oggetto su un file
* sa che sono scrivibili solo gli oggetti di classe Serializable
* sa che per usare writeObject devo avere un oggetto ObjectOutputStream aperto
* sa che se un metodo solleva un eccezione deve essere usato entro un blocco try catch
* sa che readObject legge un oggetto alla volta dal file
* sa che readObject legge gli oggetti nello stesso ordine in cui sono nel file
* sa che readObject legge gli oggetti partendo dal primo
* sa che readObject restituisce un oggetto o null
* sa che un nome di oggetto (riferimento ad un oggetto) se non si riferisce a un oggetto vale null

 

"ArrayList java"

* sa creare un'arraylist
* sa usare add per aggiungere un elemento
* sa usare get per prendere l'elemento j esimo
* sa attraversare l'arraylist con l'iteratore
* sa usare hasNext di un iteratore
* sa usare next di un iteratore
* sa usare addAll per fondere due arraylist
* sa usare contains per verificare la presenza di un oggetto
* sa usare isEmpty per verificare se l'arrayList sia vuota
* sa usare clear per svuotare l'arrayList
* sa che in un arraylist posso collocare oggetti di tipo diverso
 

 

M. Di Luca                                                                                                                                                    

 

 

SISTEMA OPERATIVO:

MS WINDOWS XP

 

LINGUAGGIO DI PROGRAMMAZIONE E O APPLICATIVO USATO DAGLI STUDENTI:

JAVA 1.6.