016IN - PROGRAMMAZIONE 2015
Sezione | Nome | Descrizione |
---|---|---|
Le date degli orali vengono generalmente concordate al termine della prova scritta. |
||
Aspetti organizzativi |
|
|
Lucidi |
||
Rudimenti della sintassi di Java | Qualche istruzione di Java. |
|
Ingredienti sintattici di Java |
||
Esempio di lettura da tastiera. |
||
Hello, World |
||
Hello, World No.2 |
||
Un altro esempietto minimale di programma Java |
||
Condizioni; istruzioni iterative: Es. d'uso in Java. | Lucidi su condizioni e istruzioni iterative. |
|
Due implementazioni Java di un convertitore da gradi centigradi a Fahrenheit e viceversa. |
||
Riconoscitore di numeri primi, implementato in Java in tre modi |
||
Riconoscitore di quadrati perfetti, implementato in Java in 4 modi |
||
L'uso dei connettivi logici nelle condizioni Java | Lucidi aggiornati sull'utilizzo di espressioni booleane in Java. |
|
Una classe (solo da utilizzare, ma non ancora da capire), per effettuare letture tramite un pannello. |
||
Tecnica 'ottimizzata' per stabilire se un numero sia un quadrato perfetto. |
||
Scambio di valori fra due variabili intere, effettuato tramite una XOR. |
||
Conversione di numerali in numeri e di numeri in numerali. | Lucidi sulla conversione di numerali in numeri (e vicecersa) |
|
Trasformatore di numeri in numerali sviluppato in aula (ignora i caratteri inattesi) |
||
Trasformatore di numerali in numeri (variante di quella che precede) |
||
Scomposizione di un numero naturale in somma di quattro quadrati. |
||
Programma Java che effettua la scomposizione di un numero naturale in somma di quattro quadrati. |
||
Firme dei metodi: Qualche esempio | ||
Confronto alfabetico fra stringhe, versione sviluppata in aula (provvisoria, non ancora testata): |
||
Confronto alfabetico fra stringhe: versione stabile, variante della precedente. |
||
Impiego di metodi e loro invocazione | Lucidi di approfondimento sul meccanismo d'invocazione di metodi: |
|
Lancio (pseudo)casuale di una moneta |
||
Contatore binario ad un prestabilito numero di bit |
||
Cenni sull'Architettura dei Sistemi di Elaborazione | Lucidi sull'Architettura dei Sistemi di Elaborazione (1.a parte). |
|
Esempio di programmino multi-threaded (non occorre capirlo ora, ma ci da` un esempio di cosa vuol dire 'processore virtuale') |
||
Lucidi sul livello circuitale del computer: Circuiti combinatori e un esempio di circuito sequenziale: flip-flop D |
||
Effetto collaterale su un parametro di un metodo | Lucidi sul tema: Può un metodo di Java modificare un proprio parametro? |
|
Introduzione alla programmazione ricorsiva | "Circoli viziosi": L'ABC della ricorsione |
|
Test di palindromicita` in Java |
||
Un autentico circolo vizioso deriva dall'assenza, in un metodo ricorsivo, di un caso-base; o dalla mancata riduzione a un caso-base di problemi per cui non e` prevista risoluzione immediata. Esempio: |
||
Calcolo dei coefficienti binomiali |
||
Specifica di un valutatore di espressioni che verra` affrontato lunedi` prossimo |
||
Realizzazione di un piccolo analizzatore sintattico che valuta espressioni aritmetiche | Parser per semplici espressioni aritmetiche completamente parentesizzate. Versione sviluppata in aula (con qualche correzione e aggiunta fatte dopo). |
|
Variante del piccolo parser visto sopra, sviluppato con calma in ufficio |
||
Classi di oggetti in un guscio di noce | Due domande di ripasso |
|
Lucidi sulle classi di oggetti... in un guscio di noce |
||
Esempio: classe per la rappresentazione di frazioni, con l'operazione di addizione (Versione sommaria realizzata in aula) |
||
Classe delle frazioni a numeratore e denominatore interi (versione piu` estesa di Fraz) |
||
Prime informazioni sugli array | Costruzione e riempimento del triangolo di Khayyam/Tartaglia/Pascal |
|
Esempio illustrativo di utilizzo di una bitmap, con suggerimento di alcuni esercizi da svolgere |
||
Esercizio sugli anagrammi |
||
Operazioni basilari sugli array | ||
Ordinamento ('sorting') di un array | Lucidi sugli array (informazioni generali) |
|
Ricerca tramite metodo di bisezione in un array ordinato. 'Insertion sorting', 'bubble sorting' |
||
Versione estesa della classe 'Vettori.java' della lezione del 26 ottobre: ora comprende anche un metodo di sorting; inoltre il metodo 'leggiComp' e` diventato pubblico. |
||
Soluzione di due esercizi Java proposti in occasione di prove scritte d'esame |
||
Due semplici esempi di classi di oggetti | ||
Serve al collaudo della classe Derisore specificata poco fa |
||
classe Contatore, implementata tramite un array booleano |
||
classe Contatore, implementata con un long anziche` con un array booleano |
||
class TestContatore: Impiego della classe Contatore (in una o l'altra delle due implementazioni viste sopra) per la risoluzione di un problema discusso nella precedente lezione |
||
Conto delle isole in un arcipelago. | Compito d'esame sulle isole di un'arcipelago |
|
Risolutore del compito d'esame sulle isole di un arcipelago |
||
classe Contatore sviluppata in aula. Da collaudarsi con lo stesso TestContatore che figura nell'argomento Moodle della precedente lezione |
||
Lucidi tratti dall'Horstmann sulle classi di oggetti |
||
La classe parametrica ArrayList | Lucidi introduttivi agli ArrayList |
|
Lucidi sull'ereditarieta` fra classi di oggetti |
||
Gerarchia di ereditarieta` fra classi, eccezioni, interfacce | Eccezioni |
|
Un'implementazione della classe Trabocco ('overflow' in inglese) |
||
interfacce |
||
Alcuni tracce della prova scritta di Programmazione | Prova sugli automi |
|
Prova sulla valutazione di espressioni |
||
Prova sull'individuazione di un cammino per guadare un torrente |
||
Soluzione del problema delle 8 (generalizzato a N) regine |
||
Altro compito d'esame che chiede di risolvere un problema d'instradamento |
||
Altra prova d'esame scritto |