Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013"

Transcript

1 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013

2 Sommario Programmazione O.O. Oggetti e Classi Metodi Parametri Variabili di istanza Costruttori Variabili locali Esercizi

3 Implica: Programmazione O.O. Definire classi Creare oggetti a partire dalle classi definite Fare interagire tra loro gli oggetti per produrre risultati

4 Classe: CHE COSA E? Una classe descrive la struttura interna e il comportamento (funzionamento) di oggetti analoghi (omogenei). una classe ha un nome, e contiene due tipi di informazioni: campi (variabili di istanza) e metodi metodo metodo campi metodo metodo

5 Classe: CHE COSA E? Una classe definisce un tipo di dato Un insieme di variabili di istanza un insieme di operazioni sul tipo di dato implementate attraverso i metodi

6 Diagramma UML della classe Ncomplesso -double pr -double pi Ncomplesso nome campi +Ncomplesso (double pr, double pi) +double modulo () + String stampa () metodi La regola di visibilità (scope) specifica le modalità di accesso agli elementi della classe: il carattere + specifica una visibilità public: elemento visibile a tutti il carattere - specifica una visibilità private: elemento invisibile al di fuori della classe

7 public class Ncomplesso { private double pr; private double pi; public Ncomplesso(double a, double b) { pr = a; pi = b; public double modulo() { return Math.sqrt(pR * pr + pi * pi); public String stampa() { if(pi < 0) return pr + " - i * " + (-pi); else return pr + " + i * " + pi;

8 public class TestNcomplesso { public static void main(string[] args) { Ncomplesso c1 = new Ncomplesso(5,-3); Ncomplesso c2 = new Ncomplesso(1,3); System.out.println(" c1 = " + c1.modulo()); System.out.println(" c2 = " + c2.modulo());

9

10 Variabili di istanza Le variabili di istanza memorizzano informazioni che costituiscono lo stato di un oggetto public class Ncomplesso { private double pr; private double pi; Costruttori (omessi) Metodi (omessi)

11 Definizione di variabili di istanza Modificatore di visibilità Tipo Nome della variabile Modificatore di visibilità Tipo Nome della variabile private double pr;

12 Costruttori I costruttori sono metodi particolari che hanno lo stesso nome della classe I costruttori di una stessa classe si distinguono per numero, posizione o tipo dei parametri Nei costruttori non deve essere indicato il tipo di ritorno Se non viene definito nessun costruttore viene usato automaticamente quello di default Quando viene creato un oggetto di una classe viene invocato uno dei suoi costruttori Nei costruttori viene inserito il codice di inizializzazione dell oggetto

13 Costruttori Ogni classe ha un costruttore default che inizializza le variabili d'istanza con il corrispondente valore default: 0 per variabili numeriche, false per variabili booleane, null per variabili di oggetto. Questo costruttore non ha parametri, ed è disponibile solo se nella classe non è definito nessun costruttore. Se invece viene definito un qualsiasi costruttore (o più costruttori), allora il costruttore default non è più utilizzabile.

14 Costruttori I costruttori inizializzano lo stato di un oggetto Memorizzano i valori iniziali negli attributi A tal fine spesso ricevono parametri dall esterno hanno lo stesso nome della loro classe Public class Ncomplesso { private double pr; private double pi; public Ncomplesso(double a, double b) { pr = a; pi = b;

15 Metodi Implementano il comportamento di un oggetto Hanno una intestazione ed un corpo Intestazione Modificatore di accesso Tipo valore restituito Nome del metodo Lista dei parametri formali Corpo Definizioni di variabili locali Istruzioni

16 Costruttori I costruttori inizializzano lo stato di un oggetto Memorizzano i valori iniziali negli attributi A tal fine spesso ricevono parametri dall esterno I costruttori hanno lo stesso nome della loro classe Public class Ncomplesso { private double pr; private double pi; public Ncomplesso(double pr, double pi) { this.pr = pr; this.pi = pi;

17 La parola chiave this this rappresenta un riferimento all istanza che sto manipolando E' indispensabile farne uso quando il nome del campo a cui si vuole accedere è uguale al nome di un parametro formale Public class Ncomplesso { private double pr; private double pi; public Ncomplesso(double pr, double pi) { this.pr = pr; this.pi = pi;

18 La parola chiave this Per favorire la leggibilità del codice, quando ci riferiamo a variabili di istanza, conviene usare sempre this public class Persona { private String nome; private int anni; public String getnome(){ return this.nome;

19 Parametri Costruttori e metodi ricevono i dati attraverso i parametri I parametri sono definiti nell intestazione del costruttore o del metodo Public class Ncomplesso { private double pr; private double pi; public Ncomplesso(double pr, double pi) { ha due parametri: this.pr = pr; pr, di tipo double this.pi = pi; pi, di tipo double

20 Parametri Distinguiamo Parametri formali Per indicare i parametri nella definizione di un costruttore o di un metodo Parametri attuali Per indicare i valori che vengono passati al costruttore o al metodo quando li invochiamo

21 Parametri /sto modificando il valore degli attributi pr e pi Public class Ncomplesso { private double pr; private double pi; public void incrementa(double pr, double pi) { this.pr += pr; this.pi += pi; ha due parametri: pr, di tipo double pi, di tipo double

22 Parametri sto modificando il valore dei parametri formali pr e pi, gli attributi pr e pi rimangono inalterati Public class Ncomplesso { private double pr; private double pi; pi) public void icrementa(double pr, double { pr += pr; pi += pi; ha due parametri: pr, di tipo double pi, di tipo double

23 Metodi: valore restituito Un metodo può restituire un valore come ad esempio double nel caso del metodo modulo() public double modulo() { return Math.sqrt(pR * pr + pi * pi);

24 Metodi: valore restituito Se un metodo non restituisce un valore è di tipo void

25 Metodi: Variabili locali Nel corpo di un metodo (o di un costruttore) si possono definire variabili locali Servono a memorizzare informazioni utili alla esecuzione del metodo Sono create al momento in cui il metodo viene chiamato, sono distrutte quando il metodo termina La visibilità (scope) di una variabile locale è il metodo o costruttore entro il quale è definita

26 Variabili locali La differenza tra una variabile locale e una variabile di istanza (campo) è enorme Le variabili locali devono memorizzare informazioni che servono esclusivamente alla esecuzione di un metodo; create all'invocazione del metodo, distrutte al termine di questo; non sono visibili al di fuori del metodo Le variabili di istanza memorizzano informazioni che rappresentano lo stato dell'oggetto; vivono per tutta la vita dell'oggetto; sono visibili a tutti i metodi della classe È un errore molto grave confondere questi concetti!

27

28 Ricapitolando Il corpo di una classe contiene variabili di istanza metodi di istanza costruttori Le variabili di istanza memorizzano i valori che determinano lo stato dell oggetto I costruttori inizializzano gli oggetti I metodi di istanza implementano il comportamento degli oggetti

29 Ricapitolando Variabili di istanza, parametri e variabili locali sono tutte variabili Le variabili di istanza persistono per tutto il tempo di vita di un oggetto I parametri sono usati per passare valori a un costruttore o ad un metodo Le variabili locali sono usate per memorizzare temporaneamente valori all interno dei metodi e costruttori

30 OGGETTI IN JAVA sono componenti dinamici : vengono creati al momento dell uso, tramite l operatore new sono creati a partire da una classe, che ne descrive le proprietà su di essi è possibile invocare le operazioni pubbliche previste dalla classe non occorre preoccuparsi della loro distruzione: Java dispone di un garbage collector!

31 ESEMPIO: LA CLASSE Counter public class Counter { private int val; public void reset() { val = 0; public void inc() { val++; public int getvalue() { return val; Funge da stampo per costruire oggetti

32 Uso della classe Il main contiene un unica funzione statica (il main), che crea e usa un nuovo oggetto Counter Non può fungere da stampo per costruire og-getti (non ha dati o funzioni non-static) public class Esempio1 { public static void main() { Counter c = new Counter(); c.reset(); c.inc(); c.inc(); System.out.println(c.getValue());

33 Uso della classe Il main contiene un unica funzione statica (il main), che crea e usa un nuovo oggetto Counter Non può fungere da stampo per costruire og-getti (non ha dati o funzioni non-static) public La dichiarazione class Esempio1 Counter { c; definisce il riferimento a public un (futuro) static oggetto di void classe main() Counter { Counter c = new Counter(); c.reset(); c.inc(); c.inc(); System.out.println(c.getValue());

34 Uso della classe Il main contiene un unica funzione statica (il main), che crea e usa un nuovo oggetto Counter Non può fungere da stampo per costruire og-getti (non ha dati o funzioni non-static) public class Esempio1 { public static void main() { Counter c = new Counter(); c.reset(); c.inc(); c.inc(); L oggetto System.out.println(c.getValue()); di tipo Counter viene però creato dinamicamente solo in un secondo momento, mediante l operatore new

35 ESEMPIO: COSTRUZIONE Le due classi vanno scritte in due file distinti, di nome, rispettivamente: Esempio1.java (contiene la classe Esempio1) Counter.java (contiene la classe Counter)

36 ESEMPIO: ESECUZIONE La compilazione dei due file produce due file.class, di nome, rispettivamente: Esempio1.class Counter.class

37 Esercizio Realizzare la classe Persona secondo le informazioni presenti nel diagramma delle Classi UML in figura e scrivere un metodo testpersona che verifichi il codice scritto.

38 Esercizio Realizzare la classe Angolo proponendo delle soluzioni per il metodo somma (Angolo unangolo).

39 La classe Persona class Persona { private String nome; private String cognome; public Persona(String nome,string cognome){ this.nome=nome; this.cognome=cognome; public String setnome (String nome){ this.nome= nome; public String getnome (){ return nome;

40 Esercizio Realizzare la classe Frazione secondo le informazioni presenti nel diagramma delle Classi UML in figura e scrivere un metodo testfrazione che verifichi il codice scritto. Un oggetto di tipo Frazione contiene una coppia di informazioni elementari: num e denom di tipo int. Deve essere possibile creare un nuovo oggetto Frazione a partire dai campi num e denom. Deve essere possibile sommare alla frazione di riferimento un altra frazione tramite il metodo somma. In particolare si tenga conto che il metodo somma consente di sommare 2 frazioni: la frazione oggetto di riferimento (es. f1) e un altra frazione (es. f2) e assegnare il risultato alla frazione somma (es. f3). va definito un metodo String tostring() che restituisce una descrizione testuale adeguata della frazione. Frazione - int num - int denom + Frazione(int num, int denom) + Frazione somma(frazione frazione) + int getnumeratore() + int getdenominatore() + String tostring ()

41 Metodi: Variabili locali Nel corpo di un metodo (o di un costruttore) si possono definire variabili locali Servono a memorizzare informazioni utili alla esecuzione del metodo Queste sono create al momento in cui il metodo viene chiamato e vengono distrutte quando il metodo termina La visibilità (scope) di una variabile locale è il metodo o costruttore entro il quale è definita

42 Variabili locali C è una grande differenza tra una variabili locali e variabili di istanza Le variabili locali memorizzano informazioni che servono esclusivamente alla esecuzione di un metodo; vengono create all'invocazione del metodo, distrutte al termine di questo; non sono visibili al di fuori del metodo Le variabili di istanza memorizzano informazioni che rappresentano lo stato dell'oggetto; vivono per tutta la vita dell'oggetto; sono visibili a tutti i metodi della classe

43 Incapsulamento L incapsulamento è di fondamentale importanza per la programmazione ad oggetti, dato che consente ad una classe di acquisire le proprietà di robustezza, indipendenza e riusabilità. La filosofia alla base dell incapsulamento si fonda sul controllo dell accesso ai campi ( o variabili (x) di istanza) di una classe fornendone l accesso soltanto attraverso appositi metodi (setx getx ) dichiarati usando il modificatore public (questo modificatore li renderà invocabili dall esterno da oggetti appartenenti ad altre classi). Questa regola, che blocca l accesso diretto a tutti gli attributi privati, rende la classe indipendente e riutilizzabile; inoltre, ciò comporta anche una maggiore robustezza del software.

44 Esempio di implementazione di incapsulamento relativo alla classe Persona class Persona { private String nome; private String cognome; public Persona(String nome,string cognome){ this.nome=nome; this.cognome=cognome; public String setnome (String nome){ this.nome= nome; public String getnome (){ return nome;

45 Esempio di implementazione di incapsulamento relativo alla classe Persona public String setcognome(string cognome){ this.cognome= cognome; public String getcognome(){ return cognome;

46 Incapsulamento Esempio di implementazione di incapsulamento relativo la classe Persona. Possiamo notare che le variabili nome e cognome essendo state dichiarate private, non saranno accessibili da classi esterne. L accesso alle variabili nome e cognome viene effettuato dai metodi, setnome e getnome setcognome e getcognome che rispettivamente operano in scrittura e lettura.

47 Esercizio Realizzare la classe Frazione secondo le informazioni presenti nel diagramma delle Classi UML in figura e scrivere un metodo testfrazione che verifichi il codice scritto. Un oggetto di tipo Frazione contiene una coppia di informazioni elementari: num e denom di tipo int. Deve essere possibile creare un nuovo oggetto Frazione a partire dai campi num e denom. Deve essere possibile sommare alla frazione di riferimento un altra frazione tramite il metodo somma. In particolare si tenga conto che il metodo somma consente di sommare 2 frazioni: la frazione oggetto di riferimento (es. f1) e un altra frazione (es. f2) e assegnare il risultato alla frazione somma (es. f3). va definito un metodo String tostring() che restituisce una descrizione testuale adeguata della frazione. Frazione - int num - int denom + Frazione(int num, int denom) + Frazione somma(frazione frazione) + int getnumeratore() + int getdenominatore() + String tostring ()

48 public class Frazione { private int numeratore; private int denominatore; public Frazione(int numeratore, int denominatore){ this.numeratore=numeratore; this.denominatore=denominatore; public int getnumeratore(){ return this.numeratore; public int getdenominatore(){ return this.denominatore;

49 public Frazione somma(frazione frazione){ int den=this.denominatore*frazione.denominatore; int num=((frazione.denominatore)*this.numeratore) +(frazione.numeratore*this.denominatore); Frazione f=new Frazione(num,den); return f; public String tostring(){ return (this.numeratore+"/"+this.denominatore); f1 f2 f3 esempio

50 public class testfrazione { /** args */ public static void main(string[] args) { // TODO Auto-generated method stub Frazione f1=new Frazione(1,3); Frazione f2=new Frazione(2,5); Frazione f3=f1.somma(f2); System.out.println(f1.toString()); System.out.println(f2.toString()); System.out.println(f3.toString());

51 Esercizi da svolgere

52 Esercizio Realizzare i metodi della classe Polinomio1G P( x ) = a 1 x + a 0

53 Esercizio Arricchire il modello introducendo dei metodi per il calcolo della soluzione e della somma di oggetti Polinomio1G.

54 Esercizio Realizzare la classe Rubrica secondo le informazioni presenti nel diagramma delle Classi UML in figura Rubrica - String nomerubrica [] - int numerorubrica [] - int posizione + Rubrica (String nominativo, int numero) + int trovanumero (String nominativo) + boolean inserisci (String nominativo, int numero) + int getdimensione () + String tostring ()

55 Cosa abbiamo imparato? Che cos è la Programmazione OO; La definizione di classe:l entità astratta che rappresenta le caratteristiche (attributi) e i comportamenti (metodi) comuni che avranno gli oggetti generati a partire da essa. La definizione di variabile di istanza: memorizzano informazioni che costituiscono lo stato di un oggetto: private double pr; 16/01/

56 Cosa sono i costruttori: metodi particolari che hanno lo stesso nome della classe; A cosa serve la parola chiave this:rappresenta un riferimento all istanza che sto manipolando; I parametri: Parametri formali: per indicare i parametri nella definizione di un costruttore o di un metodo. Parametri attuali: per indicare i valori che vengono passati al costruttore o al metodo quando li invochiamo. 16/01/

57 Che cosa sono le variabili locali e la loro differenza con le variabili di istanza; Il concetto di overloading: metodi all interno di una stessa classe con lo stesso nome, ma diversi per numero, posizione o tipo di parametri; Il concetto di incapsulamento. 16/01/

58 Questionario 1)Quali delle seguenti affermazioni sulla programmazione Object Oriented è errata? Un oggetto è un istanza di una classe La classe è l entità concreta che rappresenta le caratteristiche e i comportamenti comuni che avranno gli oggetti generati a partire da essa; Oggetti con caratteristiche differenti appartengono a classi differenti; Il paradigma Object Oriented e costituito da oggetti identificati da una parte statica e una parte dinamica. 2)Cosa significa il segno + davanti la seguente istruzione: + int x;? L istruzione non ha alcun significato ; Permette di visualizzare a schermo il valore di x; Che la variabile dichiarata è di tipo pubblico; Che la variabile dichiarata è di tipo privato. 16/01/

59 3)Quale delle seguenti parti di programma rispetta le consuetudini della scrittura Object Oriented? class canzoni { private string titolo; private double duratainminuti; private String cantante; public void settitolo(string t) { class canzone { titolo=t; private String Titolo; private double DuratainMinuti; private String cantante; public void settitolo(string t) { titolo=t; 16/01/

60 class Canzoni { private String titolo; private double duratainminuti; private String cantante; public void settitolo(string t) { titolo=t; class Canzone { private String titolo; private double duratainminuti; private String cantante; public void settitolo(string t) { titolo=t; 16/01/

61 4)Quale delle seguenti affermazioni sul concetto di classe è sostanzialmente errato? Una classe definisce la struttura esterna ed il funzionamento di oggetti analoghi; Una classe contiene le variabili di istanza che consentono di memorizzare le informazioni di ciascun oggetto; Una classe contiene i metodi che specificano le operazioni che determinano il comportamento degli oggetti; Una classe ha un nome e contiene campi e metodi. 5) Analizzare la seguente parte di programma class Persona { private String cognome; private String nome; private String codicefiscale; private String citta; Persona() { cognome=null; nome=null; codicefiscale=null; citta=null; 16/01/

62 Persona (String c,string n,string cf,string ct) { cognome=c; nome=n; codicefiscale=cf; citta=ct; Quale dei due metodi indicati è il costruttore? Il primo metodo; Entrambi; Il secondo; Nessuno dei due. 6)Analizzare la seguente dichiarazione di variabile: private Polizza_base arr[]; è scritta in maniera corretta? No manca il modificatore di visibilità; No manca il nome della variabile; No manca il tipo della variabile; Si, permette dichiarare un array 16/01/

63 7)Quali delle seguenti affermazioni sui costruttori di una classe è giusta? Il nome del costruttore deve essere differente dal nome della classe; Nei costruttori non può essere inserito il codice di inizializzazione dell oggetto; I costruttori di una stessa classe si distinguono per numero, tipo dei parametri o posizione ; Nei costruttori deve essere indicato il tipo di ritorno. 8)Al costruttore può essere dato qualsiasi nome? Si, purché sia composto da caratteri alfanumerici; No,il costruttore deve avere lo stesso nome della classe a cui appartiene; No, il costruttore non ha un nome ma solo il tipo e il numero delle variabili; Si, può avere qualsiasi nome, purché il primo carattere sia una lettere minuscola. 9)Quale è la differenza tra un costruttore ed un metodo? I costruttori inizializzano lo stato di un oggetto, mentre i metodi implementano il comportamento di un oggetto; I costruttori implementano il comportamento di un oggetto, mentre i metodi ne inizializzano lo stato; Il nome del costruttore deve iniziare sempre per una lettera minuscola, mentre il metodo deve avere lo stesso nome della classe; I metodi inizializzano i valori iniziali negli attributi, mentre il costruttore definisce le locali. 16/01/

64 10)Quali delle seguenti non fa parte dell intestazione di un metodo? Modificatore di accesso; Istruzioni; Lista dei parametri formali; Tipo di valore restituito. 11)Se, in un costruttore, si vuole utilizzare lo stesso nome per i parametri formali e per le variabili d istanza, cosa bisogna fare? Non si può fare, bisogna utilizzare nomi differenti; Si può utilizzare la parola chiave this; Si può utilizzare la parola chiave these; Si può fare utilizzando la parola chiave same. 12)Per favorire la leggibilità del codice, quando è necessario utilizzare la parola this? Quando ci si riferisce ad una variabile di istanza; Quando ci si riferisce ad una classe; Quando ci si riferisce ad un metodo; Quando ci si riferisce ad un campo. 16/01/

65 13)Analizziamo il seguente costruttore: Persona (String c,string n,string cf,string ct) { cognome=c; nome=n; codicefiscale=cf; citta=ct; quanti parametri ha? otto; uno; quattro; nessuno. 14)Che tipo di parametri troviamo nella definizione di un costruttore o di un metodo? Parametri informali; Variabili d istanza; Parametri attuali; Parametri formali. 16/01/

66 15) Nel costruttore della domanda 13 che tipo di parametri viene utilizzato? Parametri informali; Parametri formali e attuali; Parametri attuali; Parametri formali. 16) Quale operatore viene utilizzato per accedere ai membri di una classe tramite un oggetto? L operatore punto; L operatore punto e virgola; L operatore virgola; Le variabili d istanza. 17) Supponendo di avere una classe chiamata Studente, come viene creato un ogetto chiamato obj? obj.studente(); Studente obj= new Studente; Studente obj= new Studente(); Studente.obj= new Studente(). 16/01/

67 18) Qual è la differenza tra una classe e un oggetto? Una classe è un istanza fisica che descrive la forma e il comportamento di un oggetto. Un oggetto è un astrazione logica della classe; Una classe è un astrazione logica che descrive la forma e il comportamento di un oggetto. Un oggetto è un istanza fisica della classe; Una classe è un astrazione logica che descrive il comportamento di un oggetto. Un oggetto è un istanza fisica della classe; Non vi è nessuna differenza sono entrambi astrazione logiche 19) che cos è un costruttore e quando viene eseguito? Un costruttore è un metodo che viene eseguito quando un oggetto della sua classe viene istanziato. Un costruttore viene utilizzato per inizializzare l oggetto creato; Un costruttore è un astrazione logica che descrive la forma e il comportamento di un oggetto. Un costruttore viene utilizzato per inizializzare l oggetto creato; Un costruttore è un istanza della classe che viene utilizzato per inizializzare l oggetto creato; Un costruttore è un metodo che viene eseguito quando un oggetto della sua classe viene istanziato. Un costruttore viene utilizzato per istanziare un oggetto. 20)Da cosa è composta la struttura base di una classe? Dai costruttori; Dalle variabili di istanza e dai metodi; Dalle variabili di istanza; Dai metodi. 16/01/

68 21)Quali consuetudini si seguono nella programmazioni OO? I nomi delle classi sono al singolare con l iniziale maiuscola, i nomi dei metodi se composti da più parole sono separati da un carattere di sottolineatura e i nomi degli attributi sono sempre minuscoli; I nomi delle classi sono al singolare con l iniziale maiuscola, i nomi dei metodi iniziano sempre con la lettera minuscola e i nomi degli attributi sono sempre maiuscoli; I nomi delle classi sono al singolare con l iniziale minuscola, i nomi dei metodi iniziano sempre con la lettera maiuscola e i nomi degli attributi sono sempre minuscoli. I nomi delle classi sono al singolare con l iniziale maiuscola, i nomi dei metodi iniziano sempre con la lettera minuscola e i nomi degli attributi sono sempre minuscoli. 22)Cosa significa il segno - davanti la seguente istruzione: - int x;? L istruzione non ha alcun significato ; Permette di visualizzare a schermo il valore di x; Che la variabile dichiarata è di tipo pubblico; Che la variabile dichiarata è di tipo privato. 23) Attraverso quali elementi è definita una variabile di istanza? Dal modificatore di visibilità e dal nome della variabile; Il nome e il tipo della variabile; Modificatore di visibilità, tipo e nome della variabile; Il nome della variabile. 16/01/

69 24) Qual è una caratteristica della variabili d istanza? Memorizzano informazioni che servono esclusivamente all esecuzione del metodo; Sono create quando il metodo viene chiamato e vengono distrutte quando esso termina. Sono visibili a tutti i metodi della classe; Non sono visibili al di fuori del metodo. 25)Analizziamo il seguente metodo: public int mult (int x, int y) { int z = 0; while (y > 0) { z = z+x; y = y-1; return z; che tipo di valore restituisce il metodo? void ; z; public; int. 16/01/

70 26) Sempre del metodo della domanda 25, quali sono i parametri formali? x, y e z; x e y; x; y. 27) Nel metodo della domanda 25, ci sono variabili locali? Si, z; Si, x, y e z; No; Si, x e y. 28) Quali delle seguenti non è una caratteristica delle variabili locali? Le variabili locali memorizzano informazioni che servono esclusivamente all esecuzione del metodo; Le variabili locali non sono visibili al di fuori del metodo; Le variabili locali memorizzano informazioni che rappresentano lo stato dell oggetto; Le variabili locali sono create quando il metodo viene chiamato e vengono distrutte quando esso termina. 16/01/

71 29) Quali invece è una caratteristica della variabili d istanza? Memorizzano informazioni che servono esclusivamente all esecuzione del metodo; Sono create quando il metodo viene chiamato e vengono distrutte quando esso termina. Sono visibili a tutti i metodi della classe; Non sono visibili al di fuori del metodo. 16/01/

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:

Programmazione. 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

Dettagli

Definizione di metodi

Definizione di metodi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 9 Definizione di metodi Carla Limongelli Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di metodi 1 Contenuti

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Programmazione. 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

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Uso di metodi statici. Walter Didimo

Uso di metodi statici. Walter Didimo Uso di metodi statici Walter Didimo Metodi di istanza Fino ad ora abbiamo imparato a creare oggetti e ad invocare metodi su tali oggetti i metodi venivano eseguiti dagli oggetti un metodo invocato su un

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Paradigma OO Incapsulamento Polimorfismo e Overloading Ereditarietà e Overriding Esercizi svolti Esercizi proposti Paradigma OO Le

Dettagli

Oggetti e classi. Cos è un oggetto

Oggetti e classi. Cos è un oggetto Oggetti e classi Cos è un oggetto Basta guardarsi intorno per scoprire che il mondo reale è costituito da oggetti: libri, biciclette, giocattoli, ma anche ragazzi, bambini, fiori, gatti, cani, fiumi, montagne,

Dettagli

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo. Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 21 settembre 2015 TEMPO DISPONIBILE: 1 ora e 40

Dettagli

Classi. Oggetti e classi. Creazione e inizializzazione di oggetti in C++ Distruzione di oggetti in C++

Classi. Oggetti e classi. Creazione e inizializzazione di oggetti in C++ Distruzione di oggetti in C++ Informatica 3 Informatica 3 LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1) Modulo 1: Introduzione: oggetti e classi Modulo 2: Link e associazioni Modulo 3: Aggregazione Lezione 7 -

Dettagli

Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni

Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni Esercizio 1 Nella classe definita di seguito indicare quali sono le variabili di istanza, quali sono le variabili

Dettagli

Esercizi della lezione 5 di Java

Esercizi della lezione 5 di Java Esercizi della lezione 5 di Java Esercizio 5 Create il tipo di dato Counter dell Esercizio 1 come sottoclasse del tipo di dato SimpleCounter. Esercizio 1 Create un tipo di dato Counter che abbia: un valore

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi

Dettagli

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa

Dettagli

4 GLI ARRAY E LE STRINGHE

4 GLI ARRAY E LE STRINGHE 13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

Java Native Interface Appunti

Java Native Interface Appunti Java Native Interface Appunti Riccardo Rizzo 1/8 Introduzione L'uso delle Java Native Interface e' giustificato tutte quelle volte che una applicazione non puo' essere scritta interamente in Java. Per

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

INFORMATICA GRAFICA - FONDAMENTI DI INFORMATICA Ing. Civile - Edile/Architettura Dott. Penzo SOLUZIONE PROVA SCRITTA DEL 16/09/2002.

INFORMATICA GRAFICA - FONDAMENTI DI INFORMATICA Ing. Civile - Edile/Architettura Dott. Penzo SOLUZIONE PROVA SCRITTA DEL 16/09/2002. INFORMATICA GRAFICA - FONDAMENTI DI INFORMATICA Ing. Civile - Edile/Architettura Dott. Penzo SOLUZIONE PROVA SCRITTA DEL 16/09/2002 Esercizio 4) import fiji.io.simplereader; class Programma{ public static

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

Esonero del corso di Programmazione a Oggetti

Esonero del corso di Programmazione a Oggetti Esonero del corso di Programmazione a Oggetti Roma, 1 dicembre 2005 Considerate le seguenti definizioni di classi e interfacce in Java: interface Fumetto{ void esclama(); void utile(); class Personaggio

Dettagli

Refactoring 5 Sposta Metodo. 5 Sposta Metodo. 5 Sposta Metodo - Codice iniziale

Refactoring 5 Sposta Metodo. 5 Sposta Metodo. 5 Sposta Metodo - Codice iniziale Refactoring Un metodo sta usando più caratteristiche (attributi e operazioni) di un altra classe che non quella in cui è definito Crea un nuovo metodo con un corpo simile nella classe che il metodo usa

Dettagli

Diagrammi di classe e sistemi orientati agli oggetti

Diagrammi di classe e sistemi orientati agli oggetti Appendice D Diagrammi di classe e sistemi orientati agli oggetti ANDREA GINI Un effetto della strategia di incapsulamento è quello di spingere il programmatore a esprimere il comportamento di un sistema

Dettagli

Esercizio 1: archivio CD e DVD

Esercizio 1: archivio CD e DVD Esercizio 1: archivio CD e DVD Realizzare un applicazione Java per la creazione e la consultazione di un archivio di dischi ottici (CD e DVD). L applicazione riceve da standard input in maniera interattiva

Dettagli

Esercitazione 4. Comandi iterativi for, while, do-while

Esercitazione 4. Comandi iterativi for, while, do-while Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti

Dettagli

EXCEL: FORMATTAZIONE E FORMULE

EXCEL: FORMATTAZIONE E FORMULE EXCEL: FORMATTAZIONE E FORMULE Test VERO o FALSO (se FALSO giustifica la risposta) 1) In excel il contenuto di una cella viene visualizzato nella barra di stato 2) In excel il simbolo = viene utilizzato

Dettagli

Array multidimensionali e stringhe

Array multidimensionali e stringhe Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Array uni-dimensionali (richiami) Dichiarazione: int vet[100]; float x[50]; Gli elementi

Dettagli

Introduciamo l'uso della programmazione ad oggetti in PHP...perchè si può fare!

Introduciamo l'uso della programmazione ad oggetti in PHP...perchè si può fare! Introduciamo l'uso della programmazione ad oggetti in PHP...perchè si può fare! Elena M. Brambilla Technical Account Manager & Training Manager - Zend Technologies Chi sonoio.elena M. Brambilla Technical

Dettagli

VISUAL BASIC FOR APPLICATION

VISUAL BASIC FOR APPLICATION VISUAL BASIC FOR APPLICATION LA PIATTAFORMA DI SVILUPPO GLI ELEMENTI DI VBA Finestra di progetto: mostra l elenco gerarchico dei progetti aperti e di tutti i moduli di codice e finestre di interfaccia

Dettagli

Programmazione Orientata agli Oggetti

Programmazione Orientata agli Oggetti Programmazione Orientata agli Oggetti Lezione 13 La programmazione ad oggetti si basa su due principi fondamentali ereditarietà polimorfismo Queste due proprietà consentono di definire nuovi tipi di dato

Dettagli

Fondamenti VBA. Che cos è VBA

Fondamenti VBA. Che cos è VBA Fondamenti VBA Che cos è VBA VBA, Visual Basic for Application è un linguaggio di programmazione, inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms PowerPoint, Visio). VBA è una implementazione

Dettagli

INTRODUZIONE ALLE BASI DATI RELAZIONALI

INTRODUZIONE ALLE BASI DATI RELAZIONALI INTRODUZIONE ALLE BASI DATI RELAZIONALI RELAZIONI E TABELLE Nelle BASI DI DATI RELAZIONALI le informazioni sono organizzate in TABELLE; Le tabelle sono rappresentate mediante griglie suddivise in RIGHE

Dettagli

Lab. di Sistemi Operativi - Esercitazione - Comandi Shell

Lab. di Sistemi Operativi - Esercitazione - Comandi Shell Lab. di Sistemi Operativi - Esercitazione - Comandi Shell 1 - Esercizi Comandi Unix - 2 Esercizio n 0 0a) creare una cartella EsercitazioneLSO-1 nella directory di lavoro 0b) creare un file testo chiamato

Dettagli

Lettura e scrittura di file di dati input/output

Lettura e scrittura di file di dati input/output Lettura e scrittura di file di dati input/output Lettura e scrittura da disco Molto semplice in C++: si fa esattamente come se fosse una tastiera (se sto leggendo da disco) o lo schermo (se sto scrivendo

Dettagli

Istruzioni di ripetizione in Java 1

Istruzioni di ripetizione in Java 1 in Java Corso di laurea in Informatica Le istruzioni di ripetizione consentono di eseguire molte volte la stessa Si chiamano anche cicli Come le istruzioni condizionali, i cicli sono controllati da espressioni

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione.

L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione. I file L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione. I canali, sono delle strutture dati che contengono informazioni sul dispositivo fisico,

Dettagli

// inizializzazione della biblioteca con utenti, libri e prestiti // non richiesta Biblioteca.inizializza();

// inizializzazione della biblioteca con utenti, libri e prestiti // non richiesta Biblioteca.inizializza(); // Fondamenti di Informatica/Informatica Grafica // Soluzione del compito del 21/03/2003 // per semplicità si è deciso di riportare in un unico file il testo // delle soluzioni degli esercizi 1, 2 e 3.

Dettagli

PowerDIP Software gestione presenze del personale aziendale. - Guida all inserimento e gestione dei turni di lavoro -

PowerDIP Software gestione presenze del personale aziendale. - Guida all inserimento e gestione dei turni di lavoro - PowerDIP Software gestione presenze del personale aziendale - Guida all inserimento e gestione dei turni di lavoro - Informazioni preliminari. E necessario innanzitutto scaricare e installare l ultima

Dettagli

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari Lezione 4 L artimetica binaria: I numeri relativi e frazionari Sommario I numeri relativi I numeri frazionari I numeri in virgola fissa I numeri in virgola mobile 1 Cosa sono inumeri relativi? I numeri

Dettagli

Guida Compilazione Questionario SCUOLA DELL INFANZIA PARITARIA

Guida Compilazione Questionario SCUOLA DELL INFANZIA PARITARIA Guida Compilazione Questionario SCUOLA DELL INFANZIA PARITARIA Guida Compilazione Questionario Struttura delle schermate Barra degli strumenti Area di lavoro Scuola dell Infanzia Paritaria Esempio Struttura

Dettagli

La disposizione estetica della lettera commerciale

La disposizione estetica della lettera commerciale La disposizione estetica della lettera commerciale Gli elementi costitutivi della lettera commerciale vengono disposti sul foglio secondo stili diversi: ogni a- zienda, infatti, caratterizza la sua immagine

Dettagli

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. ACCESS Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. Database Relazionale: tipo di database attualmente più diffuso grazie alla

Dettagli

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo. PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,

Dettagli

Unità 2 I file binari

Unità 2 I file binari Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA file binari file di tipi primitivi file di oggetti serializzazione (B) CONOSCENZA E COMPETENZA Rispondere alle seguenti domande

Dettagli

Individuazione di sottoproblemi

Individuazione di sottoproblemi Individuazione di sottoproblemi Quando il problema è complesso conviene partire con una individuazione di sottoproblemi Scriviamo un algoritmo contenente azioni o condizioni complesse per l esecutore che

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

Dettagli

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009 UML Il linguaggio UML e ArgoUML 30/09/2009 Ingegneria dei sistemi software 2009/2010 manuel.comparetti@iet.unipi.it UML Unified Modeling Language una famiglia di notazioni grafiche standardizzate* orientata

Dettagli

Files in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007

Files in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007 Files in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Definizione di file in C++ Un esempio Uso dei file Esempi Esercizi Motivazioni il programma in esecuzione legge (sequenzialmente)

Dettagli

Fondamenti di Informatica T1 Mappe

Fondamenti di Informatica T1 Mappe Fondamenti di Informatica T1 Mappe Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 16 Mappe Matrice N x 2 : Gli elementi della prima colonna,

Dettagli

Mini-Corso di Informatica

Mini-Corso di Informatica Mini-Corso di Informatica CALCOLI DI PROCESSO DELL INGEGNERIA CHIMICA Ing. Sara Brambilla Tel. 3299 sara.brambilla@polimi.it Note sulle esercitazioni Durante le esercitazioni impareremo a implementare

Dettagli

public BankAccount() { balance = 0; } public BankAccount(double initialbalance) { balance = initialbalance; }

public BankAccount() { balance = 0; } public BankAccount(double initialbalance) { balance = initialbalance; } Il Linguaggio Java Le interfacce La classe BankAccount public class BankAccount { public BankAccount() { balance = 0; public BankAccount(double initialbalance) { balance = initialbalance; public void deposit(double

Dettagli

Informatica 3 secondo recupero 13 Settembre 2002

Informatica 3 secondo recupero 13 Settembre 2002 Informatica 3 secondo recupero 13 Settembre 2002 Nome (stampatello) Cognome (stampatello) Matr Recupero: Prima prova in itinere Seconda prova in itinere spazio per il docente Punteggi recupero prima prova

Dettagli

La gestione dei caratteri in C

La gestione dei caratteri in C in C In C i caratteri sono gestiti mediante variabili di tipo char (interi a 8 bit) Ad ogni carattere corrisponde un codice numerico ASCII (American Standard Code for Information Interchange) Un esempio

Dettagli

Java: Compilazione e Traduzione. Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA. C: Editing, compilazione, esecuzione

Java: Compilazione e Traduzione. Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA. C: Editing, compilazione, esecuzione Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA A.A. 2007/08 Tutor: Barbara Pettazzoni barbara.pettazzoni@studio.unibo.it Java: Compilazione e Traduzione Editing, compilazione, esecuzione

Dettagli

8.1 Anagrafica Imprese

8.1 Anagrafica Imprese 8.1 Anagrafica Imprese Questo link è utilizzato per l inserimento e la gestione dei dati relativi ad un impresa. Per modificare le informazioni di un impresa già esistente inserire la ragione sociale e/o

Dettagli

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

IL CONCETTO DI FILE. È illecito operare oltre la fine del file. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

Dettagli

Uso degli oggetti. Un programma Java. è un insieme di oggetti, ognuno istanza di una classe, che si inviano messaggi

Uso degli oggetti. Un programma Java. è un insieme di oggetti, ognuno istanza di una classe, che si inviano messaggi Uso degli oggetti Uso di oggetti predefiniti attraverso l'invio di messaggi. Il concetto di metodo; argomenti e restituzione di valori; segnatura e prototipo di un metodo. Il concetto di overloading. Le

Dettagli

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2012-13 14 giugno 2013

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2012-13 14 giugno 2013 Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2012-13 14 giugno 2013 Testo Il database di una banca è costituito da due vettori paralleli. Il primo

Dettagli

Procedura operativa per la gestione della funzione di formazione classi prime

Procedura operativa per la gestione della funzione di formazione classi prime Procedura operativa per la gestione della funzione di formazione classi prime Questa funzione viene fornita allo scopo di effettuare la formazione delle classi prime nel rispetto dei parametri indicati

Dettagli

Mobile Programming. Prova scritta del 22/01/2016. Prof. De Prisco. Corso di laurea in Informatica

Mobile Programming. Prova scritta del 22/01/2016. Prof. De Prisco. Corso di laurea in Informatica Corso di laurea in Informatica Mobile Prof. De Prisco Prova scritta del 22/01/2016 NOME: COGNOME: MATRICOLA: Domande Punti 1 /10 2 /10 3 /10 4 /10 5 /10 6 /10 7 /10 8 /10 9 /10 10 /10 TOTALE /100 Quesito

Dettagli

I database. Introduzione alla teoria delle basi di dati

I database. Introduzione alla teoria delle basi di dati I database Introduzione alla teoria delle basi di dati 1 Cosa sono e a cosa servono i Database Un database (o base di dati) e' una raccolta organizzata di dati correlati. Il principale scopo di un database

Dettagli

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato

Dettagli

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro Laboratorio di Programmazione Lezione 1 Cristian Del Fabbro Reperibilità homepage corso: https://users.dimi.uniud.it/~cristian.delfabbro/teaching.php email: cristian.delfabbro@uniud.it telefono: 0432 558676

Dettagli

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione

Dettagli

Uso del pannello operatore

Uso del pannello operatore Questa sezione fornisce informazioni sul pannello operatore della stampante, sulla modifica delle impostazioni e sui menu del pannello operatore. È possibile modificare la maggior parte delle impostazioni

Dettagli

Introduzione alle macchine a stati (non definitivo)

Introduzione alle macchine a stati (non definitivo) Introduzione alle macchine a stati (non definitivo) - Introduzione Il modo migliore per affrontare un problema di automazione industriale (anche non particolarmente complesso) consiste nel dividerlo in

Dettagli

Gestione di files Motivazioni

Gestione di files Motivazioni Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

Dettagli

Matematica e-learning - Corso Zero di Matematica. Gli Insiemi. Prof. Erasmo Modica A.A.

Matematica e-learning - Corso Zero di Matematica. Gli Insiemi. Prof. Erasmo Modica  A.A. Matematica e-learning - Gli Insiemi Prof. Erasmo Modica http://www.galois.it erasmo@galois.it A.A. 2009/2010 1 Simboli Matematici Poiché in queste pagine verranno utilizzati differenti simboli matematici,

Dettagli

Manuale Operativo Gestione dei Ticket di assistenza 15 Marzo 2016

Manuale Operativo Gestione dei Ticket di assistenza 15 Marzo 2016 Manuale Operativo Gestione dei Ticket di assistenza 15 Marzo 2016 Manuale Operativo Gestione Ticket 2 Sommario Premessa... 3 Introduzione... 3 1. Utente pre-login... 4 2. Utente post-login... 6 3. Gestione

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Via Oberdan, 42, 48018 Faenza (RA) Italy Tel.: ++39-0546-677111 Fax: ++39-0546-677577 E-mail: support_ahd@eu.irco.com WAVE MODE MOBILE GUIDA RAPIDA

Via Oberdan, 42, 48018 Faenza (RA) Italy Tel.: ++39-0546-677111 Fax: ++39-0546-677577 E-mail: support_ahd@eu.irco.com WAVE MODE MOBILE GUIDA RAPIDA Via Oberdan, 4, 4808 Faenza (RA) Italy Tel.: ++9-0546-677 Fax: ++9-0546-677577 E-mail: support_ahd@eu.irco.com WAVE MODE MOBILE GUIDA RAPIDA * tasti con doppia funzionalità : dipende dalla modalità di

Dettagli

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5. Prodotto da INDICE Vista Libretto Livello Digitale 2 Importazione di dati da strumento 3 Inserisci File Vari 5 Compensazione Quote 5 Uscite 6 File Esporta Livellazioni (.CSV) 6 Corso Livello Digitale Pag.

Dettagli

ESAME DI FONDAMENTI DI INFORMATICA I ESAME DI ELEMENTI DI INFORMATICA. 28 Gennaio 1999 PROVA SCRITTA

ESAME DI FONDAMENTI DI INFORMATICA I ESAME DI ELEMENTI DI INFORMATICA. 28 Gennaio 1999 PROVA SCRITTA 28 Gennaio 1999 PROVA SCRITTA Esercizio 1 Un elaboratore rappresenta numeri interi in complemento a due su 8 bit e numeri reali in utilizzando un byte per la mantissa normalizzata e un byte per l esponente

Dettagli

Questa è la finestra dei dettagli, è possibile selezionare anche da qui un modello o un pezzo per essere aperto.

Questa è la finestra dei dettagli, è possibile selezionare anche da qui un modello o un pezzo per essere aperto. Il sistema CONFELMOD come tutti gli analoghi sistemi per la confezione d abbigliamento, svolge 3 funzioni distinte (anche dal punto di vista del tipo di programma) 1. la gestione di tutti i dati relativi

Dettagli

Il pattern FACTORY è un pattern di tipo Creazionale secondo la classificazione della GoF I pattern di tipo creazionali si occupano della costruzione

Il pattern FACTORY è un pattern di tipo Creazionale secondo la classificazione della GoF I pattern di tipo creazionali si occupano della costruzione Il pattern Factory Il pattern FACTORY è un pattern di tipo Creazionale secondo la classificazione della GoF I pattern di tipo creazionali si occupano della costruzione degli oggetti e delle problematiche

Dettagli

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1 1) Il bus in un computer trasporta a) solo dati b) solo istruzioni c) sia dati sia istruzioni 2) In una sequenza

Dettagli

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m

Dettagli

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno. Tipo File Per memorizzare un dato su un supporto magnetico come un hard disk o un nastro, o più in generale su un'unità di memoria di massa viene utilizzata un tipo di dato chiamato file. Un file può essere

Dettagli

Architettura degli elaboratori Docente:

Architettura degli elaboratori Docente: Politecnico di Milano Il File System Architettura degli elaboratori Docente: Ouejdane Mejri mejri@elet.polimi.it Sommario File Attributi Operazioni Struttura Organizzazione Directory Protezione Il File

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Java Relazioni Associazioni 1 Associazione Uno a Zero-Uno Un esempio Un autovettura ha al più un proprietario 0..1 Dato il verso di navigazione specificato è necessario avere una

Dettagli

Servizio Conservazione No Problem

Servizio Conservazione No Problem Servizio Conservazione No Problem Guida alla conservazione del Registro di Protocollo Versione 1.0 13 Ottobre 2015 Sommario 1. Accesso all applicazione web... 3 1.1 Autenticazione... 3 2. Conservazione

Dettagli

Alcune idee sui sistemi software e la loro architettura

Alcune idee sui sistemi software e la loro architettura Luca Cabibbo Analisi e Progettazione del Software Alcune idee sui sistemi software e la loro architettura Capitolo 92 marzo 2016 Gli orchi sono come le cipolle. Le cipolle hanno gli strati. Gli orchi hanno

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Threads 2 Mauro Migliardi Ph. D. Sincronizzazione Start Programma per ATM Request Abbastanza grano? Deduci ammontare Stampa Ricevuta End Codice... public void withdraw(float amount)

Dettagli

Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2012-13 25 luglio 2013

Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2012-13 25 luglio 2013 Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2012-13 25 luglio 2013 Testo Il database di una banca è costituito da due vettori paralleli. Il

Dettagli

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca

Dettagli

Esercizi per il recupero del debito formativo:

Esercizi per il recupero del debito formativo: ANNO SCOLASTICO 2005/2006 CLASSE 4 ISC Esercizi per il recupero del debito formativo: Facendo esclusivamente uso delle istruzioni del linguaggio macchina mnemonico del microprocessore INTEL 8086 viste

Dettagli

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente

Dettagli

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005 Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005 Si noti che le soluzioni ai quesiti saranno considerate

Dettagli

Elezioni comunali 2014. Esempi di attribuzione dei seggi

Elezioni comunali 2014. Esempi di attribuzione dei seggi Elezioni comunali 2014 4 Esempi di attribuzione dei seggi Esempi di attribuzione dei seggi Al fine di chiarire il funzionamento dei meccanismi previsti per l attribuzione dei seggi e l ordine delle relative

Dettagli

Esempi di attribuzione dei seggi

Esempi di attribuzione dei seggi Esempi di attribuzione dei seggi Al fine di chiarire il funzionamento dei meccanismi previsti per l attribuzione dei seggi e l ordine delle relative operazioni, vengono presentati due esempi di attribuzione

Dettagli

Come utilizzare i riferimenti assoluti e relativi in Microsoft Excel

Come utilizzare i riferimenti assoluti e relativi in Microsoft Excel Come utilizzare i riferimenti assoluti e relativi in Microsoft Excel In un foglio elettronico, le celle sono identificate mediante delle coordinate; in genere, sono utilizzate le lettere per identificare

Dettagli

Sommario. Note alla traduzione... xix

Sommario. Note alla traduzione... xix Sommario Prefazione... xv L utilizzo del linguaggio C per insegnare a sviluppare programmi...xv Puntatori e organizzazione del testo...xvi Concetti di ingegneria del software...xvi Aspetti pedagogici...xvii

Dettagli

Il calcolatore. Architettura di un calcolatore (Hardware)

Il calcolatore. Architettura di un calcolatore (Hardware) Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti

Dettagli

Un esempio di if annidati

Un esempio di if annidati Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XIV, parte I ) Costrutto di selezione switch Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di

Dettagli

Integrazione al Manuale Utente 1

Integrazione al Manuale Utente 1 CONTABILITA PROFESSIONISTI La contabilità dei professionisti di Picam (criterio di cassa, registro cronologico, registro incassi e/o pagamenti) è utilizzabile solamente nella versione Picam.com e Picam.com

Dettagli

Si considerino le seguenti specifiche per la realizzazione di un sito web per la gestione di abbonamenti a riviste di vario genere..

Si considerino le seguenti specifiche per la realizzazione di un sito web per la gestione di abbonamenti a riviste di vario genere.. 16 Luglio 2014 : Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche per la realizzazione di un sito web per la gestione di abbonamenti a riviste di vario genere.. Si vuole realizzare

Dettagli

Istruzioni di compilazione

Istruzioni di compilazione Modello A - Cittadini Stranieri residenti in Italia - Art.5 richiesta per matrimonio con cittadino italiano Istruzioni di compilazione L utilizzo di questo modello è riservato al coniuge, straniero o apolide,

Dettagli

Ministero della Salute

Ministero della Salute Ministero della Salute DIREZIONE GENERALE DELLA PROGRAMMAZIONE SANITARIA UFFICIO V FAQ ANAGRAFE FONDI SANITARI DOCUMENTI, DATI E INFORMAZIONI DA INSERIRE NEL SIAF 1. Quando si richiede il profilo per accedere

Dettagli