I.T.I.S. “B. FOCACCIA”
Via Monticelli – 84131 Salerno
PROGRAMMA DI INFORMATICA
Anno scolastico 2013/2014
PROF.ssa: Russo Paola
PROF. Landi Antonino
CLASSE IV E
RIPASSO E APPROFONDIMENTI SULLA PROGRAMMAZIONE IMPERATIVA
Strutture di controllo
Vettori, matrici, tabelle
Ricorsione: definizione ed esempi (potenza e somma)
Algoritmi ricorsivi: MCD, Fibonacci
File sequenziali: scrittura e visualizzazione
ALLOCAZIONE DINAMICA DELLA MEMORIA
STRUTTURE DINAMICHE (IN C)
I puntatori
La pila e la coda
Gestione di pile e code con i puntatori
PROGRAMMAZIONE E PROGETTAZIONE ORIENTATA AGLI OGGETTI
Analisi a oggetti: individuare le classi, gli attributi e i metodi
Un confronto con la programmazione imperativa: dal record alla classe, dalla funzione al metodo
Oggetti: caratteristiche, stato e comportamenti; OOP e OOD
Tipi di dato astratto: ADT e attributi e metodi
Incapsulamento e principio di information hiding: attributi e metodi pubblici e privati
Classi di oggetti: classi e istanze, attributi e metodi (modificatori e query)
Definire una classe: variabili istanza e metodi
Creare gli oggetti: i metodi costruttori, segnatura, esempi
Comunicazione e interazione tra oggetti: messaggi, esecuzione di un metodo, accesso agli attributi, esempi (classi
motocicletta, automobile)
Il metodo main()
Variabili istanza e variabili locali
UML: rappresentazioni grafiche di classi e istanze, esempi
Ereditarietà: superclasse e sottoclasse, ereditarietà singola e multipla, esempi
Polimorfismo
Metodi astratti e classi astratte: definizione ed esempi
Associazioni tra classi
Garbage collector e heap
EREDITARIETA'
Definizione
Gerarchie di classi: superclasse e sottoclasse
Ereditarietà per estensione e per ridefinizione (overriding)
Tipi di ereditarietà: singola e multipla
Livello di visibilità protected
Attributi, metodi e classi astratte
Richiamare i metodi delle superclassi: chiamata di un metodo della superclasse, chiamata dei metodi costruttori della
superclasse
POLIMORFISMO
Polimorfismo per metodi mediante overriding
Polimorfismo per metodi mediante overloading
IL LINGUAGGIO JAVA
Caratteristiche, portabilità, JVM
Struttura di un programma Java: esempi (classe Punto e classe Persona)
Espressioni, operandi, operatori
Package
Tipi di dati primitivi e classi wrapper
Gestione dell’input/output: System.out(), readLine(), con finestre di dialogo (classe JOptionPane)
Le eccezioni: costrutto try ... catch
L'input di dati numerici (metodi parse...())
La clausola throws
Strutture di controllo
Classi, attributi e metodi
Metodi toString() ed equals()
Creazione di oggetti e metodi costruttori: il metodo new()
Interazione tra oggetti: invocazione di un metodo, passaggio di parametri ai metodi, accesso agli attributi, metodi di tipo
get() e set()
Visibilità di attributi e metodi
Separare la classe dal programma main()
Più classi nello stesso file o in file separati
Variabili locali e variabili istanza
Passaggio di oggetti come parametri e valori di ritorno
L'oggetto corrente this
Variabili e metodi di classe (static)
Ereditarietà: extends, chiamata del costruttore e del metodo di una superclasse (super)
Metodi e classi astratte (abstract)
L'operatore instanceof
STRUTTURE DATI
Array e array di oggetti
Array come parametri e valori di ritorno dei metodi di una classe
Implementazione di una lista: operazioni (visualizzazione, inserimento, eliminazione, ricerca, ordinamento)
Lista multipla: definizione
Implementazione di una pila: operazioni (visualizzazione, inserimento, eliminazione, ricerca, ordinamento)
Implementazione di una coda: operazioni (visualizzazione, inserimento, eliminazione, ricerca, ordinamento)
Alberi: definizione, algoritmi di visita in ordine anticipato e differito (definizioni ed esempi)
Albero binario: definizione. visita in ordine simmetrico (definizione ed esempi
Albero binario di ricerca: definizione
JAVA E LA GRAFICA
Librerie AWT e SWING
Contenitori: finestra, pannello
Componenti: etichette, caselle di testo, pulsanti
Disposizione dei componenti grafici (flowlayout, borderlayout, gridlayout)
La gestione degli eventi: eventi, ascoltatori, metodi di registrazione
LA COMPLESSITA' DEGLI ALGORITMI
Spazio di memoria e tempo di esecuzione
Costo di un algoritmo: regole di valutazione (istruzioni semplici, costrutti di selezione, ciclici e iterativi)
Esempi
Complessità computazionale: definizione
IL LINGUAGGIO JAVASCRIPT
Caratteristiche
Script interni ed esterni
Variabili e operatori
Funzioni
Istruzioni di I/O: prompt(),alert(), confirm(), document.write(),
LABORATORIO
PROGRAMMAZIONE C
Sviluppo programmi con struttura sequenziale, alternativa, iterativa
Sviluppo programmi con uso di vettori, matrici e tabelle
Sviluppo di applicativi completi in C con menu di scelta, funzioni, strutture dati
Sviluppo semplici problemi di utilizzo dei puntatori con C (code, stack)
PROGRAMMAZIONE JAVA E JAVASCRIPT
L’ambiente di sviluppo NetBeans
Sviluppo di semplici programmi Java con classi
Sviluppo di programmi Java con gestione della lista, pila, coda
Sviluppo di semplici programmi Java con grafica
Sviluppo di semplici programmi JavaScipt
TESTI:
F. Formichi - G. Meini - I. Venuti
Appunti docente
GLI ALUNNI
Corso di informatica per Informatica Volume 2
I DOCENTI
PAOLA RUSSO
Zanichelli
ANTONINO LANDI