Estendere Rialto. Esercitazione Data Mining 5 Novembre
|
|
- Carla Gasparini
- 4 anni fa
- Visualizzazioni
Transcript
1 Estendere Rialto Esercitazione Data Mining 5 Novembre
2 Obiettivi Mostrare come sia possibile sviluppare i propri moduli per estendere il tool
3 Estendere Rialto Rialto si configura come un tool di Data Mining a Plugins E possibile quindi scrivere il proprio E possibile quindi scrivere il proprio modulo (Acquisition Task, Filter Task, Model, etc.) e facilmente pluggarlo nel framework
4 Rialto SDK Per lo sviluppo di un nuovo plugin è possibile utilizzare come punto di avvio il progetto java caricato nella sottocartella Reference/Examples all interno della Rialto SDK. Questo esempio fornisce le componenti necessarie per il corretto sviluppo di un plugin, ossia: build.xml è uno script Ant che può essere usato per editare, testare ed eseguire la build del plugin;.classpath and.project.settings/org.eclipse.jdt.core.prefs definiscono le preferenze per la compilazione delle classi del plugin. E importante notare che la cartella src/main/java della cartella dell esempio è riempita con alcuni esempi di plugins, mentre src/test/java contiene le rispettive classi di test.
5 Plugin stateless e statefull In Rialto esistono 2 tipologie di plugin: Stateless, sono esecutori di compiti, come la manipolazione dei dati (es. filtri) Statefull, conservano informazioni come il modello estratto (es. modelli di mining) N.B. affinché un modello possa mantenere informazione e salvato gli oggetti contenuti al suo interno devono fornire un metodo costruttore con tutti i campi necessari per la sua corretta ricostruzione e preceduto dal Questo non è necessario per tipi primitivi
6 Esempio private Info { info" }) public MyDataStructure(final Info info) { this.info = info; } public Info getinfo(){ return info; }
7 Estendere Rialto: esempio Nella lezione sull analisi dei dati medici, si era individuata la necessità di utilizzare un filtro che combinasse 2 campi del dataset in esame Per risolvere questo problema si era deciso di utilizzare SQL Filter E tuttavia possibile scrivere un filtro dedicato proprio per questo tipo di operazioni
8 Creare Un Filtro Obiettivo: Creare un filtro aritmetico, che prenda in input una tabella e restituisca in output la stessa tabella contenente una nuova colonna il cui valore è la somma od il prodotto di altri due 2 attributi selezionati dalla tabella dei parametri N.b. I 2 attributi alla fine del processo saranno rimossi
9 Implementazione Si crea una nuova Classe ArithmeticFilter Poiché il filtro ha un solo ingresso e una Poiché il filtro ha un solo ingresso e una sola uscita questa classe estenderà Abstract1to1TableFilterTask
10 Definizione dei parametri I parametri necessari per lo sviluppo del plugin sono 3: L indice della prima colonna; L indice della seconda colonna; L operatore aritmetico da utilizzare.
11 Specificare un parametro I parametri del plugin che si sta progettando sono particolari oggetti detti PluginParameter E necessario aggiungere tanti PluginParameter quanti sono i parametri del plugin
12 Creazione dei parametri public final PluginParameter<Integer> att1index = createparameter(); public final PluginParameter<Integer> att2index = createparameter(); public final PluginParameter<Operator> operator = createparameter();
13 Annotazione dei parametri In Rialto è possibile inserire delle annotazioni sui parametri al fine di specificare informazioni o comportamenti particolari dei parametri Questa possibilità risulta utile anche nel semplice caso in esame
14 Annotazioni sui parametri Si consideri il primo parametro, possono essere aggiunte le seguenti of attribute Types = { AttributeType.INTEGER, AttributeType.DOUBLE public final PluginParameter<Integer> att1index = createparameter();
15 Descrizione delle : Permette di settare il nome del parametro che sarà poi visualizzato nella tabella dei : Permette di inserire una descrizione dei parametri che sarà visualizzata nella Permette di specificare i tipi dei campi permessi per quel parametro (Nel caso in esame : Permette di specificare che è possibile anche un valore null come valore di default per il parametro. In tal senso il settaggio del parametro è rimandato alla fase di deploy.
16 Osservazioni All atto di creazione del parametro è necessario specificare il tipo del parametro: PluginParameter<Integer> Il secondo parametro si comporta in maniera analoga al primo, in quanto ambedue permettono di selezionare un indice della tabella
17 Il parametro per la scelta dell operatore Definiamo dapprima un enumeration public enum Operator { } MULTIPLY, SUM Il tipo che specificheremo per il PluginParameter è Operator
18 PluginParameter sums and multiplications can be performed") public final PluginParameter<Operator> operator = createparameter();
19 Costruttore Nel Costruttore l unica operazione che è eseguita è il settaggio di un valore di default per il parametro operator: public DummyArithmeticFilter() { operator.setdefaultvalue(operator.sum); }
20 Metodi da implementare Per avere un corretto comportamento del filtro deve essere eseguito l override di alcuni metodi: gettargetmetadata; _executeinterruptibly.
21 gettargetmetadata Il metodo in esame permette di specificare come ricostruire i metadati che saranno settati per la tabella di output generata dal filtro: public TableMetadata gettargetmetadata() L oggetto TableMetadata non sono altro che i metadati ricostruiti per la tabella!
22 Implementazione final TableMetadata metadata = getinputmeta(); final TableMetadataBuilder builder = metadata.createbuilder(); builder.remove(metadata.getattribute(geta tt1index())); builder.remove(metadata.getattribute(geta tt2index())); builder.add(new DoubleAttribute("Operation result")); return builder.build();
23 Analisi del codice final TableMetadata metadata = getinputmeta(); Con questa operazione vengono restituiti i metadati della tabella data in input al task final TableMetadataBuilder builder = metadata.createbuilder(); Con questa operazione viene creato un Builder per i metadati, con esattamente gli stessi campi della tabella in input; builder.remove(metadata.getattribute(ge tatt1index())); Con questa operazione si rimuove dai metadati della tabella di output l indice della colonna che l utente ha specificato nel primo parametro
24 Analisi del codice builder.remove(metadata.getattribu te(getatt2index())); Con questa operazione si rimuove dai metadati della tabella di output l indice della colonna che l utente ha specificato nel secondo parametro builder.add(new DoubleAttribute("Operation result")); Con questa operazione si aggiunge in coda alla tabella una nuova colonna ossia il nuovo campo derivato di interesse
25 _executeinterruptibly Il metodo in esame permette di specificare come riempire i dati della tabella generata dal filtro: protected void _executeinterruptibly(final TaskExecutionSupport taskexecutionsupport) throws InterruptedException
26 _executeinterruptibly Questo metodo sarà invocato automaticamente all esecuzione del task E passato come parametro un oggetto TaskExecutionSupport per permettere a colui che sviluppa il plugin di gestire l interruzione dell esecuzione nel caso che l utente decida di stoppare il task da Interfaccia
27 Implementazione final WriteableTable outtable = getoutputtable(); Tabella di output di sola scrittura final ReadableTable intable = getinputtable(); Tabella di input sulla quale possiamo leggere
28 Implementazione //Scorriamo la tabella di input for (final ReadableRow inrow : intable) { //Aggiungiamo una nuova riga vuota alla //tabella final ReadWriteRow outrow = outtable.getnewrow(); //Inizializziamo gli indici int outindex = 0; double value1 = 0; double value2 = 0;
29 Implementazione //Scorriamo gli indici delle colonne e riempiamo la riga con gli opportuni valori for (int inindex = 0; inindex < intable.getnumattributes(); inindex++) { if (inindex == getatt1index()) { value1 = inrow.getvalue(inindex); } } else if (inindex == getatt2index()) { value2 = inrow.getvalue(inindex); } else { outrow.copyrowvalue(outindex++, inrow, inindex); }
30 Implementazione //Settiamo il valore della //nuova colonna } final double result = evaluateresult(value1, value2); outrow.setvalue(outindex, result); outtable.appendrow(outrow);
31 Metodi di utilità protected double evaluateresult(final double val1, final double val2) { if (getoperator() == Operator.SUM) { return val1 + val2; } return val1 * val2; } protected int getatt1index() { return att1index.getvalue(); } protected int getatt2index() { return att2index.getvalue(); } protected Operator getoperator() { return operator.getvalue(); }
32 Operazioni di deploy del plugin Come ultima operazione è necessario modificare il file xml di configurazione aggiungendo la nuova extension nella sezione dei filtri: <es:extensionpoint> <es:name>nomedelnuovofiltro</es:name> <es:class>.class</es:class> </es:extensionpoint>
33 Utilizzo E ora possibile trascinare il nuovo filtro dall Extension Viewer nell area di lavoro: Task -> Filter -> NomeDelFiltro Selezionandolo, la relativa tabella dei parametri viene visualizzata all utente
34 Dipendenze fra i parametri E possibile introdurre dipendenze dai parametri: È possibile infatti che in alcuni casi dei È possibile infatti che in alcuni casi dei parametri diventino ininfluenti per la corretta esecuzione del plugin e che sia per cui disattivati da interfaccia
35 Esempio Supponiamo di avere 2 PluginParameters parameter1 e parameter2 L obiettivo e quello di disattivare parameter1 se parameter2 assume un particolare valore (per semplicità assumiamo che questi valori varino tra i valori di un enumeration come nel caso dell operator visto in precedenza)
36 Esempio Il codice per aggiungere questo vincolo deve essere inserito nel costruttore della classe: parameter1.dependson(parameter2. beingoneof(parameter2.enumeratio nvalue));
SQL Server Integration Services. SQL Server 2005: ETL - 1. Integration Services Project
Database and data mining group, SQL Server 2005 Integration Services SQL Server 2005: ETL - 1 Database and data mining group, Integration Services Project Permette di gestire tutti i processi di ETL Basato
DettagliEsercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
DettagliLe classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:
Le classi in java Un semplice programma java, formato da una sola classe, assume la seguente struttura: class Domanda static void main(string args[]) System.out.println( Quanti anni hai? ); La classe dichiarata
DettagliInterfacce. Esempio: interfaccia I con una sola funzione g() public interface I {
Interfacce Una interfaccia è un astrazione per un insieme di funzioni pubbliche delle quali si definisce solo la segnatura, e non le istruzioni. Un interfaccia viene poi implementata da una o più classi
DettagliProva d Esame Compito A
Prova d Esame 19.07.2005 Compito A Domanda 1 A) Si richiede di analizzare le seguenti sezioni di codice. Il candidato indichi il risultato dell esecuzione del main. public class Father { private int counter;
DettagliProva d Esame Compito A
Prova d Esame 19.04.2005 Compito A Domanda 1 A) Si richiede di analizzare le seguenti sezioni di codice. Il candidato indichi il risultato dell esecuzione del main. public class Father { private int counter;
DettagliEsempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e polimorfismo
Esempi al calcolatore su: 1) 2) Subtyping e polimorfismo 1 Esempio 1: 2 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il
DettagliEsempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e Polimorfismo
Esempi al calcolatore su: 1) 2) Subtyping e Polimorfismo 1 Esempio 1: 2 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il
DettagliEsercitazione n 2. Obiettivi
Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe/array Uguaglianza tra oggetti Utilizzo di classi come componenti
DettagliEsercitazione n 2. Obiettivi
Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA8 B1 Accesso sequenziale 1 Prerequisiti Programmazione ad oggetti Conoscenza classi di base di I/O Tecnica della programmazione 2 1 Introduzione In questa Unità vediamo
DettagliFondamenti di informatica T-1 (A K) Esercitazione 9: array
Fondamenti di informatica T-1 (A K) Esercitazione 9: array AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Esercitazione 9 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del
DettagliEsercitazione Google Maps
Esercitazione Google Maps Esercizio 1 Visualizzare i risultati della API comuni.php su una mappa geografica. Soluzione Come prima cosa, occorre creare una chiave di utilizzo della libreria Google Maps.
DettagliEsame Laboratorio di Programmazione
Esame Laboratorio di Programmazione 20 Giugno 2014 NOA Non è possibile usare le classi del package prog.io del libro di testo L obiettivo è scrivere una applicazione che permette di costruire delle torri
DettagliBasi di dati Applicazioni web in PHP per l interrogazione di basi di dati Laboratorio #5
Basi di dati Applicazioni web in PHP per l interrogazione di basi di dati Laboratorio #5 Politecnico di Torino 21 maggio 2019 Introduzione Questa esercitazione ha come obiettivo quello di realizzare una
DettagliADT Dizionario. Come nella Mappa: Diversamente dalla Mappa:
Come nella Mappa: un Dizionario è un contenitore di elementi del tipo (k,v) dove k è la chiave e v è il suo corrispondente valore. ogni elemento (k,v) viene detto entrata (entry) del Dizionario. chiavi
DettagliEsempio: Costruttori ed ereditarietà
Esempio: 1 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il costruttore di default (quello senza parametri) Se in un costruttore
DettagliDefinizione di classi. Walter Didimo
Definizione di classi Walter Didimo Definizione di classi Fino ad ora abbiamo imparato a: creare oggetti da classi già pronte usare gli oggetti creati, invocando metodi la creazione e l uso di oggetti
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA4 B3 Documentazione 1 Prerequisiti Programmazione elementare ad oggetti Documentazione del software Tipi di documentazione 2 1 Introduzione Lo scopo di questa Unità
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Interfaccia Comparable e Collezioni Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 22 Interfaccia
DettagliTipi riferimento e stringhe
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 8 Tipi riferimento e stringhe A. Miola Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Tipi riferimento e stringhe 1
DettagliLe liste. Le liste linkate
Le liste Le liste linkate Molto spesso bisogna gestire insiemi di oggetti dello stesso tipo. Un modo molto semplice per tenere in memoria tali insiemi consiste nel creare un array per contenerli. Nome
DettagliRaccolta di tutorial Python #1: basi e Tkinter dal sito francescomilanese.com SOMMARIO
Prima parte: le basi di Python 1. Introduzione. Cosa ci serve, cosa è richiesto, cosa faremo. Note sull'indentazione 1 Introduzione 1 Scrittura degli script: l'idle 2 Importare moduli in uno script 3 I
Dettagli{4, 4, 2, 9, 13} {2, 2, 9, 13, 0} {0, 4, 2, 9, 13} {2, 9, 13, 0, 0}
16181 Nome Cognome A domande a risposta multipla con n scelte, la risposta corretta vale (n-1)/n*difficoltàdomanda, la risposta errata -1/n*difficoltà domanda, la risposta non data. Eseguendo il frammento
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Classi e Oggetti Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 19 CLASSE: definizione Costrutto
DettagliLa Back Office Console consente di costruire lo scheletro degli schema.
BACK OFFICE CONSOLE 1.1 Introduzione 3 1.2 Creazione di uno Schema 4 1.2.1 Struttura dello Schema 5 1.2.2 Caratteristiche dei campi 6 1.2.3 Traduzioni 8 1.3 Ricerca degli schema 8 1.4 Gestione delle Categorie
DettagliClassi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array
Classi e array Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Si vuole definire una classe Polinomio per la rappresentazione di polinomi a
DettagliEsercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)
Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici
DettagliLaboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 4 24/10/2013
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 4 24/10/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University
DettagliGestione della configurazione Input/Output PLC Cosa c'è di nuovo?
Gestione della configurazione Input/Output PLC Cosa c'è di nuovo? Indice I. Avviare il Configuration Manager... 3 II. Nuova interfaccia dell'utente... 3 III. Importazione di nuovi formati di configurazione...
DettagliGuida introduttiva su Eclipse. Ing. Marco Dell'Unto marco.dellunto@iet.unipi.it
Guida introduttiva su Eclipse Ing. Marco Dell'Unto marco.dellunto@iet.unipi.it Introduzione Eclipse è un ambiente di sviluppo (IDE) multilinguaggio e multipiattaforma scritto in Java. E Open Source. Può
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione VIII Tatiana Zolo tatiana.zolo@libero.it 1 PROGRAMMAZIONE A OGGETTI Quando si programma a oggetti si scompone il problema in sottogruppi di parti collegate che tengono
DettagliProgrammazione Java Avanzata Programmazione Object- Oriented in Java
Programmazione Java Avanzata Programmazione Object- Oriented in Java Ing. Gianluca Caminiti Testi di Riferimento (Java) Cay Horstmann Concetti di informatica e fondamenti di Java Apogeo, 2007 (Versione
DettagliEsercizio. Strutture Dati
Esercizio Si scriva un metodo public Position sibling(position v) che preso in input un nodo v restituisca il fratello di v. Il metodo dovrà lanciare una BoundaryViolationException nel caso in cui
DettagliLa struttura dati CODA
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 La struttura dati CODA Pietro Di Lena - pietro.dilena@unibo.it Introduzione Una coda (o queue) è una struttura dati astratta
DettagliStrutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05
Strutture dati Il che cosa e il come Il che cosa ed il come Struttura dati: descrive come sono organizzati i dati e come sono realizzate le operazioni su di essi (cioe come si accede ai dati) Specifica
DettagliLe liste. Prof. Francesco Accarino IIS Sesto San Giovanni Via Leopardi 132
Le liste Prof. Francesco Accarino IIS Sesto San Giovanni Via Leopardi 132 Le Liste Le liste non sequenziali (concatenate) sono costituite da elementi che vengono memorizzati in memoria centrale non uno
DettagliCorso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)
Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami
DettagliA livello fisico, un istanza di base di dati Oracle è composta. Gubiani & Montanari Oracle Database 3
Oracle Database Express Edition Donatella Gubiani e Angelo Montanari Gubiani & Montanari Oracle Database 1 (Oracle XE) è una versione gratuita della base di dati È facile da installare e gestire Può essere
DettagliSul pattern Iterator
Sul pattern Iterator 1 Introduzione Capita spesso di aver a che fare con strutture dati complesse, come ad esempio, liste, code, ecc. È buona norma accedere a queste strutture senza esporre la loro organizzazione.
DettagliBasi di Dati. Applicazioni web in PHP per l interrogazione di basi di dati. Esercitazione n. 5
Basi di Dati Applicazioni web in PHP per l interrogazione di basi di dati Esercitazione n. 5 Questa esercitazione ha come obiettivo quello di realizzare una semplice applicazione web basata su PHP per
DettagliProgrammazione orientata agli oggetti La classe Object, metodi e classi final, this. Object
Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza
DettagliProgrammazione orientata agli oggetti La classe Object, metodi e classi final, this. Object
Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza
DettagliProgrammazione orientata agli oggetti La classe Object, metodi e classi final, this. Object
Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza
DettagliJava Gli array. Array
Java Gli array 1 Gli array In generale un array è una sequenza di locazioni di memoria, che contengono entità dello stesso tipo, e a cui si può fare riferimento con un nome comune Le entità che compongono
Dettagli19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso
DettagliFondamenti di Informatica T1 Interfaccia Comparable Collezioni
Fondamenti di Informatica T1 Interfaccia Comparable Collezioni Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 19 Interfaccia Comparable Fa
DettagliClasse Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi:
Classe Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi: Vettore(int n): crea un oggetto Vettore contente n elementi, inizializzati
DettagliWebDisk. TeamPortal - WebDisk
- INDICE Introduzione... 3 1.1 Funzioni disponibili... 4 1.2 Gestione e Consultazione... 4 1.3 Ricerca... 8 1.4 Amministrazione, direttori esterni... 10 2 Introduzione L'applicazione permette di gestire
DettagliRaccolta e memorizzazione dei dati immessi nei moduli dai visitatori
Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori Per impostazione predefinita, i risultati dei moduli vengono salvati
DettagliEsempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e Polimorfismo
Esempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e Polimorfismo 1 Esempio 1: Costruttori ed ereditarietà Costruttori ed ereditarietà 2 Introduzione Java prevede due automatismi legati
DettagliINFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 6 Dott. Michele Zanella Ing. Gian Enrico Conti
INFORMATICA A Titolo presentazione sottotitolo A.A. 2018-19 Milano, XX mese 20XX Laboratorio n 6 Dott. Michele Zanella Ing. Gian Enrico Conti Ricorsione La ricorsione è un approccio per la risoluzione
DettagliStrutture come parametri di funzioni
Strutture come parametri di funzioni int main() { struct PolReg { int numlati; float lunghezzalato; PolReg p1; p1.numlati = 3; p1.lunghezzalato = 10.0; float perimetro = p1.numlati * p1.lunghezzalato;
DettagliProgrammazione ad oggetti
Programmazione ad oggetti OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale.
DettagliProva d Esame Compito A
Domanda 1 A) Si richiede di analizzare le seguenti sezioni di codice. Il candidato indichi il risultato dell esecuzione del main. public class Father { private static int counter=0; private int code; public
DettagliImplementazione di DFA in C
Implementazione di DFA in C Dispensa di Laboratorio di Linguaggi di Programmazione Sommario Corrado Mencar, Pasquale Lops, Stefano Ferilli Questa dispensa fornisce le linee guida per l implementazione,
DettagliFondamenti di Informatica
Fondamenti di Informatica (L-Z) Corso di Laurea in Ingegneria Gestionale Object Oriented Programming: Fondamenti Prof. Stefano Mariani Dott. Alket Cecaj Indice Introduzione all OOP Classi vs. oggetti Campi
DettagliAutomazione di test. Si presuppone la conoscenza del documento XML.pdf. Un package per i test automatizzati
Automazione di test Si presuppone la conoscenza del documento XML.pdf. Un package per i test automatizzati Il package test (fornito completo nel file test.zip) permette di automatizzare una serie di test.
DettagliMANUALE MODULO WIDGET EVENT TRACKING LICENZA SaaS
MANUALE MODULO WIDGET EVENT TRACKING LICENZA SaaS Revisione 1.0 Beta Ultimo Aggiornamento: 07/12/2010 SOMMARIO Panoramica... 3 Gli eventi tracciati... 3 I report... 4 Struttura... 4 Report / Object...
DettagliEreditarietà. Ereditarietà. Ereditarietà. Ereditarietà
L ereditarietà è il meccanismo attraverso cui viene implementata la relazione di specializzazione (is-a). L ereditarietà è il meccanismo attraverso cui una classe (derivata) eredita da un altra classe
DettagliPG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20
PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20 Introduzione Materiale richiesto Notebook o computer Controllore PCD1 E Cavo USB Scheda «Training»
DettagliEsercitazione n 2. Obiettivi
Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti
DettagliDichiarazione di una classe. Dichiarazione ereditarietà
Introduzione Il Java è un linguaggio di programmazione orientato agli oggetti (OOL), perché permette di realizzare in un programma tutti i concetti alla base dell OOP quali: l astrazione dei dati, mediante
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA8 B2 Accesso diretto 1 Prerequisiti Programmazione ad oggetti Conoscenza classi di base di I/O Tecnica della programmazione Organizzazione ed accesso ai file 2 1 Introduzione
DettagliGESTIONE DEGLI ERRORI
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori
DettagliGESTIONE DEGLI ERRORI
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori
DettagliE17 Esercizi sugli Array in Java
E17 Esercizi sugli Array in Java Esercizio 1 (esercizio 9.1 del libro di testo). Implementare un metodo statico di nome stringacorta che prende come parametro un array di oggetti String e che restituisce
DettagliJava: Definire Classi e Creare Oggetti
Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica lezione del 21 marzo 2014 Introduzione Programmare con gli Oggetti Un programma Java è costituito
DettagliJQuery. <script src=" </script> <script src= js/main.
JQuery Esercizio 1 Implementare un applicazione Web lato client che visualizzi il risultato delle API comuni.php e popolazione.php sottoforma di tabella. In particolare, nel caso della comuni.php prevedere
DettagliLaboratorio di informatica Ingegneria meccanica
Laboratorio di informatica Ingegneria meccanica Lezione 7 19 novembre 2007 Concetto di modulo di un programma (1) Lo sviluppo di programmi complessi avviene tipicamente per composizione di moduli, ognuno
DettagliListe a puntatori: un esercizio passo passo
Liste a puntatori: un esercizio passo passo Prof. Orazio Mirabella Liste a puntatori: un esercizio passo passo (for dummies) Prof. Orazio Mirabella 1 Ripassiamo le Liste lineari Una lista lineare è una
DettagliOggetti. La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto.
Classi e oggetti Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto. OOP Vantaggi facilità di lettura e di comprensione
DettagliScopo del progetto è la costruzione di un compilatore per il linguaggio descritto qui di seguito.
Corso di Linguaggi e Traduttori Anno Accademico 2017 2018 Prof. Giovanni Pighizzini Progetto d esame Scopo del progetto è la costruzione di un compilatore per il linguaggio descritto qui di seguito. Variabili
DettagliCorso di PHP. Prerequisiti. 8.1 PHP e MySQL. Conoscenza MySQL Tecnica della programmazione
Corso di PHP 8.1 PHP e MySQL 1 Prerequisiti Conoscenza MySQL Tecnica della programmazione procedurale ad oggetti Principi di programmazione web Programmazione elementare in PHP 2 1 Introduzione In questa
DettagliIMPORTAZIONE PRESENZE DA RILEVATORI ELETTRONICI. tramite file tracciato
IMPORTAZIONE PRESENZE DA RILEVATORI ELETTRONICI tramite file tracciato 1. Associazione del numero di badge ai nominativi Il programma PowerDIP consente di importare le presenze acquisiste con i rilevatori
Dettagli18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
18 - Vettori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it Corso di
DettagliProgetto di Computer Forensics
Biondi Elisa Zaccaria Damiano Progetto di Computer Forensics Plugin per ImageJ: Fourier Elaboration Corso di Laurea in Informatica. A.A. 2010-2011 Introduzione Il progetto realizzato consiste nell implementazione
DettagliUso di classi e oggetti. Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni
Uso di classi e oggetti Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Tipi di dati Tipi primitivi: interi Java fornisce otto tipi primitivi indipendenti dall implementazione
Dettagli1. Introduzione 3 / 27
BACKOFFICE CONSOLE 1. Introduzione... 3 2. Creazione di uno Schema... 4 2.1 Struttura dello Schema... 5 2.2 Caratteristiche dei campi... 6 2.3 Traduzioni... 8 2.4 Ricerca degli schema... 9 2.5 Gestione
DettagliLaboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona
Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario Cicli Concetti di base (MATrix LABoratory) programma interattivo per calcolo
DettagliFile ad accesso diretto funzioni Hash Parte1. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
File ad accesso diretto funzioni Hash Parte1 Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Esercitazione: Si vuole sviluppare una applicazione come quella mostrata nella figura in cui
DettagliAgenda. Agenda. Credenziali. Configurazione del Proxy (1/2) Configurazione del Proxy (2/2) Fondamenti di Informatica T2 Modulo 2
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 2 Credenziali Come si accede ai PC dei
DettagliInoltrare un messaggio.
Reti informatiche 359 7.5.3.9 Inoltrare un messaggio. È possibile spedire ad altri un messaggio inviato o ricevuto in precedenza. Al destinatario verrà recapitato il messaggio originale nel quale compariranno
DettagliESERCIZIO 1 (FILE DI TESTO)
ESERCIZIO 1 (FILE DI TESTO) Scrivere su un file di testo righe inserite da console, fino a quando non viene inserita la linea vuota. Passare il nome del file come parametro al programma. Bisogna incapsulare
DettagliStrutture. Array dei nomi degli esami (MAX ESAMI è il massimo numero degli esami). Array con i crediti degli esami.
Consideriamo l esercizio assegnato la scorsa lezione per rappresentare il libretto di uno studente. Per memorizzare i dati si sono utilizzati tre array: char* nomiesami[max ESAMI] Array dei nomi degli
DettagliArray. Walter Didimo
Array Walter Didimo Un problema ricorrente Gli strumenti di programmazione che abbiamo visto sin qui non sono ancora sufficienti per risolvere tutti i problemi di base Consideriamo ad esempio il seguente
DettagliInizializzare oggetti
Inizializzare oggetti Uso della Classe Software per TLC - AA 2008/2009 1 Costruttori e polimorfismo Uso della Classe Un codice migliore Software per TLC - AA 2008/2009 2 Costruttori ed Ereditarietà Output:
DettagliC# delegates. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 1. Delegate
C# delegates Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 1 Delegate I delegati possono essere visti come definizioni di tipi per puntatori a funzione. Permettono di
DettagliProgrammazione con Java
Programmazione con Java Classi e istanze in Java Definizione di classe in Java A meno che non si usino classi già scritte da altri, prima di poter creare un qualsiasi oggetto devo creare la sua rappresentazione:
DettagliPerché il linguaggio C?
Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare
DettagliAlma Mater Studiorum Università di Bologna. Scuola di Ingegneria e Architettura. Tecnologie Web T. Esercitazione Riepilogo
Alma Mater Studiorum Università di Bologna Scuola di Ingegneria e Architettura Tecnologie Web T Esercitazione 09 Riepilogo Home Page del corso: http://www-db.disi.unibo.it/courses/tw/ Versione elettronica:
DettagliFondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Agenda
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 PASSO 0 Agenda Informazioni di servizio
DettagliQuaderno 4: Progetto di una base di dati e realizzazione di un applicazione web
Basi di Dati Quaderno 4: Progetto di una base di dati e realizzazione di un applicazione web 1 Creazione della base di dati Realizzare la base di dati per la registrazione delle gare tenutesi nei diversi
Dettagli