053EC - ELABORAZIONE AUTOMATICA DEI DATI 2020
Schema della sezione
-
INIZIO CORSO
LUNEDI' 1 MARZO 2021
-
-
Argomenti in via di svolgimento (soggetti a modifiche)
Introduzione a SageMath; modalità di accesso a SageMath; operatori aritmetici; funzioni numeriche di base; funzioni matematiche fondamentali; risultati esatti ed approssimazioni; operatori di confronto; variabili simboliche; solve; funzioni max e min simboliche; limiti; derivazione; integrazione indefinita e definita; espressioni simboliche; funzioni simboliche; conversione di espressioni simboliche in funzioni simboliche; assumptions; semplificazioni; funzioni statistiche elementari; disegno di grafici.
Per il dettaglio sugli argomenti svolti si faccia riferimento al materiale fornito (slide usate nel corso).
Per eventuali approfondimenti si può fare riferimento in generale al Capitolo 1 del testo di Paul Zimmermann et al. - Computational Mathematics with SageMath sopra indicato.
-
Caricato il 27/04/2021 09:55
-
-
Argomenti in via di svolgimento (soggetti a modifiche)
Universi e coercizione; variabili Python e variabili simboliche; reset/restore/del di variabili; esempio di studio di una funzione in una variabile; esempio di ricerca degli estremi di una funzione in due variabili; liste; indicizzazione e slicing di liste; creazione e modifica di liste; operazioni su liste; insiemi; stringhe; istruzioni if elif if, while e for; list comprehension; sum; diversi tipi di range; definizione di funzioni; principi di base della programmazione funzionale; map; filter; espressione lambda; dizionari; la ricorsione; la successione di Fibonacci ricorsiva ed iterativa; ricerca degli zeri di una funzione: l'algoritmo di bisezione e la sua convergenza.
Oltre al materiale fornito si può fare riferimento in generale al Capitolo 2 del testo di Paul Zimmermann et al. - Computational Mathematics with SageMath sopra indicato.
-
Caricato il 27/04/2021 09:57
-
-
Argomenti svolti
Le classi in Java; tipi di dati ed operatori in Java; conversioni tra tipi di dati; costanti; costanti statiche; classe Math; metodi statici; stringhe; sottostringhe; input con Scanner e con box di dialogo; output con box di dialogo; esempio di costruzione di una classe; costruttori; campi di esemplare e variabili locali (definizione, visibilità e durata di vita); definizione di metodi; il garbage collector; l'uso di JComponent per il disegno in un JFrame; l'uso di un JPanel per il disegno in un JFrame in NetBeans; analisi di un esempio di documentazione di una classe Java; alcune classi con interfaccia Shape e strumenti di disegno; la classe Color e il suo uso; uso di JList da solo e in abbinamento con un pulsante; passaggio di dati tra classi tramite interfaccia pubblica; metodi di accesso; metodi di tipo get e set; ripasso: strutture if e if else, strutture di ciclo while, do while, for; metodi predicativi; uso di variabili booleane come flag; JColorChooser.
-
Esempio di progetto per la gestione di un conto corrente bancario semplificato
-
Esempio di progetto per la gestione di un conto corrente semplificato con alcune modifiche
-
Caricato il 17/03/2021 18:07
-
Argomenti svolti
Interfacce e loro impiego; la classe AffineTransform e l'interfaccia Shape; interfacce di smistamento; gestione degli eventi in Java; sorgente, ascoltatore di evento ed uso delle interfacce; interfaccia ActionListener; classi interne e loro uso; esempi di gestione di eventi; modalità di gestione eventi in NetBeans; esempio di classe interna anonima; esempio di oggetto e classe interna anonima; classe javax.swing.Timer e gestione eventi; eventi del mouse ed interfaccia MouseListener.
-
Argomenti svoltiEreditarietà e sua caratteristiche; variabili di istanza ereditate e non ereditate; metodi ereditati; ridefinizione di metodi; sovraccaricamento di metodi; uso di super per la chiamata di metodi della superclasse; uso di super per chiamare un costruttore della superclasse; conversioni tra sottoclasse e superclasse, polimorfismo; ereditarietà dalla classe Object; i metodi ereditati da Object toString, equals e clone.
-
Argomenti svoltiArray ed ArrayList in Java; principali metodi degli ArrayList; classi involucro; auto-impacchettamento e auto-spacchettamento; ciclo for generalizzato (for each); conteggio di elementi, ricerca e determinazione di massimo e minimo in un ArrayList; array 2-dimensionali; clonazione di array; copiatura di array (system.arraycopy); inserire e rimuovere un elemento in un array; incremento di dimensione di un array; array paralleli ed oggetti; array parzialmente riempiti.
-
Un poligono è una curva chiusa formata da segmenti che ne congiungono i vertici.
Si realizzi una classe Poligono i cui metodi public double perimetro() e public double area() calcolino, rispettivamente, il perimetro e l'area di un poligono.
Per calcolare il perimetro, si sommi la distanza fra punti adiacenti.
L'area di un poligono con vertici (x0,y0),...,(xn-1,yn-1) è data dal valore assoluto di
(1/2)*(x0y1+x1y2+...xn-1y0-y0x1-y1x2-...-yn-1x0)
I vertici del poligono saranno memorizzati in un array list di oggetti Point2D.Double, che costituirà la variabile di istanza della classe Poligono.
La classe Poligono dovrà contenere inoltre i metodi public void add(Point2D.Double aPoint) e public void draw(Graphics2D g2), che consentono rispettivamente di aggiungere un punto ad un poligono e di disegnare il poligono stesso.
Si rifaccia poi l'esercizio precedente, senza creare una classe Poligono ma utilizzando invece la classe Polygon già esistente nel package java.awt, che definisce i vertici del poligono per mezzo di coppie di punti. In questo caso si usi dunque l'ereditarietà.
-
Argomenti svolti
Lettura e scrittura di file di testo (FileReader, Scanner, PrintWriter); ciclo di lettura di un file di testo; finestra di dialogo file (JFileChooser); eccezioni; distinzione tra eccezioni verificata e non verificate; throw; throws; try catch finally, serializzazione; il passaggio dei parametri nei metodi per valore e per riferimento.