Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "http://www.programmiamo.altervista.org/c/oop/o..."

Transcript

1 PROGRAMMIAMO Programma per la gestione di un conto corrente C++ - Costruttore e distruttore C++ Home Contatti Supponiamo ora di voler scrivere un programma a menu per la gestione di un conto corrente bancario. Possiamo dunque definire una classe conto così strutturata: class conto ; void aggiornamento(); // aggiorna annualmente il deposito calcolando l'interesse I metodi della classe conto dovrebbero essere abbastanza esplicativi (lasciamo come utile esercizio al lettore la loro scrittura). Una sola precisazione è necessaria a proposito della funzione prelievo, la quale torna 1 se il prelievo è andato a buon fine (cioè se sul conto è presente la somma da prelevare), mentre torna 0 se non è stato possibile effettuare il prelievo (perché sul conto non è disponibile la somma richiesta). Il programma principale, strutturato, come si è detto, a menu potrebbe essere il seguente: int main(int argc, char *argv[]) conto cc; int scelta; double deposito, tasso, somma; cout<<"scegli l'operazione da effettuare:\n"; cout<<"1) assegna somma depositata\n2) assegna tasso di interesse\n"; cout<<"3) visualizza somma depositata\n4) visualizza tasso di interesse\n"; cout<<"5) effettua versamento\n6) effettua prelievo\n7) aggiorna conto\n"; cout<<"scelta? "; cin>> scelta; switch (scelta) 1 di 7 16/12/ :06

2 case 1: cout<<"somma depositata: "; cin>>deposito; cc.set_deposito(deposito); case 2: cout<<"tasso di interesse: "; cin>>tasso; cc.set_tasso(tasso); case 3: cout<<"somma sul conto: "<<cc.get_deposito()<<"\n"; case 4: cout<<"tasso di interesse: "<<cc.get_tasso()<<"\n"; case 5: cout<<"somma da versare: "; cin>>somma; cc.versamento(somma); case 6: cout<<"somma da prelevare: "; cin>>somma; if (!cc.prelievo(somma)) cout<<"errore: somma non disponibile sul conto.\n"; case 7: cc.aggiornamento(); cout<<"aggiornamento annuale effettuato.\n"; Osserviamo che, affinché il programma funzioni correttamente, è necessario che, prima di eseguire qualsiasi altra operazione, venga depositata una somma iniziale sul conto (con set_deposito) e venga assegnato un valore al tasso di interesse (con set_interesse). In caso contrario le proprietà (i dati) somma_depositata e tasso_interesse non hanno alcun valore e i risultati di ogni altra operazione sono privi di senso. Questo problema si verifica in C ogni qual volta si dichiara una variabile senza inizializzarla: il valore della variabile è indeterminato. Ciò può condurre potenzialmente a gravi errori, dei quali ci si accorge (talvolta) solo al momento dell'esecuzione del programma. Costruttore di classe Le classi prevedono in C++ uno strumento apposito per inizializzare le variabili della classe: il costruttore. Il costruttore (constructor) di una classe non è altro che un metodo speciale con le seguenti proprietà: il costruttore ha sempre lo stesso nome della classe; il costruttore è una funzione senza tipo, nemmeno il tipo "void"; il costruttore viene chiamato automaticamente ogni volta che viene dichiarato un oggetto appartenente a 2 di 7 16/12/ :06

3 quella certa classe. Vediamo in pratica come potrebbe essere definito il costruttore della classe conto: class conto conto() somma_depositata = 0; tasso_interesse = 0; ; Nell'esempio qui sopra il costruttore è stato definito all'interno della definizione della classe conto. Come per qualsiasi altra funzione, sarebbe stato anche possibile definirlo all'esterno della classe, lasciando nella classe il solo prototipo della funzione, in questo modo: class conto ; conto() ; conto::conto() // Si noti la ripetizione: il primo "conto" indica la classe, il secondo il costruttore somma_depositata = 0; tasso_interesse = 0; 3 di 7 16/12/ :06

4 Il costruttore, a differenza degli altri metodi, non viene mai chiamato esplicitamente in un programma. Esso viene invece invocato automaticamente al momento della dichiarazione: conto cc; In questo modo non appena viene dichiarato l'oggetto cc, automaticamente vengono azzerate le sue proprietà somma_depositata e tasso_interesse. Si osservi che non sarebbe stato possibile inizializzare tali variabili all'interno della dichiarazione della classe conto, in questo modo: class conto double somma_depositata=0, tasso_interesse=0;... // ERRORE! // Inizializzazioni non consentite! D'altra parte non sarebbe neppure stato possibile inizializzare somma_depositata e tasso_interesse all'inizio del main, dal momento che si tratta di membri private della classe conto, che non possono essere usati dall'esterno. Costruttore con parametri e overloading di costruttori Il costruttore usato nell'esempio precedente è molto semplice, poiché prevede solo la possibilità che i dati vengano inizializzati a zero. Una definizione di costruttore più interessante potrebbe essere la seguente: conto::conto(double som, double dep) somma_depositata = som; tasso_interesse = dep; Questo costruttore ha due parametri, som e dep, che servono per inizializzare con valori a piacere le proprietà della classe. Questo costruttore viene invocato al momento della dichiarazione di un oggetto di tipo conto in questo modo: conto cc(12500, 0.05); //inizializza somma_depositata a e tasso_interesse a 0.05 Vi è anche la possibilità di definire più costruttori per la stessa classe, in questo modo: class conto conto() ; conto(double, double); 4 di 7 16/12/ :06

5 ; Si noti che in questo modo abbiamo due funzioni con lo stesso nome conto. In C++ è possibile definire due funzioni con lo stesso nome, purché esse differiscano per il numero e/o per il tipo dei parametri (non è invece possibile differenziare due funzioni con lo stesso nome in base al solo valore di ritorno). Il compilatore è in grado di stabilire in base alla chiamata a quale delle funzioni ci si sta riferendo. Questo meccanismo, su cui torneremo nel seguito, viene detto overloading di funzioni. Nel nostro caso, se dichiariamo un oggetto in questo modo: conto cc; viene automaticamente invocato il costruttore senza parametri (quello che inizializza i valori a zero). Invece dichiarando l'oggetto così: conto cc(12500, 0.05); viene invocato il costruttore con parametri. Scrittura compatta di un costruttore Il C++ consente anche di scrivere in modo più compatto il codice di un costruttore, come mette in evidenza il seguente confronto: Scrittura estesa conto::conto() somma_depositata = 0; tasso_interesse = 0; conto::conto(double som, double dep) somma_depositata = som; tasso_interesse = dep; Scrittura compatta conto::conto() : somma_depositata(0), tasso_interesse(0) conto::conto(double som, double dep) : somma_depositata(som), tasso_interesse(dep) L'esempio seguente si riferisce al caso in cui il costruttore venga definito fuori dalla classe (lasciando nella classe solo il prototipo). Volendo invece dichiarare il costruttore all'interno della classe, la scrittura compatta è la seguente: class conto conto() : somma_depositata(0), tasso_interesse(0) conto(double som, double dep) : somma_depositata(som), tasso_interesse(dep) 5 di 7 16/12/ :06

6 ; Distruttore Il C++ permette di definire un altro metodo particolare con funzioni opposte a quelle del costruttore, detto distruttore (destructor). Il distruttore ha lo stesso nome della classe a cui appartiene, preceduto però dal carattere ~ (detto tilde, combinazione di tasti ALT+126 sui PC Windows). Il distruttore di una classe viene invocato automaticamente quando l'oggetto di appartenenza perde visibilità (di solito quando termina il programma) e la memoria occupata dai suoi attributi viene liberata. A differenza del costruttore, il distruttore non trova un largo impiego, tranne nelle classi che gestiscono la memoria dinamicamente: in questi casi il distruttore consente di rilasciare lo spazio di memoria allocato per l'oggetto. Il distruttore non può mai avere né argomenti né valore di ritorno. Per esempio nel caso della nostra classe conto potremmo aggiungere un distruttore ~conto() nel seguente modo: class conto ; conto() ; //costruttore della classe senza parametri conto(double, double); // costruttore con parametri ~conto(); // distruttore conto::~conto() cout<<"oggetto eliminato\n"; Al termine dell'esecuzione del programma sul video compare il messaggio "Oggetto eliminato". 6 di 7 16/12/ :06

7 precedente - successiva Sito realizzato in base al template offerto da 7 di 7 16/12/ :06

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti 13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

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

Visibilità dei Membri di una Classe

Visibilità dei Membri di una Classe Visibilità dei Membri di una Classe Lezione 10 Ogni classe definisce un proprio scope racchiude il codice contenuto nella definizione della classe e di tutti i suoi membri ogni metodo della classe definisce

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Puntatori Anno Accademico 2010/2011 Francesco Tortorella Variabili, registri ed indirizzi Abbiamo visto che la definizione di una variabile implica l allocazione (da parte del compilatore)

Dettagli

Inizializzazione, Assegnamento e Distruzione di Classi

Inizializzazione, Assegnamento e Distruzione di Classi Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della

Dettagli

costruttori e distruttori

costruttori e distruttori costruttori e distruttori Costruttore E un metodo che ha lo stesso nome della classe a cui appartiene: serve per inizializzare un oggetto all atto della sua creazione Ce ne possono essere uno, più di uno,

Dettagli

Sottoprogrammi: astrazione procedurale

Sottoprogrammi: astrazione procedurale Sottoprogrammi: astrazione procedurale Incapsulamento di un segmento di programma presente = false; j = 0; while ( (j

Dettagli

Introduzione a Classi e Oggetti

Introduzione a Classi e Oggetti Introduzione a Classi e Oggetti Oggetto: concetto astratto Entità di un programma dotata di tre proprietà caratteristiche stato informazioni conservate nell oggetto condizionano il comportamento dell oggetto

Dettagli

Utilizzo e scrittura di classi

Utilizzo e scrittura di classi Utilizzo e scrittura di classi Corso di Programmazione 3 - Ingegneria dell Informazione e dell Organizzazione 14 novembre, 2001 Gino Perna Implementazione di classi in C++ UN ESEMPIO DI CLASSE: RISULTATI

Dettagli

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia Scuola Digitale Manuale utente Copyright 2014, Axios Italia 1 SOMMARIO SOMMARIO... 2 Accesso al pannello di controllo di Scuola Digitale... 3 Amministrazione trasparente... 4 Premessa... 4 Codice HTML

Dettagli

Eredità in C++ Corso di Linguaggi di Programmazione ad Oggetti 1. a cura di Giancarlo Cherchi

Eredità in C++ Corso di Linguaggi di Programmazione ad Oggetti 1. a cura di Giancarlo Cherchi Eredità in C++ Corso di Linguaggi di Programmazione ad Oggetti 1 a cura di Giancarlo Cherchi 1 Introduzione Il meccanismo dell eredità consente di sfruttare delle relazioni tipo/sottotipo, ereditando attributi

Dettagli

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++ ISTITUTO TECNICO INDUSTRIALE STATALE G A L I L E O F E R R A R I S DIISPENSA DII IINFORMATIICA E SIISTEMII AUTOMATIICII LA GESTIONE DEI FILE DI TESTO IN C++ Le classi per la gestione dei file. Il C++ è

Dettagli

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015 Java:Struttura di Programma Fabio Scanu a.s. 2014/2015 Altre Attenzioni da riservare Java è Case Sensitive: La variabile «a» e la variabile «A» sono diverse Java ha alcune regole di scrittura: I nomi delle

Dettagli

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

Dettagli

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte...

Dettagli

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

Dettagli

I puntatori e l allocazione dinamica di memoria

I puntatori e l allocazione dinamica di memoria I puntatori e l allocazione dinamica di memoria L allocazione delle variabili Allocazione e rilascio espliciti di memoria Le funzioni malloc e free 2 2006 Politecnico di Torino 1 Allocare = collocare in

Dettagli

VARIABILI LOCALI E GLOBALI (ESTERNE)

VARIABILI LOCALI E GLOBALI (ESTERNE) VARIABILI LOCALI E GLOBALI (ESTERNE) Le variabili locali sono definite (ed il loro uso dichiarato) nella funzione (o nel blocco) che le usa; nascono quando la funzione entra in esecuzione e muoiono al

Dettagli

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Gerardo Pelosi 01 Ottobre 2014 Pagina 1 di 8 Dev-C++ - Installazione Potete

Dettagli

Relazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore

Relazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore Relazioni tra oggetti e classi : Generalizzazione Fondamenti di Informatica II 20. Laboratorio 6 Collegamenti e associazioni Le relazioni di tipo generalizzazione (specializzazione), servono per poter

Dettagli

dall argomento argomento della malloc()

dall argomento argomento della malloc() Allocazione dinamica Quando? Tutte le volte in cui i dati possono crescere in modo non prevedibile staticamente a tempo di sviluppo Un array con dimensione i fissata a compile-time non è sufficiente È

Dettagli

Struttura di un programma Java

Struttura di un programma Java Struttura di un programma Java Un programma in Java è un insieme di dichiarazioni di classi. Una classe non può contenere direttamente delle istruzioni, ma può contenere la dichiarazione di metodi, che

Dettagli

Esercizio: gestione di un conto corrente

Esercizio: gestione di un conto corrente Esercizio: gestione di un conto corrente Si realizzi un conto corrente bancario mediante: - una ASTRAZIONE DI DATO - un TIPO DI DATO ASTRATTO Il conto corrente è caratterizzato dalle seguenti informazioni:

Dettagli

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) Scrivere una funzione per definire se un numero è primo e un programma principale minimale che ne testa la funzionalità. #include

Dettagli

SOMMARIO. Programmazione orientata agli eventi. Programmazione orientata agli eventi. Programmazione orientata agli eventi

SOMMARIO. Programmazione orientata agli eventi. Programmazione orientata agli eventi. Programmazione orientata agli eventi SOMMARIO Programmazione orientata agli eventi Graphical User Interface (GUI) Programmazione in Windows MFC GUI multipiattaforma Qt Applicazione di esempio (Qt) Programmazione orientata agli eventi Un evento

Dettagli

Introduzione a ROOT. 1. Informazioni generali

Introduzione a ROOT. 1. Informazioni generali Introduzione a ROOT 1. Informazioni generali ROOT è un ambiente visualizzazione e trattamento dati interattivo sviluppato al CERN (si veda il sito ufficiale http://root.cern.ch interamente sviluppato in

Dettagli

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 3 - Variabili 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

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

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Le operazioni di allocazione e deallocazione sono a carico del sistema.

Le operazioni di allocazione e deallocazione sono a carico del sistema. Allocazione della memoria In C++ è possibile creare (allocare) variabili in maniera statica o dinamica. Nell allocazione statica una variabile esiste ed è utilizzabile dal momento della sua dichiarazione

Dettagli

Corso di Grafica Computazionale

Corso di Grafica Computazionale Corso di Grafica Computazionale Note di C++ Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Note Iniziali Il C++ non ha il concetto dei packages In

Dettagli

Breve riepilogo della puntata precedente:

Breve riepilogo della puntata precedente: Breve riepilogo della puntata precedente: 1. In C, il passaggio dei parametri alle funzioni avviene sempre per copia, ovvero il valore del parametro viene copiato all'interno della variabile che rappresenta

Dettagli

Programmazione a Oggetti Lezione 10. Ereditarieta

Programmazione a Oggetti Lezione 10. Ereditarieta Programmazione a Oggetti Lezione 10 Ereditarieta Sommario Come definire sottoclassi Costruttori Abstract Classes Final Ereditarietà: promemoria Strumento tipico dell OOP per riusare il codice e creare

Dettagli

Informatica. Prof. A. Longheu. Introduzione ai Linguaggi Object-Oriented

Informatica. Prof. A. Longheu. Introduzione ai Linguaggi Object-Oriented Informatica Prof. A. Longheu Introduzione ai Linguaggi Object-Oriented 1 Generalità programmazione OO La programmazione ad oggetti è un particolare modo di scrivere il programma. Si prevede che: 1) si

Dettagli

ISTRUZIONI SULLE OPERAZIONI DI CAMBIO ANNO CONTABILE 2005/2006 LIQUIDAZIONE IVA - STAMPA REGISTRI - CHIUSURA/APERTURA CONTI

ISTRUZIONI SULLE OPERAZIONI DI CAMBIO ANNO CONTABILE 2005/2006 LIQUIDAZIONE IVA - STAMPA REGISTRI - CHIUSURA/APERTURA CONTI ISTRUZIONI SULLE OPERAZIONI DI CAMBIO ANNO CONTABILE 2005/2006 LIQUIDAZIONE IVA - STAMPA REGISTRI - CHIUSURA/APERTURA CONTI PREMESSA La procedura contabile consente la gestione di più anni in linea. Questo

Dettagli

Gestire le PEC MANUALE OPERATIVO. Versione 1

Gestire le PEC MANUALE OPERATIVO. Versione 1 Gestire le PEC MANUALE OPERATIVO Versione 1 Marzo 2014 1 INDICE GENERALE 1.0 Panoramica della sequenza dei lavori... 3 2.0 Spiegazione dei pulsanti operativi della pagina iniziale (cruscotto)... 8 3.0

Dettagli

Introduzione. Java. Composizione. Esempio -- composizione. G. Prencipe prencipe@di.unipi.it. È qualcosa che abbiamo già visto varie volte

Introduzione. Java. Composizione. Esempio -- composizione. G. Prencipe prencipe@di.unipi.it. È qualcosa che abbiamo già visto varie volte Java riutilizzo delle classi G. Prencipe prencipe@di.unipi.it Introduzione Una delle caratteristiche fondamentali in Java è il riutilizzo del codice Ci sono due modi per ottenerlo Creare oggetti di classi

Dettagli

Modulo 4: Ereditarietà, interfacce e clonazione

Modulo 4: Ereditarietà, interfacce e clonazione Modulo 4: Ereditarietà, interfacce e clonazione Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

Compito Scritto di Ingegneria del Software. 10 gennaio 2010. Parte teorica, punti 14. Tempo a disposizione: 1 ora

Compito Scritto di Ingegneria del Software. 10 gennaio 2010. Parte teorica, punti 14. Tempo a disposizione: 1 ora Compito Scritto di Ingegneria del Software 10 gennaio 2010 Parte teorica, punti 14 Tempo a disposizione: 1 ora Esercizio 1 Si descrivano le macchine a stati finiti e i loro impieghi e limiti. PUNTI 7 Esercizio

Dettagli

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); }

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); } import java.util.*; class coda * Questa classe contiene tutti i metodi per la gestione della coda * @author D'Ambrosio Giovanni Classe 4D I.T.I.S. Grottaminarda * @version 26/02/2010 * VETTORE DINAMICO

Dettagli

puntatori Lab. Calc. AA 2007/08 1

puntatori Lab. Calc. AA 2007/08 1 puntatori Lab. Calc. AA 2007/08 1 parametri delle funzioni (dalla lezione scorsa) gli argomenti in C vengono passati by value dalla funzione chiamante alla funzione chiamata la lista degli argomenti viene

Dettagli

La struttura dati ad albero binario

La struttura dati ad albero binario La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,

Dettagli

Liberare la memoria allocata dinamicamente.

Liberare la memoria allocata dinamicamente. Scrivere un programma per la gestione dei libri e dei prestiti di una biblioteca universitaria. I libri sono caratterizzati dalle seguenti informazioni: titolo, autore, collocazione del libro, numero di

Dettagli

Parola chiave extends

Parola chiave extends Il Linguaggio Java Ereditarietà Ereditarietà L'ereditarietà permette di creare nuove classi sulla base di classi esistenti In particolare, permette di riusare il codice (metodi e campi); aggiungere nuovi

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

La presente guida illustra i passaggi fondamentali per gestire l account posta elettronica certificata (PEC) sui dispositivi Apple ipad.

La presente guida illustra i passaggi fondamentali per gestire l account posta elettronica certificata (PEC) sui dispositivi Apple ipad. La presente guida illustra i passaggi fondamentali per gestire l account posta elettronica certificata (PEC) sui dispositivi Apple ipad. OPERAZIONI PRELIMINARI Dal menu impostazioni andate su E-mail, Contatti,

Dettagli

Schede ADI ADP ADEM Prestazioni aggiuntive MMG. - Manuale - Data Solution Provider s.r.l.

Schede ADI ADP ADEM Prestazioni aggiuntive MMG. - Manuale - Data Solution Provider s.r.l. Schede ADI ADP ADEM Prestazioni aggiuntive MMG - Manuale - Data Solution Provider s.r.l. 1. Generalità Per poter accedere all applicazione è necessario aprire Internet Explorer e connettersi al sito di

Dettagli

Presentazione piattaforma Csv

Presentazione piattaforma Csv Presentazione piattaforma Csv Il Csv di Rovigo ha preparato una piattaforma web con l obiettivo di fornire alle associazioni che lo richiedono la possibilità di creare e mantenere in modo semplice un sito

Dettagli

Figura 1 Le Icone dei file di Excel con e senza macro.

Figura 1 Le Icone dei file di Excel con e senza macro. 18 Le macro Le macro rappresentano una soluzione interessante per automatizzare e velocizzare l esecuzione di operazioni ripetitive. Le macro, di fatto, sono porzioni di codice VBA (Visual Basic for Applications)

Dettagli

1.0 GUIDA PER L UTENTE

1.0 GUIDA PER L UTENTE 1.0 GUIDA PER L UTENTE COMINCIA FACILE Una volta effettuato il login vi troverete nella pagina Amministrazione in cui potrete creare e modificare le vostre liste. Una lista è semplicemnte un contenitore

Dettagli

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 17.XI.2015

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 17.XI.2015 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 17.XI.2015 VINCENZO MARRA Indice Esercizio 1 1 Conversione di un numero naturale in base b.

Dettagli

Test di unità con JUnit4

Test di unità con JUnit4 Test di unità con JUnit4 Richiamo sul test di unità Il test d unità è una metodologia che permette di verificare il corretto funzionamento di singole unità di codice in determinate condizioni. Nel caso

Dettagli

Guida alla redazione del Fascicolo XBRL

Guida alla redazione del Fascicolo XBRL o Europeo 2015 22.2.3 BILANCIO EUROPEO 2015 Guida alla redazione del Fascicolo XBRL Versione 22.2.3 Data Marzo 2015 Sommario GUIDA ALLA REDAZIONE DEL FASCICOLO XBRL parte 1 Premessa o Europeo e la gestione

Dettagli

2. I THREAD. 2.1 Introduzione

2. I THREAD. 2.1 Introduzione 2. I THREAD 2.1 Introduzione Il tipo di parallelismo che è opportuno avere a disposizione nelle applicazioni varia in base al grado di cooperazione necessaria tra le diverse attività svolte in parallelo:

Dettagli

Programmazione I / Informatica generale Prova scritta 11 Giugno 2008

Programmazione I / Informatica generale Prova scritta 11 Giugno 2008 Programmazione I / Informatica generale Prova scritta 11 Giugno 2008 NOTA: Si trascuri ogni problema legato al tipo ed al valore di ritorno della funzione main. Inoltre, nei programmi è da sottintendere

Dettagli

Programmazione in Java (I modulo) Lezione 3: Prime nozioni

Programmazione in Java (I modulo) Lezione 3: Prime nozioni Programmazione in Java (I modulo) Lezione 3: Prime nozioni La volta scorsa Abbiamo avuto un primo assaggio! Abbiamo visto come usare l editor per scrivere un programma Java. Abbiamo analizzato riga per

Dettagli

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015. Indice

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015. Indice LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015 VINCENZO MARRA Indice Parte 1. Input/Output standard dalla console 2 Esercizio 1 2 Eco

Dettagli

Stampa unione in Word 2010 Stampe multiple personalizzate

Stampa unione in Word 2010 Stampe multiple personalizzate Stampa unione in Word 2010 Stampe multiple personalizzate Autore: Alessandra Salvaggio Tratto dal libro: Lavorare con Word 2010 Quando bisogna inviare documenti personalizzato a molte persone una funzione

Dettagli

Livelli di astrazione

Livelli di astrazione Realizzare Classi Astrazione Perdita di dettaglio Utile nella descrizione, progettazione, implementazione e utilizzo di sistemi complessi Dettagli trascurabili vengono incapsulati in sottosistemi più semplici

Dettagli

Fido e Scoperto, Blocchi Amministrativi

Fido e Scoperto, Blocchi Amministrativi Release 5.20 Manuale Operativo CLIENTI PLUS Fido e Scoperto, Blocchi Amministrativi Il modulo Clienti Plus è stato studiato per ottimizzare la gestione amministrativa dei clienti, abilitando la gestione

Dettagli

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

Dettagli

Guida iscrizione Community. istruzione.social.marche.it

Guida iscrizione Community. istruzione.social.marche.it Guida iscrizione Community istruzione.social.marche.it 1. Collegarsi con un browser all indirizzo : http://istruzione.social.marche.it 2. Viene visualizzata la seguente schermata di cohesion : 3. Se siete

Dettagli

HORIZON SQL CONFIGURAZIONE DI RETE

HORIZON SQL CONFIGURAZIONE DI RETE 1-1/9 HORIZON SQL CONFIGURAZIONE DI RETE 1 CARATTERISTICHE DI UN DATABASE SQL...1-2 Considerazioni generali... 1-2 Concetto di Server... 1-2 Concetto di Client... 1-2 Concetto di database SQL... 1-2 Vantaggi...

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

CAPITOLO 1 PREREQUISITI DI INSTALLAZIONE SOFTWARE RICAMBI CAPITOLO 2 PROCEDURA

CAPITOLO 1 PREREQUISITI DI INSTALLAZIONE SOFTWARE RICAMBI CAPITOLO 2 PROCEDURA SOFTWARE RICAMBI CAPITOLO 1 PREREQUISITI DI INSTALLAZIONE SOFTWARE RICAMBI CAPITOLO 2 PROCEDURA DI INSTALLAZIONE SOFTWARE RICAMBI CAPITOLO 3 ISTRUZIONI PER L USO 1 CAPITOLO 1 PREREQUISITI DI INSTALLAZIONE

Dettagli

CREAZIONE DI UN DB RELAZIONALE IN ACCESS

CREAZIONE DI UN DB RELAZIONALE IN ACCESS CONTENUTI: CREAZIONE DI UN DB RELAZIONALE IN ACCESS Definizione della chiave primaria di una tabella Creazione di relazioni fra tabelle Uso del generatore automatico di Query A) Apertura del DB e creazione

Dettagli

Programmazione in Java Parte I: Fondamenti

Programmazione in Java Parte I: Fondamenti Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella Riferimenti Testi consigliati: Progettazione del software e design pattern in Java di C.S. Horstmann Apogeo Gli esempi di codice

Dettagli

Funzioni. Il modello console. Interfaccia in modalità console

Funzioni. Il modello console. Interfaccia in modalità console Funzioni Interfaccia con il sistema operativo Argomenti sulla linea di comando Parametri argc e argv Valore di ritorno del programma La funzione exit Esercizio Calcolatrice 2, presente in tutti i programmi

Dettagli

BANCA DATI PER L OCCUPAZIONE DEI GIOVANI GENITORI

BANCA DATI PER L OCCUPAZIONE DEI GIOVANI GENITORI Istituto Nazionale Previdenza Sociale Direzione centrale entrate Direzione centrale sistemi informativi e tecnologici BANCA DATI PER L OCCUPAZIONE DEI GIOVANI GENITORI Guida alla procedura di richiesta

Dettagli

ALICE PRATICHE EDILIZIE ON LINE MANUALE D'USO REL. 3.2

ALICE PRATICHE EDILIZIE ON LINE MANUALE D'USO REL. 3.2 PRATICHE EDILIZIE ON LINE MANUALE D'USO REL. 3.2 edizione: maggio 2011 INDICE 1. INTRODUZIONE... 2 1.1. Cos è ALICE PE Online... 2 1.2. Conoscenze richieste... 2 1.3. Terminologia di base... 3 2. GUIDA

Dettagli

E' sempre valido il comando che si usa anche con Outlook Express e con Windows Mail: shift più control più V.

E' sempre valido il comando che si usa anche con Outlook Express e con Windows Mail: shift più control più V. Microsoft Outlook 2007. Di Nunziante Esposito. `*************` Decima ed ultima parte: Varie. `***********` Dopo aver impostato al meglio le opzioni ed il layout di questo browser, e dopo le indicazioni

Dettagli

Gestione Risorse Umane Web

Gestione Risorse Umane Web La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...

Dettagli

EDICOLA MANAGER 2.2. + EM Importer

EDICOLA MANAGER 2.2. + EM Importer EDICOLA MANAGER 2.2 + EM Importer Con la versione 2.2 del programma sono state introdotte numerose novità grazie anche alla collaborazione di colleghi che hanno messo a disposizione utility e documenti

Dettagli

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu

Dettagli

Servizi Comunali. Gestione di profili utenti per tessere scolastiche mensa e altri servizi. Esercente

Servizi Comunali. Gestione di profili utenti per tessere scolastiche mensa e altri servizi. Esercente Manuale istruttivo per l uso del programma di servizi comunali inerenti la gestione del pagamento online di servizi comunali quali tessere scolastiche per mensa e trasporto, i profili utente, la ricerca

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 B2 Significato e proprietà della OOP 1 Prerequisiti Concetto ed elementi della comunicazione Allocazione e deallocazione della memoria Compilazione di un programma Spazio

Dettagli

Guido d uso sito internet Unione Valdera

Guido d uso sito internet Unione Valdera Guido d uso sito internet Unione Valdera Accesso Area riservata di gestione sito: Inserito nome utente e password vi troverete la schermata di cui sotto con le sezioni del sito in evidenza Cliccando sulla

Dettagli

Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans

Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans Prima di tutto va installato il compilatore, ottenibile scaricando ed installando MinGW o CygWin. MinGW: http://www.mingw.org/download.shtml CygWin:

Dettagli

Registrazione nuovo utente. Per registrare un nuovo utente cliccare sul link Registrazione

Registrazione nuovo utente. Per registrare un nuovo utente cliccare sul link Registrazione Manuale Gedos 2 Indice Indice... 3 Il Portale... 4 Registrazione nuovo utente... 5 Primo Logon... 8 Registrazione a Gedos... 9 Accesso ai Servizi... 11 Gestione Donatori... 12 Inserimento nuovo donatore...

Dettagli

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma Dev C++ Note di utilizzo 1 Prerequisiti Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma 2 1 Introduzione Lo scopo di queste note è quello di diffondere la conoscenza

Dettagli

Guida informatica per l associazione #IDEA

Guida informatica per l associazione #IDEA Guida informatica per l associazione #IDEA Questa guida vi spiegherà come utilizzare al meglio gli strumenti informatici che utilizza l associazione #IDEA in modo da facilitare il coordinamento con tutti

Dettagli

developed by Emanuele De Carlo

developed by Emanuele De Carlo developed by Emanuele De Carlo WorkGym è un Software sviluppato in JAVA pensato per migliorare la gestione di piccole e grandi palestre. Il suo principale scopo è quello di mantenere un DataBase contenente

Dettagli

www.renatopatrignani.it 1

www.renatopatrignani.it 1 APRIRE UN PROGRAMMA DI POSTA ELETTRONICA MODIFICARE IL TIPO DI VISUALIZZAZIONE LEGGERE UN CHIUDERE IL PROGRAMMA ESERCITAZIONI Outlook Express, il programma più diffuso per la gestione della posta elettronica,

Dettagli

Posta elettronica. Per esercitarti su questa parte puoi consultare l Esercitazione 3 su www.self-pa.net

Posta elettronica. Per esercitarti su questa parte puoi consultare l Esercitazione 3 su www.self-pa.net Posta elettronica Per esercitarti su questa parte puoi consultare l Esercitazione 3 su www.self-pa.net Che cos è e a cosa serve È uno dei principali servizi di Internet e consente di scambiare corrispondenza

Dettagli

1. I database. La schermata di avvio di Access

1. I database. La schermata di avvio di Access 7 Microsoft Access 1. I database Con il termine database (o base di dati) si intende una raccolta organizzata di dati, strutturati in maniera tale che, effettuandovi operazioni di vario tipo (inserimento

Dettagli

EDICOLA MANAGER 2.2. + EM Importer

EDICOLA MANAGER 2.2. + EM Importer EDICOLA MANAGER 2.2 + EM Importer Con la versione 2.2 del programma sono state introdotte numerose novità grazie anche alla collaborazione di colleghi che hanno messo a disposizione utility e documenti

Dettagli

Sistema Informativo Alice

Sistema Informativo Alice Sistema Informativo Alice Urbanistica MANUALE UTENTE MODULO PROFESSIONISTI WEB settembre 2007 INDICE 1. INTRODUZIONE...2 1.1. Cos è MPWEB?... 2 1.2. Conoscenze richieste... 2 1.3. Modalità di utilizzo...

Dettagli

Programmatore per telaio scheller

Programmatore per telaio scheller Divo Di Lupo Sistemi per telai Cotton Bentley Monk Textima Scheller Closa Boehringer http://www.divodilupo.191.it/ Programmatore per telaio scheller Attuatore USB semplificato Numero totale di pagine =

Dettagli

Come utilizzare i calendari di Firstclass

Come utilizzare i calendari di Firstclass Come utilizzare i calendari di Firstclass Manuale di FirstClass Client Generalità Tra le nuove caratteristiche di FirstClass la più importante è sicuramente il calendario, che può essere utilizzato sia

Dettagli

AUTOMAZIONE DELLE PROCEDURE DI GESTIONE MAGAZZINO E GESTIONE LAVORAZIONI, CON INTRODUZIONE DI LETTORI PORTATILI DI CODICI A BARRE WI-FI

AUTOMAZIONE DELLE PROCEDURE DI GESTIONE MAGAZZINO E GESTIONE LAVORAZIONI, CON INTRODUZIONE DI LETTORI PORTATILI DI CODICI A BARRE WI-FI AUTOMAZIONE DELLE PROCEDURE DI GESTIONE MAGAZZINO E GESTIONE LAVORAZIONI, CON INTRODUZIONE DI LETTORI PORTATILI DI CODICI A BARRE WI-FI INTRODUZIONE Il progetto nasce dall esigenza dei clienti di sviluppare

Dettagli

BOZZA. cin per la comunicazione dal dispositivo di input standard, la tastiera, al programma (stream di input standard)

BOZZA. cin per la comunicazione dal dispositivo di input standard, la tastiera, al programma (stream di input standard) Capitolo 6 Input/output su file BOZZA 6.1 Stream e file L input/output in C ++, in particolare quello su file, avviene tramite stream. stream. Uno stream è un astrazione di un canale di comunicazione,

Dettagli

MANUALE ESSE3 Gestione Registro delle lezioni

MANUALE ESSE3 Gestione Registro delle lezioni MANUALE ESSE3 Gestione Registro delle lezioni DOCENTI 1 INDICE 1. INTRODUZIONE E ACCESSO... 3 2. GESTIONE DEL REGISTRO... 4 2.1. Informazioni generali... 6 2.2. Stato del Registro... 7 2.2.1. Transizioni

Dettagli

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta. Configurazione Account di posta dell Università di Ferrara con il Eudora email Eudora email può

Dettagli

Invio SMS. DM Board ICS Invio SMS

Invio SMS. DM Board ICS Invio SMS Invio SMS In questo programma proveremo ad inviare un SMS ad ogni pressione di uno dei 2 tasti della DM Board ICS. Per prima cosa creiamo un nuovo progetto premendo sul pulsante (Create new project): dove

Dettagli

Guida rapida sull'utilizzo del sistema CMS 2.3

Guida rapida sull'utilizzo del sistema CMS 2.3 Guida rapida sull'utilizzo del sistema CMS 2.3 Introduzione Tutti i pulsanti, icone e barre di ordinamento dei dati sono auto-esplicativi e dispongono di un testo di aiuto o nota che descrive l'azione

Dettagli