Automazione di test. Si presuppone la conoscenza del documento XML.pdf. Un package per i test automatizzati
|
|
- Albino Colli
- 4 anni fa
- Visualizzazioni
Transcript
1 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. Per semplificare l implementazione possiamo scrivere in una classe astratta AbstractTest tutto il codice indipendente dal tipo di prova. package test; import java.io.*; import java.util.*; public abstract class AbstractTest { private XMLBatch data; private PrintWriter out = null; private String res, time, mem; protected Report reportt, reportm; protected Map<String, String> H; protected AbstractTest(String input, String output) { try { this.out = new PrintWriter(new BufferedWriter(new FileWriter(output))); catch (IOException e) { e.printstacktrace(); this.data = new XMLBatch(input); this.reportt = new Report(); this.reportm = new Report();
2 public void doalltests() { for (Map<String, String> h : data) { this.h = h; System.out.println(" input data: " + H); pre(); inittime(); go(); time =asktime() + "s"; mem = askmemory() + "M"; post(); res = getres(); if (!res.equals("ok")) { out.println(" input data: " + H); out.println(" result: " + res); out.println(" time: " + time + " memory: " + mem); out.flush(); protected abstract void pre(); protected abstract void go(); protected abstract void post(); protected abstract String getres(); public void printreport() { String[][] res = reportt.getreport(); out.println("tempo"); for (int i = 0; i < res.length; i++) { for (int j = 0; j < res[0].length; j++) out.print(res[i][j]); res = reportm.getreport(); out.println("memoria"); for (int i = 0; i < res.length; i++) {
3 for (int j = 0; j < res[0].length; j++) out.print(res[i][j]); out.close(); // calcolo del tempo e della memoria private static Runtime R = Runtime.getRuntime(); private static double time0; public static void inittime() {time0 = System.currentTimeMillis(); public static double asktime() {return(system.currenttimemillis() - time0)/1000.; public static double askmemory() { R.gc(); return ((int)(((r.totalmemory() - R.freeMemory()) / (1024. * 1024.))*100)/100.);
4 Il programma di prova deve realizzare una classe concreta (per esempio PrimiTest per provare algoritmi di primalità) che estende AbstractTest e dovrà implementare solo i metodi pre() e go(), post() e getres()e chiamare nell ordine doalltests() e printreport() La classe Report è fornita in allegato e ha la seguente struttura package test; import java.util.*; public class Report { // inserisce nella riga con etichetta x e nella colonna con etichetta y il risultato z public void put(string x, String y, String z) {... // rende un array di stringhe in cui la prima riga e colonna contengono le etichette e // gli elementi interni i risultati, la tabella ha le dimensioni corrette che vengono // stabilite automaticamente a seconda dei valori con cui è chiamato il metodo get // dove non è presente il valore si inserisce un trattino public String[][] getreport() {... Completa il package le classi XMLBatch, vista nel documento sull XML. Vediamo come esempio come si usa test per provare un insieme di programmi per il calcolo dei numeri primi (vedi progetti sui primi), si scrive la generica classe da provare public abstract class AbstractPrimi { long n; public AbstractPrimi(long n){this.n=n; public abstract int go();
5 che verrà estesa da classi concrete come per esempio Primi1 (l implementazione scema) public class Primi1 extends AbstractPrimi { boolean[] primi; int p = 0; public Primi1(long n){ super(n); this.primi = new boolean[(int) n]; public void go(){ primi[0] = primi[1] = false; for (int i = 2; i < n; i++) { primi[i] = true; for (int j = 2; j < i; j++) if (i%j == 0) {primi[i] = false; for (int j = 2; j < n; j++) if (primi[j]) p++; return p;
6 Poi bisogna estendere AbstractTest package primi; import test.*; public class PrimiTest extends AbstractTest { AbstractPrimi P; String PGM, N, RES; public PrimiTest(String input, String output) { super(input, output); protected void go() { PGM = H.get("PGM"); N = H.get("N"); long n = Long.parseLong(N); int resok = Integer.parseInt(H.get("RES")); if (PGM.equals("Primi1")) P = new Primi1(n); else if (PGM.equals("Primi2")) P = new Primi2(n); else if (PGM.equals("Primi3")) P = new Primi3(n); else if (PGM.equals("Crivello")) P = new Crivello(n); else if (PGM.equals("CrivelloBitSet")) P = new CrivelloBitSet(n); else if (PGM.equals("CrivelloPrimeSet")) P = new CrivelloPrimeSet(n); else if (PGM.equals("CrivelloPrimeSet5")) P = new CrivelloPrimeSet5(n); else throw new IllegalArgumentException(" Unknown PGM"); System.out.println(" testing "+PGM+" size "+n); int resc = P.go(); if (resok == resc) RES = "OK"; else RES = " ERROR: computed value " + resc; protected String getres() { RES; protected void pre() {
7 protected void post() { reportt.put(n, PGM, time); reportm.put(n, PGM, mem); P = null; System.gc(); Il programma principale chiama nell ordine doalltests() e printreport() package primi; public class MainPrimi { public static void main(string[] args) { System.out.println("start"); PrimiTest pt = new PrimiTest("./primi.xml", "./primi.txt"); pt.doalltests(); pt.printreport(); System.out.println("end"); E il gioco è fatto: il file primi.xml determina le prove da fare. NB inserire nel file di input il risultato corretto permette di verificare il successo dell esecuzione.
8 <TESTLIST> <TEST PGM="Primi1" N="100000" RES="9592" /> <TEST PGM="Primi2" /> <TEST PGM="Primi3" /> <TEST PGM="Crivello" /> <TEST PGM="CrivelloBitSet" /> <TEST PGM="Crivello" /> <TEST PGM="Primi2" N=" " RES="78498"/> <TEST PGM="Primi3" /> <TEST PGM="Crivello" /> <TEST PGM="CrivelloBitSet" /> <TEST PGM="CrivelloPrimeSet" /> <TEST PGM="Crivello" N=" " RES="664579" /> <TEST PGM="CrivelloBitSet" /> <TEST PGM="CrivelloPrimeSet" /> <TEST PGM="CrivelloPrimeSet5" /> <TEST PGM="CrivelloBitSet" N=" " RES=" " /> <TEST PGM="CrivelloPrimeSet" /> <TEST PGM="CrivelloPrimeSet5" /> </TESTLIST> I risultati (file primi.txt) seguenti sono stati ottenuti su un Macintosh Intel a 3Ghz con MAC OS X TEMPO Crivello CrivelloBitSet CrivelloPrimeSet CrivelloPrimeSet5 Primi1 Primi2 Primi s s s 0.018s 0.012s s 0.031s 0.038s s 0.236s s 0.32s 0.381s 1.512s s s s MEMORIA Crivello CrivelloBitSet CrivelloPrimeSet CrivelloPrimeSet5 Primi1 Primi2 Primi M 0.27M M 0.36M 0.35M M 0.5M 0.5M M 1.21M M 2.64M 2.64M 0.58M M M 32.05M - - -
Interfaccia Comparable. Fondamenti di Informatica L-B Esercitazione n 5 Java: Comparable, Array. Come sfrutto Comparable?
Fondamenti di Informatica L-B Esercitazione n 5 Java: Comparable, Array A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Interfaccia Comparable class Contatore implements Comparable
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList Gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione e rimane immutato.
DettagliOCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO
CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList! Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione
DettagliLETTURA DI DATI DA INPUT. Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream
LETTURA DI DATI DA INPUT Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream LETTURA DI DATI DA INPUT Sfortunatamente, una tale classe non esiste
DettagliEsercitazione n 4. Capacità di analisi e di estensione di progetti esistenti Il concetto di filtro Linguaggio Java:
Esercitazione n 4 Obiettivi: Capacità di analisi e di estensione di progetti esistenti Il concetto di filtro Linguaggio Java: Gestione di input/output da console e da file (package java.io) Utilizzo di
DettagliRiferimenti ad oggetti: Fondamenti di Informatica L-B Esercitazione n 4 Java: I/O, Costruttori e altro. Riferimenti ad oggetti: (Esempio)
Fondamenti di Informatica L-B Esercitazione n 4 Java: I/O, Costruttori e altro A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Riferimenti ad oggetti: Cosa si può fare con i riferimenti?
DettagliEsercitazione Fondamenti di informatica 2
Esercitazione Fondamenti di informatica 2 Array ed Oggetti JAVA 13 marzo 2006 L oggetto atrice Realizzare una classe oggetto atrice. Lo stato dell oggetto Vettore, è rappresentato da un array di array
DettagliStrutture Software 1 INTRODUZIONE INTRODUZIONE SOMMARIO
INTRODUZIONE Strutture Software 1 Docente: Fabio Solari Tel.: 010-3532289 E-mail: fabio@dibe.unige.it URL: http://www.pspc.dibe.unige.it Presentare i principali metodi utilizzati per organizzare e rappresentare
DettagliProgrammazione distribuita in Java. Socket & Client-Server
Programmazione distribuita in Java Socket & Client-Server 1 Strumenti per networking Libreria java.net Socket (Astrazione per una presa di comunicazione) Serializzazione Socket Per comunicare si apre una
DettagliEsempi in Java di program.ne O-O
Esempi in Java di program.ne O-O Ereditarietà Polimorfismo statico e dinamico Esercitazione laboratorio Interfaccia Comparable e Comparator 1 Gerarchia di ereditarietà Persona IS_A Docente Studente Tecnico
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;
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA6 A2 I file binari 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 20 febbraio 2012
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 20 febbraio 2012 TEMPO DISPONIBILE: 1 ora Negli
DettagliJava, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM
Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM ERRATA CORRIGE dei programmi della prima stampa (Aprile 2004) aggiornato al 20/05/2017 Nota: il codice corretto è ottenibile da quella errato
DettagliCOMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre Alcune Soluzioni
COMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 10 Dicembre 2001 Alcune Soluzioni ESERCIZIO 1. Si consideri il seguente frammento di codice in linguaggio Java: int[][] a = new int[n][n]; for (int i
DettagliCapitolo 13: Gestione delle eccezioni. Capitolo 13. Gestione delle eccezioni Apogeo srl Horstmann-Concetti di informatica e fondamenti di Java 2
Capitolo 13 Gestione delle eccezioni 1 Figura 1 La gerarchia delle classi di eccezioni 2 Figura 2 Eccezioni controllate e non controllate 3 File PurseTest.java import javax.swing.joptionpane; import java.io.ioexception;
DettagliLezione 2 Primi programmi
Lezione 2 Primi programmi Barbara Rita Barricelli Corso di Laboratorio di Programmazione -Turno B (Cognomi M-Z) CdL in Informatica per la Comunicazione Digitale A.A. 2017-2018 Riassunto di quanto visto
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA7 B3 Gestione di una coda 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Tecnica di allocazione dinamica Concetto di coda e operazioni relative
DettagliAlberi Binario in Java
Alberi Binario in Java Realizzare un albero binario di ricerca. L albero binario è di ricerca se esiste una relazione di ordinamento tra i valori dei nodi (valori comparabili). In particolare, dato un
DettagliPreparazione allo Scritto di Programmazione
Preparazione allo Scritto di Programmazione Informatica / Comunicazione Digitale A.A. 2013/2014 1. Una riga di testo è detta numerica se e solo se contiene più cifre che caratteri di altro genere. Ad esempio,
DettagliSystem.out.print("\tATTENZIONE: hi inserito un valore non valido!\n");
Creare un applicazione console che dato l indice della borsa di Milano nel giorno precedente, calcola la variazione percentuale rispetto al valore dell indice del giorno corrente. import java.io.*; public
DettagliProgrammazione orientata agli oggetti Classi astratte e interfacce. Classi astratte - Interfacce
Programmazione orientata agli oggetti Classi astratte e interfacce 1 Classi astratte Java ci consente di definire classi in cui uno o più metodi non sono implementati, ma solo dichiarati Questi metodi
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
DettagliEsonero del corso di Programmazione a Oggetti
Esonero del corso di Programmazione a Oggetti Roma, 26 novembre 2008 Considerate le seguenti definizioni di classi e interfacce in Java: class P {public static void print(string s){system.out.println(s);
DettagliIntroduzione a Java e all'ambiente di sviluppo
Introduzione a Java e all'ambiente di sviluppo Programmazione 2, a.a. 2006-2007 Nota: per esclusivo uso interno al corso, riferimenti bibliografici forniti a lezione Schema minimo di un applicazione public
DettagliProva d Esame Compito A
DOMANDA1 Si analizzi il codice seguente e si scriva l output prodotto dai metodi main public class General { protected int value; public static boolean flag = false; public General() { value = 1; public
Dettagli9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
9 - Array 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 di Laurea
DettagliEccezioni Precisazioni e approfondimenti
Eccezioni Precisazioni e approfondimenti Costruttore: il parametro String definisce il messaggio di errore associato all eccezione Metodi particolarmente significativi getmessage(): ritorna l istanza di
DettagliProgrammazione orientata agli oggetti Classi astratte e interfacce. Classi astratte - Interfacce
Programmazione orientata agli oggetti Classi astratte e interfacce 1 Classi astratte Java ci consente di definire classi in cui uno o più metodi non sono implementati, ma solo dichiarati Questi metodi
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
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
DettagliEsercizio: Lista Circolare
Esercizio: Lista Circolare Si realizzi in Java un gestore di una lista circolare. La dimensione minima della lista è 2 elementi (ed è anche la dimensione iniziale). La dimensione massima è 20 elementi.
DettagliInformatica I. Ingegneria Medica. Prof. Diego Salamon
Informatica I Ingegneria Medica Prof. Diego Salamon Gestione I/O Prof. Diego Salamon Introduzione Nella creazione e gestione del software è necessario interagire con entità esterne a quelle del programma
DettagliProgrammazione in Java (I modulo) Lezione 11: Metodi della classe Math
Programmazione in Java (I modulo) Lezione 11: Metodi della classe Math Dalla lezione scorsa... Ricordiamo cosa sono e come si definiscono i metodi statici Metodi static o metodi di classe Sono metodi che
DettagliEsercitazione 3. Corso di Tecniche di programmazione. Laurea in Ingegneria Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 3 Corso di Tecniche di programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
DettagliSezione: Costruttori. Costruttori
Sezione: Costruttori Costruttori Definizione dei costruttori Se per una classe A non scrivo nessun costruttore, il sistema automaticamente crea il costruttore A(); Se invece definisco almeno un costruttore
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
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
DettagliLaboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
DettagliParte I Java. Metodologie di Programmaziona Secondo Appello, 14/2/2006 1
Metodologie di Programmaziona 05 06 Secondo Appello, 14/2/2006 1 Parte I Java Considerate le seguenti definizioni di classe. class T { class S extends T { class A { public void print(string s) { System.out.println(s);
DettagliGestione delle eccezioni
Gestione delle eccezioni Raffaella Brighi, a.a. 2007/08 Ereditarietà Corso di Algoritmi e programmazione. A.A. 2007-08 CdL Operatore Informatico Giuridico. Casi di insuccesso Vi sono numerosi problemi
DettagliProgrammazione ad Oggetti
Programmazione ad Oggetti Java File Flussi e file Flusso (stream) = sequenza di dati di input: da cui leggere di output: su cui scrivere I file sono visti come flussi di dati Il package java.io definisce
DettagliProgrammazione orientata agli oggetti Classi astratte e interfacce
Programmazione orientata agli oggetti Classi astratte e interfacce Fondamenti di Informatica L-B 1 Classi astratte Java ci consente di definire classi in cui uno o più metodi non sono implementati, ma
DettagliNote ed esercizi aggiuntivi
Corso di Programmazione Anno Accademico 2015 2016 Prof. Giovanni Pighizzini ed esercizi aggiuntivi Gli esercizi proposti sono utili per rivedere gli esempi riportati, che sono stati sviluppati e discussi
DettagliRiassunto. I mattoni di base di un programma Java. Oggi. Un programma complicato. Oggi. Perché è complicato? Stefano Mizzaro 1.
I mattoni di base di un programma Java Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione, lezione 2 28 settembre
DettagliLa gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni
La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.
DettagliProgrammazione in Java
Programmazione in Java Settima lezione Cristian Del Fabbro Lezione di oggi Esercizio sull'utilizzo delle classi viste nella quarta lezione (Vector, StringTokenizer, file su disco, ecc.) Alcune classi per
DettagliArray. Definizione e utilizzo di vettori
Array Definizione e utilizzo di vettori Array (1/2) Un array o vettore rappresenta un insieme di elementi dello stesso tipo. Sintassi per la creazione di un array: tipo_elementi[] nome; nome = new tipo_elementi[numero_elementi];
DettagliCOGNOME NOME MATRICOLA DATA
COGNOME NOME MATRICOLA DATA 1. Scrivere la classe Automobile che ha i seguenti attributi colore: una stringa indicante il colore dell automobile, velocità: un numero con la virgola indicante la velocità
DettagliLinguaggi di Programmazione I Lezione 8
Linguaggi di Programmazione I Lezione 8 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 29 aprile 2008 Identificatori e parole chiavi 3 Commenti.............................................................
DettagliLa gestione delle eccezioni
La gestione delle eccezioni La gestione delle eccezioni Le eccezioni sono eventi che accadono in fase di esecuzione di un programma al verificarsi di una situazione anomala, come la divisione per 0, l'uso
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;
DettagliUniversità Ca Foscari DAIS. Programmazione ad Oggetti. Esame del modulo 1
Università Ca Foscari DAIS Programmazione ad Oggetti Esame del modulo 1 Nome: Matricola: Samuel Rota Bulò, a.a. 2012/2013 Programmazione ad Oggetti a.a. 2012/2013 Esame del modulo 1 Nome: Samuel Rota Bulò
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: C# versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca
DettagliProgrammazione. Cognome... Nome... Matricola... Compitino del 17 gennaio 2007
Cognome............................. Nome................................ Programmazione Compitino del 17 gennaio 2007 Matricola............................ NOTA: Negli esercizi 1, 2, 3, 4 fate riferimento
DettagliLaboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona
ed ed Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario ed scrittura su in Java ed ed di testo Scrivere stringhe su di testo
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
DettagliRETI DI CALCOLATORI Linguaggio Java: Eccezioni
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI RETI DI CALCOLATORI Linguaggio Java: Eccezioni Prof. Franco Zambonelli Lucidi realizzati in collaborazione
DettagliProgrammazione a oggetti
Programmazione a oggetti Quanti oggetti, tra di loro parlando, fanno programmi. Pilu Crescenzi piluc@dsi.unifi.it Università di Firenze Programmazione a oggetti p.1/32 Cosa è un oggetto Una scatola software
DettagliLETTURA DI DATI DA INPUT
LETTURA DI DATI DA INPUT Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream FileDescriptor InputStream SequenceInputStream ByteArrayInputStream
DettagliRicercaSequenziale import public class public static void throws new new new int int int char boolean true true false false out true out out else
Algoritmo di ricerca sequenziale o lineare, in una Tabella con LunghezzaTabella righe. L algoritmo restituisce il valore TRUE in Trovato se la chiave di ricerca C esiste nel campo Chiave (numerico) della
DettagliProgrammazione. Cognome... Nome... Matricola... Compitino del 26 gennaio 2009
Cognome................................ Nome................................... Matricola............................... Programmazione Compitino del 26 gennaio 2009 NOTA: Negli esercizi 1, 2, 3, 4 fate
DettagliGerarchia delle classi Classi astratte Interfacce (Eccezioni) Laboratorio di Programmazione - Esercitazio 1
Gerarchia delle classi Classi astratte Interfacce (Eccezioni) Laboratorio di Programmazione - Esercitazio 1 Gerarchia delle classi Una sottoclasse eredita metodi, variabili, etc. dalla superclasse... Per
DettagliProgrammazione Concorrente e Distribuita
Programmazione Concorrente e Distribuita Esame scritto del 10 Gennaio 2012 Versione C Esercizio 1 (5 punti) 1 public class Tenor extends S i n g e r { 2 public s t a t i c S t r i n g s i n g ( ) { 3 return
DettagliSezione: Upcast - downcast
1 Sezione: Upcast - downcast Upcast & downcast 2 public class Test { public static void main(string a[]) { new Test(); Test() { A a; cast B b = new B(); OK: upcast implicito a=b; NO: "method f2 not found
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA9 B3.1 Mutua esclusione 1 Prerequisiti Programmazione concorrente Sezione critica Mutua esclusione lock() e unlock() 2 1 Introduzione Si considerino le seguenti situazioni
DettagliFondamenti di informatica 2 Claudio Biancalana. Esercitazione capitolo 19 Array
Fondamenti di informatica 2 Claudio Biancalana Esercitazione capitolo 19 Array Contatti claudio.biancalana@dia.uniroma3.it Contenuto esercitazione Ricerca sequenziale Progettazione e Divide et Impera 2
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA9 A2 JVM e processi 1 Prerequisiti Programmazione base in Java Concetti di base sui sistemi operativi Programmazione degli stream Valori di ritorno a livello di linea
Dettaglipublic double getraggio() restituisce la lunghezza del raggio del cerchio che esegue il metodo.
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 7 settembre 2015 TEMPO DISPONIBILE: 1 ora e 40
DettagliEsercitazione n 3. Capacità di analisi e di estensione di progetti esistenti Linguaggio Java:
Esercitazione n 3 Obiettivi: Capacità di analisi e di estensione di progetti esistenti Linguaggio Java: Ereditarietà delle classi Utilizzo di costruttori e metodi di superclasse Classi astratte Visibilità:
DettagliJAVA. import java.util.*; #include <stdio.h> public static class test { int variable; private int variable; int main (int argc, char *argv[]) {
JAVA C import javautil*; public static class test { private int variable; public void main (String[] args) { variable = 0; Systemoutprintln( Variable is: + variable); #include int variable; int
DettagliCompleta la seguente definizione di class MemAddress che realizza il tipo di dato indirizzo di memoria.
ESERCIZIO 1 Completa la seguente definizione di class MemAddress che realizza il tipo di dato indirizzo di memoria. class MemAddress //OVERVIEW: un indirizzo di memoria ha una base ed un offset, entrambi
DettagliCorso di Reti di Calcolatori L-A
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 0 (svolta) Multithreading in Java Luca Foschini Anno accademico 2009/2010 Esercitazione 0 1 Modello
Dettagli! Riassunto. ! for. ! Cicli annidati. ! Esempi, esercizi, errori tipici. ! Programmazione strutturata. ! break e continue I1; I2; I3;
La programmazione strutturata - Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 6 Oggi Stefano Mizzaro
Dettagli14 - Metodi e Costruttori
14 - Metodi e Costruttori 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
DettagliProgrammazione in Java (I modulo) Lezione 5: Più dettagli su Input e Output La classe String L'istruzione while
Programmazione in Java (I modulo) Lezione 5: Più dettagli su Input e Output La classe String L'istruzione while Output su Schermo System.out è un oggetto che è parte di Java. println() scrive sullo schermo
DettagliCreazione, eliminazione, lettura e scrittura di file di testo
Creazione, eliminazione, lettura e scrittura di file di testo Creazione Java mette a disposizione degli sviluppatori diverse classi per lavorare con i file di testo, analizziamo le principali: java.io.file
DettagliIstruzioni. Il codice Java delle domande non mostra gli import, che si assumono essere correttamente presenti.
Istruzioni Staccare questo foglio dal resto del blocchetto, ed utilizzarlo per segnare le risposte (sul retro di questa pagina). Segnare SUBITO nome, cognome e numero di matricola negli appositi spazi.
DettagliRiassunto. Rassegna API - 2: eccezioni e file. Eccezioni. Oggi. Gettare, catturare, rimbalzare. Gettare. Stefano Mizzaro 1
Rassegna API - 2: eccezioni e file Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@dimi.uniud.it Programmazione, lezione 21 Riassunto
DettagliLaboratorio di Programmazione 1 [Java]
Laboratorio di Programmazione 1 [Java] Prova di esame - 26 Gennaio 2011 Tempo massimo: 50 minuti Si implementino in Java le classi Tavolo e Pizzeria. La classe Tavolo ha i seguenti attributi: nome (una
DettagliSOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.) Sapienza - Università di Roma Facoltà di Ingegneria
Sapienza - Università di Roma Facoltà di Ingegneria Requisiti Corso di PROGETTAZIONE DEL SOFTWARE I (Corso di Laurea in Ingegneria Informatica) Prof. Giuseppe De Giacomo Canali A-L & M-Z A.A. 2006-07 Compito
DettagliServer Sequenziale. Server Concorrente. Esercitazione: Socket Java con connessione
Esercitazione: Socket Java con connessione Sviluppare un applicazione C/S che effettui il trasferimento di un file dal client al server (put) usando una connessione. In particolare nel servizio: il client
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
Dettaglipublic static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;
Metodi iterativi con array monodimensionali 1. Scrivere un metodo che, dato un array di interi a, restituisce il valore minimo in a. public static int minimo (int[] a) { int min = a[0]; for (int i=1; i
DettagliProgrammazione Java Struttura di una classe, Costruttore, Riferimento this
Programmazione Java Struttura di una classe, Costruttore, Riferimento this romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap > Struttura di una classe > Costruttore > Riferimento
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:
DettagliE9 Esercizi sul Capitolo 9 Array
E9 Esercizi sul Capitolo 9 Array 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
DettagliPrima lezione di laboratorio. I mattoni di base di un programma Java. Comandi Unix. Riassunto. Oggi. Un programma complicato.
I mattoni di base di un programma Java Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@dimi.uniud.it Programmazione, lezione 2 1 ottobre
DettagliFondamenti di Informatica
Fondamenti di Informatica (L-Z) Corso di Laurea in Ingegneria Gestionale OOP: I/O da/su File e Java Exceptions Prof. Stefano Mariani Dott. Alket Cecaj Indice I/O da/su file: java.io e java.nio BufferedReader
DettagliUniversità Ca Foscari DAIS. Programmazione ad Oggetti. Esame del modulo 1
Università Ca Foscari DAIS Programmazione ad Oggetti Esame del modulo 1 Nome: Matricola: Samuel Rota Bulò, a.a. 2012/2013 Programmazione ad Oggetti a.a. 2012/2013 Esame del modulo 1 Nome: Samuel Rota Bulò
DettagliCorso di Telematica II
Corso di Laurea Triennale in Ingegneria Informatica ed Ingegneria delle Telecomunicazioni Corso di Telematica II Matricola Nome, Cognome Data Orale... Prova scritta del 21/07/2005 Si implementi, in linguaggio
DettagliFondamenti di informatica T-1 (A K) Esercitazione 4: controllo del flusso
Fondamenti di informatica T-1 (A K) Esercitazione 4: controllo del flusso AA 2018/2019 Tutor: Lorenzo Rosa lorenzo.rosa@unibo.it 2 Esercitazione 4 Introduzione al calcolatore e Java Linguaggio Java, basi
DettagliAlma Mater Studiorum Università di Bologna. Scuola di Ingegneria e Architettura. Tecnologie Web T. Esercitazione 09 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:
DettagliCollezioni, mappe e iteratori (a cura del Prof. Marco Patella)
, mappe e iteratori (a cura del Prof. Marco Patella) 1 Introduzione al Java Collections Framework Una collezione (o contenitore) consente di organizzare e gestire un gruppo di oggetti collezioni (vere
DettagliOggi. La programmazione strutturata - III. Sequenza e selezione. Dove siamo. Iterazione: while e do/while. Raffinamenti successivi.
La programmazione strutturata - Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@dimi.uniud.it Programmazione, lezione 6 Oggi Stefano
Dettagli