Programma svolto per la materia Informatica

ANNO SCOLASTICO 2014/2015
CLASSE 3° IC
Programma svolto per la materia Informatica
1°)
Gli algoritmi e le loro proprietà. Introduzione alla programmazione strutturata. Istruzioni
operative e di controllo: sequenza, selezione ed iterazione. Gli strumenti di sviluppo di un
programma: editor, assemblatori, compilatori, interpreti, debugger, librerie e guide in linea.
2°)
Breve storia e principali caratteristiche del linguaggio Java. Le costanti letterali di tipo
booleano, carattere, stringa, intero e reale. La dichiarazione delle variabili di un programma.
I tipi primitivi boolean, char, short, int, long, float e double. Le espressioni e gli operatori
unari. Gli operatori aritmetici, relazionali e logici: ordine di precedenza e associatività.
3°)
Le istruzioni del linguaggio Java: l'istruzione nulla, l'istruzione semplice, la sequenza e
l'istruzione if. Le istruzioni switch, while e break. Le istruzioni do-while e for; esempi di
cicli annidati. Le istruzioni break e continue. La sintassi generale delle istruzioni del
linguaggio Java.
4°)
Scrittura sul video e lettura da tastiera di informazioni in linguaggio Java. Promozioni e
retrocessioni di tipo; gli operatori di assegnazione. La tabella di traccia dell'esecuzione di un
programma. L'API di Java: i package e le classi, gli oggetti e le variabili di tipo riferimento.
5°)
L'operatore di concatenazione di stringhe ed i principali metodi della classe String. Esempi
di programmi che operano sulle stringhe. Creazione ed inizializzazione di un vettore.
Dichiarazione di variabili di tipo riferimento e accesso agli elementi di un vettore. Esempi di
programmi che operano sui vettori.
6°)
Gli algoritmi di ricerca sequenziale e binaria. Tecniche di ordinamento degli elementi di un
vettore: ordinamento per inserimento, per selezione e per scambio. Dichiarazione di costanti
simboliche e di vettori a più dimensioni, Rappresentazione in memoria di una matrice in
linguaggio Java.
7°)
Definizione ed invocazione di metodi statici in linguaggio Java. L'overloading di un metodo
statico. I metodi statici di tipo void e le variabili statiche. La ricorsione diretta ed indiretta.
Esempi di definizione di metodi ricorsivi in linguaggio Java. Gli algoritmi di ordinamento
ricorsivi merge-sort e quick-sort.
8°)
Introduzione alla OOP: definizione di oggetti, campi e metodi statici e non statici. Oggetti
varianti ed invarianti. L'incapsulamento di oggetti, il concetto di ereditarietà tra classi, la
ridefinizione dei metodi ed il polimorfismo. Il costruttore di una classe e le parole chiave
this e super.
9°)
I modificatori d'accesso private, package, protected e public. I modificatori delle classi, dei
campi, dei metodi e dei costruttori di una classe. Le classi astratte e le interfacce. Esempi di
definizione ed implementazione di interfacce. Il diagramma delle classi di un programma.
10°)
Anomalie di funzionamento di un programma: errori ed eccezioni controllate ed
incontrollate. La gerarchia delle eccezioni del linguaggio Java. La clausola throws e le
istruzioni throw e try-catch. Lettura e scrittura di file di caratteri in linguaggio Java.
ANNO SCOLASTICO 2014/2015
CLASSE 3° IC
Laboratorio d'Informatica:
1.
I linguaggi di programmazione a basso e ad alto livello compilati ed interpretati: esempio
d'implementazione di un programma con il Java Development Kit.
2.
L'ambiente di sviluppo integrato Jcreator: sviluppo, in linguaggio Java, di un programma che
calcola la circonferenza e l'area di un cerchio.
3.
Indentazione ed inserimento di commenti nel testo di un programma: sviluppo, in linguaggio
Java, di un programma che calcola le radici di un'equazione di secondo grado.
4.
Lo stile di codifica di un programma: sviluppo, in linguaggio Java, di un programma che
stampa tutti i numeri da 1 a 999 sia in cifre che in lettere.
5.
Sviluppo di un programma che stampa tutti i numeri romani da uno a 999.
6.
Sviluppo di un programma che stampa tutti i numeri primi minori di 1000.
7.
Sviluppo di un programma che stampa tutti i numeri primi gemelli minori di 1000.
8.
Sviluppo di un programma che esegue la moltiplicazione tra due numeri interi con il metodo
delle addizioni successive.
9.
Sviluppo di un programma che esegue la divisione intera tra due numeri con il metodo delle
sottrazioni successive.
10. Sviluppo di un programma che calcola il quadrato di un numero naturale.
11.
Sviluppo di un programma che calcola la parte intera della radice quadrata di un numero
naturale.
12. Sviluppo di un programma che analizza il contenuto di una stringa di caratteri digitati alla
tastiera dall'utente.
13. Sviluppo di un programma che sostituisce tutte le occorrenze di una particolare parola in una
stringa.
14. Sviluppo di un programma che esegue la fusione delle parole di due stringhe.
15. Sviluppo di un programma che legge dalla tastiera ed ordina tutti gli elementi di un vettore.
16. Sviluppo di un programma che esegue la fusione di due vettori ordinati.
17. Sviluppo di un programma che calcola i valori massimo, minimo e medio di un vettore di
numeri interi.
18. Sviluppo di un programma che esegue l'intersezione di due vettori di numeri interi.
19. Codifica in linguaggio Java degli algoritmi di ricerca sequenziale e binaria.
20. Sviluppo di un programma che prova e confronta le principali tecniche di ordinamento di un
vettore.
21. Sviluppo di un programma che ricerca i massimi relativi di una matrice.
22. Sviluppo di un programma che implementa al computer il "gioco del quindici".
23. Soluzione del problema delle torri di Hanoi con la tecnica "divide et impera".
24. Sviluppo di un programma che implementa al computer il "gioco del tris".
25. Sviluppo di un programma che esegue la somma di due matrici.
26. Sviluppo di un programma che esegue il prodotto di due matrici.
ANNO SCOLASTICO 2014/2015
CLASSE 3° IC
27. Sviluppo di un programma che risolve un sistema di “n” equazioni lineari in “n” incognite.
28. Sviluppo di una classe che implementa un insieme di metodi sulle matrici quadrate.
29. Implementazione e collaudo della classe "PoligonoRegolare".
30. Implementazione e collaudo della classe "Poligono".
31. Implementazione e collaudo della classe "Triangolo".
32. Implementazione e collaudo della classe "Data".
33. Lettura, elaborazione e scrittura di file sequenziali in linguaggio Java.
34. Fusione di due file sequenziali ordinati in linguaggio Java.
Riferimenti bibliografici:
1. G. Callegarin: "Java, Oggetti e Strutture Dati", CEDAM scuola (De Agostini).
2. M. Tarquini, A. Ligi: "Java mattone dopo mattone".HOEPLI Milano.
3. M. Bertacca, A Guidi: "Introduzione a Java", McGraw-Hill Education Italia.
4. C.Horstmann: "Concetti di informatica e fondamenti di Java", APOGEO.
5. T. Cormen et al: "Introduzione agli algoritmi e strutture dati", Mc Graw Hill, 3a edizione.
6. P. Coppola, S. Mizzaro: "Laboratorio di programmazione in Java", APOGEO.
Gli insegnanti:
Gli alunni: