Il linguaggio C++ Dalla programmazione imperativa alla programmazione a oggetti. Piero Gallo Fabio Salerno. Minerva Italica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il linguaggio C++ Dalla programmazione imperativa alla programmazione a oggetti. Piero Gallo Fabio Salerno. Minerva Italica"

Transcript

1 p _cec_ :06 Pagina 1 Piero Gallo Fabio Salerno Il linguaggio C++ Dalla programmazione imperativa alla programmazione a oggetti Minerva Italica

2 p _cec_ :06 Pagina by Minerva Italica, Milano Edumond Le Monnier S.p.A. Tutti i diritti riservati Prima edizione: gennaio 2004 Il Sistema Qualità di Edumond Le Monnier S.p.A. è certificato da BVQI secondo la Norma UNI EN ISO 9001:2000 (Vision 2000) per le attività di: progettazione, realizzazione e commercializzazione di testi scolastici, dizionari e supporti. ISBN Edizioni: Questo volume è stato stampato presso Cartoedit - Città di Castello (Pg) Stampato in Italia - Printed in Italy Supervisione: Francarturo Bertolotti Progetto grafico e copertina: Silvano Colombo Redazione: Lorenzo Plebani, Giovanni Malafarina Coordinamento tecnico: Daniele Sculati

3 p _cec_ :06 Pagina 3 Presentazione Il volume descrive il linguaggio di programmazione C++ partendo dal paradigma imperativo e introduce gradualmente il paradigma ad oggetti. La proverbiale efficacia ed efficienza del C++ procedurale viene così ad integrarsi e ad estendersi agli oggetti del C++. In un unico volume, in definitiva, si ottiene un risultato dalla doppia valenza: trattare due paradigmi distinti e allo stesso tempo impostare un comune metodo didattico, grazie al quale il lettore, al termine del percorso formativo, potrà affrontare lo studio di un qualsiasi progetto reale applicativo secondo i canoni di uno dei due paradigmi trattati, oppure secondo un canone ibrido. Il C++ procedurale, diffusissimo e utilizzato nei più disparati contesti, viene così integrato e arricchito delle funzionalità tipiche del mondo degli oggetti, consentendo al lettore di avvicinarsi in modo graduale a concetti, anche complessi, tipici del mondo della programmazione ad oggetti, quali incapsulamento, polimorfismo, ereditarietà. La grande duttilità e portabilità di questi due paradigmi consente inoltre di poter scrivere applicazioni per diverse piattaforme hardware-software e routine dalla eccezionale efficienza esecutiva. L impianto didattico si basa sull offerta di esempi dalla complessità crescente. Essi permettono di acquisire quelle conoscenze di base sulle strutture di controllo e sulle strutture dati comuni ai due linguaggi, per poi consentire di spaziare su argomenti quali i famosi puntatori e le classi di oggetti, indispensabili per produrre programmi di livello professionale. Le caratteristiche didattiche del volume La metodologia adottata nel volume fa sì che lo studente veda immediatamente i risultati dei propri sforzi, trovando motivazione nello studio e, contemporaneamente, familiarizzi, quasi senza accorgersene, con concetti tipici dei linguaggi di programmazione. Il volume è articolato in moduli, ciascuno preceduto dalla dichiarazione dei prerequisiti, degli obiettivi, delle conoscenze da apprendere e delle competenze da acquisire. Risulta pertanto facile per il docente programmare l insegnamento e per l alunno progettare l apprendimento. I singoli moduli sono strutturati in unità didattiche, anch esse precedute dalla dichiarazione dei prerequisiti, degli obiettivi, delle conoscenze da apprendere e delle competenze da acquisire. Le singole unità sono chiuse da verifiche finali, sia di tipo cognitivo (Verifica delle conoscenze) sia di tipo operativo (Verifica delle competenze), molte delle quali contengono anche numerosi esercizi svolti, quasi sempre forniti di una breve analisi del processo risolutivo. Il sito Web Per offrire uno strumento didattico sempre aggiornato e vivo e che risponda alle nuove esigenze formative richieste dal mondo del lavoro, abbiamo pensato che il volume dovesse essere strutturato in modo che la parte cartacea fosse solo una componente. Il volume si completa, infatti, con un sito Web. Tra i due esiste una stretta relazione. Scopo del sito è da un lato quello di sostituire la guida del docente, dall altro e soprattutto quello di costituire un punto di riferimento sia per il docente 3

4 p _cec_ :06 Pagina 4 sia per il discente. Anche gli alunni, infatti, possono, collegandosi al sito, fornire materiale didattico, spunti, osservazioni ed anche formulare proposte innovative, proporre nuove tematiche di studio, ecc. Il sito Web è raggiungibile all indirizzo: Il sito è relativo a tutti i tomi della collana Laboratorio di informatica. Nella sezione appositamente dedicata al presente volume, esso offre: un area che consente il download dei codici presenti nel volume. Per ogni unità didattica, infatti, i codici relativi agli esercizi sviluppati possono essere scaricati in vari formati (.zip,.html,.pdf, ecc.), selezionando la sigla ad essi corrispondente, appositamente indicata nelle pagine del volume (per mezzo di rimandi, come quello mostrato nell esempio seguente: vedi sito: CPP.A.02.C ); un area che offre ulteriori esercizi svolti rispetto a quelli riportati nel testo, anch essi scaricabili in vari formati; link utili, che rimandano a siti Web significativi, relativi ai linguaggi trattati nel volume; un area dedicata a appendici e a sezioni di approfondimento e di aggiornamento; un area dedicata alla guida del docente, che offre percorsi didattico-formativi e proposte di prove di verifica (pratiche, aperte, semistrutturate, strutturate). Il sito sarà aggiornato periodicamente: potrà, pertanto, prevedere nuove aree qui non menzionate. Ringraziamenti I meriti del lavoro devono essere condivisi tra tutti coloro che ci hanno aiutato, consigliato, o dei quali abbiamo consultato i testi. In modo particolare, gli autori ringraziano il prof. Ilario Pagliara, docente universitario di Fondamenti di Informatica, che ha dato un valore aggiunto a molte unità e ha collaborato all impostazione strutturale e contenutistica dell opera, e la prof.ssa Marialina Pietramala, ordinario di Informatica industriale, per l attento e puntuale lavoro di rilettura critica delle bozze e per i preziosi suggerimenti. Gli autori 4

5 p _cec :07 Pagina 5 Indice generale MODULO A: Fondamenti del linguaggio C++ Prerequisiti 9 Obiettivi 9 Conoscenze da apprendere 9 Competenze da acquisire 9 UNITÀ DIDATTICA A1 Introduzione ai linguaggi C e C++ 10 Prerequisiti 10 Obiettivi 10 Conoscenze da apprendere 10 Competenze da acquisire 10 1 Generalità sul linguaggio C 10 2 Le principali caratteristiche del linguaggio C 11 3 Il linguaggio C I miglioramenti rispetto al C 12 5 Descrizione sintattica dei linguaggi di programmazione 12 6 Gli elementi di un programma C Il programma principale (funzione main) La preelaborazione del codice sorgente: le direttive al preprocessore Le funzioni per la gestione dell input/output 16 7 Realizziamo il nostro primo programma C Dal codice sorgente al codice eseguibile 17 9 Come creare e compilare un progetto in C++ 17 Verifica di fine unità 20 Verifica delle conoscenze 20 Verifica delle competenze 20 UNITÀ DIDATTICA A2 Elementi lessicali ed espressioni 21 Prerequisiti 21 Obiettivi 21 Conoscenze da apprendere 21 Competenze da acquisire 21 1 L alfabeto del linguaggio C Le regole lessicali 22 3 I commenti 22 4 Gli identificatori 23 5 Le espressioni 23 6 Gli operandi Variabili e costanti Le costanti Le costanti numeriche intere Le costanti numeriche decimali o in virgola mobile I caratteri I caratteri speciali Le costanti stringa Come dichiarare variabili e costanti I tipi di dato fondamentali Il tipo int Il tipo char I tipi float e double Il tipo bool 30 7 Gli operatori L operatore di assegnamento Gli operatori aritmetici Gli operatori relazionali Gli operatori logici Gli operatori sui bit Un operatore particolare: l operatore sizeof Gli operatori speciali, e? 36 8 La conversione di tipo La conversione implicita Conversione tra tipi numerici interi Conversione tra tipi numerici in virgola mobile La conversione esplicita Il casting esplicito Metodi di conversione 38 Verifica di fine unità 39 Verifica delle conoscenze 39 Verifica delle competenze 39 UNITÀ DIDATTICA A3 Istruzioni e strutture di controllo 41 Prerequisiti 41 Obiettivi 41 Conoscenze da apprendere 41 Competenze da acquisire 41 1 Le istruzioni di input/output 41 2 Le istruzioni di salto 42 3 Le istruzioni condizionali (o di selezione) L istruzione if..else 43 5

6 p _cec :07 Pagina L istruzione switch 45 4 Le istruzioni iterative I costrutti while e do..while Il costrutto for Un esercizio con i cicli while e for: la successione di Fibonacci Le istruzioni break e continue Le iterazioni infinite 52 Verifica di fine unità 53 Verifica delle conoscenze 53 Verifica delle competenze 53 UNITÀ DIDATTICA A4 Funzioni, moduli software e file header 56 Prerequisiti 56 Obiettivi 56 Conoscenze da apprendere 56 Competenze da acquisire 56 1 Tipi di sottoprogrammi: procedure e funzioni 56 2 Costruzione e uso di una funzione 57 3 Le regole di visibilità: variabili locali e globali 58 4 Il passaggio dei parametri 60 5 Moduli software, linkage e variabili extern 62 6 File header e information hiding 65 7 Alcuni importanti file header 67 8 La direttiva #define 67 9 Librerie di funzioni e compilazione condizionata Le variabili static Variabili locali dichiarate static Variabili globali dichiarate static Le variabili automatic e register 72 Verifica di fine unità 73 Verifica delle conoscenze 73 Verifica delle competenze 73 Esercizio svolto 74 UNITÀ DIDATTICA A5 Tipi di dato strutturati 75 Prerequisiti 75 Obiettivi 75 Conoscenze da apprendere 75 Competenze da acquisire 75 1 Gli array 75 2 La dichiarazione di un vettore 76 3 L inizializzazione di un vettore 76 4 Come passare un vettore a una funzione 78 5 Le stringhe 79 6 Le funzioni che operano sulle stringhe 82 7 Gli array bidimensionali e multidimensionali 83 8 Le strutture 85 9 Gli array di strutture: le tabelle Le unioni Le enumerazioni 89 Verifica di fine unità 90 Verifica delle conoscenze 90 Verifica delle competenze 90 MODULO B: Allocazione dinamica della memoria Prerequisiti 93 Obiettivi 93 Conoscenze da apprendere 93 Competenze da acquisire 93 Verifica delle competenze 105 Esercizio svolto 105 UNITÀ DIDATTICA B1 Puntatori e reference 94 Prerequisiti 94 Obiettivi 94 Conoscenze da apprendere 94 Competenze da acquisire 94 1 I puntatori 94 2 L algebra dei puntatori 96 3 Puntatori e passaggio di parametri 98 4 Puntatori e array 99 5 Puntatori e stringhe Puntatori e strutture Gli argomenti della funzione main( ) 103 Verifica di fine unità 105 Verifica delle conoscenze 105 UNITÀ DIDATTICA B2 Allocazione e deallocazione dinamica della memoria 106 Prerequisiti 106 Obiettivi 106 Conoscenze da apprendere 106 Competenze da acquisire Stack e heap L allocazione dinamica della memoria La deallocazione dinamica Un esempio di allocazione dinamica: il tipo di dato astratto Pila 110 Verifica di fine unità 112 Verifica delle conoscenze 112 Verifica delle competenze 112 6

7 p _cec :07 Pagina 7 MODULO C: C++ e gli oggetti Prerequisiti 113 Obiettivi 113 Conoscenze da apprendere 113 Competenze da acquisire 113 UNITÀ DIDATTICA C1 Iniziamo a lavorare con gli oggetti 114 Prerequisiti 114 Obiettivi 114 Conoscenze da apprendere 114 Competenze da acquisire Classi di oggetti Dichiarazione e implementazione delle funzioni membro di una classe Visibilità di variabili e funzioni membro: incapsulamento e information hiding Variabili locali e variabili membro Relazione tra classi, struct e union Creazione di oggetti, funzioni costruttore e distruttore La dichiarazione di un oggetto Allocazione con chiamata esplicita del costruttore Dichiarazione e allocazione con chiamata esplicita al costruttore Dichiarazione di più funzioni costruttore Forma abbreviata di istanziazione Funzioni membro distruttore Ciclo di vita di un oggetto Interazione tra oggetti Invocazione di una funzione membro Accesso alle variabili membro Creiamo un applicazione completa: la classe Automobile Passaggio di oggetti come parametri e valori di ritorno Un confronto tra la programmazione imperativa e quella ad oggetti Analisi e progettazione a oggetti per il nostro esempio Confronto del codice a oggetti con quello imperativo 135 Verifica di fine unità 137 Verifica delle conoscenze 137 Verifica delle competenze 137 Esercizio svolto 138 UNITÀ DIDATTICA C2 Allocazione dinamica, oggetti e puntatori 139 Prerequisiti 139 Obiettivi 139 Conoscenze da apprendere 139 Competenze da acquisire Allocazione dinamica di oggetti in memoria L operatore new Accesso alle variabili e alle funzioni membro Puntatori e oggetti Assegnazione di oggetti di una stessa classe Puntatori a oggetti e passaggio di oggetti come parametri Passaggio per valore Passaggio per indirizzo tramite puntatore Passaggio per reference di un oggetto L operatore delete Il puntatore all oggetto corrente: this La classe Pila Le specifiche della classe Pila Implementazione della classe Pila con allocazione dinamica Classi nello stesso file o in file separati Variabili e funzioni membro di classe Funzioni amiche di una classe Funzioni amiche di più classi Classi amiche 155 Verifica di fine unità 156 Verifica delle conoscenze 156 Verifica delle competenze 156 Esercizio svolto 156 UNITÀ DIDATTICA C3 Ereditarietà e polimorfismo 157 Prerequisiti 157 Obiettivi 157 Conoscenze da apprendere Ereditarietà, classi e sottoclassi Ereditarietà singola Un altro esempio di ereditarietà Costruttori, distruttori ed ereditarietà Costruttori delle sottoclassi con parametri Chiamata della funzione membro della superclasse Funzioni virtuali Funzioni e classi astratte Un esempio di classi astratte Polimorfismo In che cosa consiste il binding dinamico? Ereditarietà multipla Il problema dell ambiguità nell ereditarietà multipla Un altra ambiguità risolta a tempo di compilazione 174 Verifica di fine unità 175 Verifica delle conoscenze 175 Verifica delle competenze 175 Esercizi svolti 175 UNITÀ DIDATTICA C4 Overloading di operatori e classi generiche 177 Prerequisiti 177 Obiettivi 177 Conoscenze da apprendere 177 7

8 p _cec :07 Pagina 8 1 Overloading di operatori Definire una nuova operazione: le funzioni operatore Overloading di operatori binari Overloading di operatori unari prefissi Overloading di operatori unari postfissi Overloading dell operatore di assegnazione Overloading di operatori relazionali Funzioni e classi generiche Funzioni generiche Classi generiche 185 Verifica di fine unità 188 Verifica delle conoscenze 188 Verifica delle competenze 188 UNITÀ DIDATTICA C5 Flussi e database 189 Prerequisiti 189 Obiettivi 189 Conoscenze da apprendere Gli stream Stream e file Le classi per gestire i file Flussi sequenziali Leggere e scrivere flussi sequenziali di byte Leggere e scrivere flussi sequenziali di oggetti Leggere e scrivere flussi sequenziali di testo Manipolatori per la formattazione dell output Interazione con i database Basi di dati, DBMS e linguaggi SQL ODBC e ADO Esempio di visualizzazione dei dati di una tabella mediante ODBC Esempio di inserimento e modifica dei dati di una tabella mediante ODBC 205 Verifica di fine unità 206 Verifica delle conoscenze 206 Verifica delle competenze 206 MODULO D: Ambiente di programmazione visuale per C++ Prerequisiti 207 Obiettivi 207 Conoscenze da apprendere 207 Competenze da acquisire 207 UNITÀ DIDATTICA D1 Interfaccia grafica ed eventi in Visual C Prerequisiti 208 Obiettivi 208 Conoscenze da apprendere 208 Competenze da acquisire La Microsoft Foundation Class La programmazione visuale L ambiente Visual C I modelli di una applicazione Classi e oggetti grafici I controlli Gestione degli eventi in Visual C Un modello di gestione degli eventi Come creare un gestore per un evento Raggruppare gli eventi 216 Verifica di fine unità 217 Verifica delle conoscenze 217 Verifica delle competenze 217 UNITÀ DIDATTICA D2 Creare applicazioni visuali in Visual C Prerequisiti 218 Obiettivi 218 Conoscenze da apprendere 218 Competenze da acquisire Creare la prima applicazione visuale: uso di pulsanti e caselle di testo Creare un nuovo progetto Creare la struttura dell applicazione visuale con AppWizard La prima compilazione e il primo linking dei file dell applicazione La prima esecuzione dell applicazione Modificare l interfaccia dell applicazione Aggiungere una casella di testo Aggiungere un pulsante Gestire l evento clic sul pulsante Verifica dell applicazione appena modificata Salvare e chiudere il progetto Utilizziamo le finestre di dialogo predefinite Utilizzare GUI e classi definite dall utente Includere classi definite dall utente Associamo l evento al pulsante Utilizzare caselle di controllo e pulsanti di opzione Finestre definite dal programmatore e caselle combinate Finestre di uso comune Lavoriamo con i menu Creiamo un applicazione con menu e finestre Colleghiamo il menu alla funzione di gestione Strumenti visuali per interagire con i database 235 Verifica di fine unità 238 Verifica delle conoscenze 238 Verifica delle competenze 238 INDICE ANALITICO 239 8

9 p _cec_unità A :27 Pagina 9 Fondamenti del linguaggio C++ Modulo A U.D. A1. Introduzione ai linguaggi C e C++ U.D. A2. Elementi lessicali ed espressioni U.D. A3. Istruzioni e strutture di controllo U.D. A4. Funzioni, moduli software e file header U.D. A5. Tipi di dato strutturati Prerequisiti Variabili e costanti Algoritmi Costrutti fondamentali della programmazione strutturata Metodologia top-down Caratteristiche dei linguaggi compilati Obiettivi Costruire i primi programmi C++ privilegiando la fase di analisi e la metodologia implementativa top-down Comprendere le peculiarità dei tipi di dato e, in particolare, dei dati strutturati Riuscire a scrivere correttamente le istruzioni C++ rispettando la struttura del programma Conoscenze da apprendere Conoscere la struttura di un programma C++ Conoscere i tipi di dato utilizzati dal linguaggio C++ Conoscere i costrutti fondamentali Competenze da acquisire Saper classificare le istruzioni del linguaggio C++ Saper implementare correttamente i costrutti fondamentali della programmazione strutturata Saper realizzare semplici programmi C++ Riuscire a sviluppare software che manipoli dati strutturati 9

10 p _cec_unità A :27 Pagina 10 Unità didattica A1 Introduzione ai linguaggi C e C++ Prerequisiti Variabili e costanti Algoritmi Obiettivi Familiarizzare con le istruzioni elementari del linguaggio C++ Comprendere le caratteristiche di base dei linguaggi di medio-basso livello Compilare ed eseguire un programma C++ Conoscenze da apprendere Conoscere le caratteristiche generali dei linguaggi C e C++ Conoscere la struttura di un programma C++ Conoscere gli strumenti per iniziare il lavoro di programmazione Conoscere la sintassi delle prime istruzioni C++ e il metalinguaggio utilizzato per la loro rappresentazione Competenze da acquisire Saper realizzare semplici programmi C++ Saper utilizzare un ambiente di sviluppo integrato Saper utilizzare le prime istruzioni di output 1 Generalità sul linguaggio C Il C è un linguaggio di programmazione procedurale di alto livello. Progettato e realizzato da Dennis Ritchie nel 1972, fu sviluppato presso gli AT&T Bell Laboratories allo scopo di ottenere un linguaggio di alto livello per l implementazione dei sistemi operativi. Il linguaggio C fu utilizzato per la prima volta in modo estensivo per la riscrittura del codice del sistema operativo UNIX dal linguaggio Assembler; inevitabilmente, molte delle sue caratteristiche derivano dalle specifiche necessità legate alla realizzazione di un sistema operativo in generale, e di UNIX in particolare. Benché strettamente legato a quest ultimo sistema, il C può essere impiegato con i principali sistemi operativi oggi disponibili. Steve Johnson, nella metà degli anni Settanta, scrisse un compilatore C trasportabile su sistemi diversi dal PDP-11: da allora il C cominciò a essere utilizzato come linguaggio in altri sistemi operativi, come MS-DOS e CPM/80. Nel 1978 fu pubblicato The C Programming Language di Brian Kernighan e Dennis Ritchie (K&R): la pubblicazione servì da definizione ufficiale del linguaggio, anche se già dalla distribuzione della versione V7 erano presenti alcune caratteristiche assenti in K&R. Nella metà degli anni Ottanta il comitato X3JI1 dell ANSI (American National Standards Institute) sviluppò uno standard per il linguaggio C che aggiungeva importanti elementi e ufficializzava molte caratteristiche presenti nei diversi compilatori realiz- 10 Modulo A: Fondamenti del linguaggio C++

11 p _cec_unità A :27 Pagina 11 zati successivamente alla pubblicazione di K&R. Da allora l ANSI C cominciò a essere considerata la versione ufficiale del linguaggio in sostituzione a quella di K&R. 2 Le principali caratteristiche del linguaggio C Le caratteristiche peculiari del linguaggio C possono essere riassunte nel seguente elenco. È un linguaggio general purpose, ossia può essere impiegato per codificare progetti software di natura diversa, da quelli real time a quelli che operano su basi di dati, da quelli tecnico-scientifici sino alla realizzazione di moduli per il sistema operativo. È un linguaggio strutturato di tipo imperativo (o procedurale). È un linguaggio case sensitive, ossia opera una distinzione tra lettere minuscole e lettere maiuscole. Ad esempio, la variabile PIPPO è diversa dalle variabili Pippo e pippo. È un linguaggio compilato. Il problema dei linguaggi imperativi compilati è che sono legati alla piattaforma su cui vengono compilati: se compiliamo un programma sotto UNIX, quel programma potrà essere eseguito esclusivamente su sistemi operativi UNIX. Nella versione ANSI, è facilmente portabile e perciò multipiattaforma; può infatti essere compilato su un ampia gamma di computer. Pur essendo un linguaggio di alto livello (in quanto possiede strutture ad alto livello) e nonostante possa definirsi potente ed efficiente, il C è un linguaggio relativamente di basso livello, particolarmente per quanto riguarda la rappresentazione dei dati. Produce programmi efficienti. Essendo nato per implementare sistemi operativi, il C evita anche, ove possibile, qualsiasi operazione che possa determinare un decadimento del livello di efficienza del programma eseguibile. 3 Il linguaggio C++ Intorno alla prima metà degli anni Ottanta fu sviluppata un estensione del linguaggio C chiamata C++. Tale potenziamento si pone come sovrainsieme del linguaggio C mantenendone le caratteristiche fondamentali e aggiungendovi concetti propri dei linguaggi object oriented. Ufficialmente, il C++ nasce nel 1983 a opera del danese Bjarne Stroustrup, che nel 1979 viene in contatto con gli ideatori del C e di UNIX nei laboratori della AT&T Bell, presso i quali rimane in seguito come ricercatore. Piuttosto che sviluppare un nuovo linguaggio, Stroustrup scelse la strada di mantenere il C come linguaggio base, al fine sia di non perdere i vantaggi offerti da quest ultimo in termini di portabilità ed efficienza, sia di conservare la compatibilità con l elevato numero di programmi C già allora in circolazione, sia infine di mantenere l integrità di molte librerie C e l uso degli strumenti per esso sviluppati. È per questo motivo che nel C++ si ritrovano tutti i punti di forza del C descritti nel paragrafo precedente. In particolare, il C++: conserva una compatibilità quasi assoluta (qualcosa è diverso) con il C, da cui eredita la sintassi e la semantica per tutti i costrutti comuni, oltre alla notevole flessibilità e potenza; estende le caratteristiche del C, rimediando almeno in parte alle carenze del suo predecessore (che manca soprattutto di un buon sistema dei tipi); presenta anche degli aspetti negativi (come ogni linguaggio), in parte ereditati dal C; consente di esportare facilmente le applicazioni verso altri sistemi. Unità didattica A1: Introduzione ai linguaggi C e C++ 11

12 p _cec_unità A :27 Pagina 12 Grazie alle potenzialità descritte, il C++ rappresenta un linguaggio autonomo indipendente dal C, venendosi a posizionare tra i linguaggi di medio livello. In particolare, l introduzione di costrutti quali i template e le classi rende il C++ un linguaggio multiparadigma (con particolare predilezione per il paradigma a oggetti e la programmazione generica). È proprio a causa di questa fusione dei paradigmi procedurale e object oriented che nasce il nome C++. L idea è dovuta a Rick Mascitti e il carattere speciale ++ (che si legge plus plus) è un operatore del linguaggio C, la cui funzione è di incrementare di un unità il valore di una variabile. In tal senso, il C++ rappresenta la versione del linguaggio C incrementata con i costruttori della programmazione orientata agli oggetti. 4 I miglioramenti rispetto al C L elenco che segue indica i miglioramenti di lieve entità (che non hanno nulla a che fare con gli oggetti) apportati dal linguaggio C++ rispetto al C. Commenti. Il C++ introduce il delimitatore di commento sino a fine riga //. Viene però conservato l uso dei delimitatori /* e */. Nome delle enumerazioni. Il nome delle enumerazioni è un nome di tipo. Questa possibilità semplifica la notazione poiché non richiede l uso del qualificatore enum davanti al nome di un tipo enumerativo. Nomi delle classi. Il nome di una classe è un nome di tipo. Questo costrutto non esiste in C. In C++ non è necessario usare il qualificatore class davanti ai nomi delle classi. Dichiarazioni di blocchi. Il C++ consente l uso di dichiarazioni all interno dei blocchi e dopo le istruzioni di codice. Questa possibilità permette di dichiarare un identificatore più vicino al punto in cui esso viene utilizzato per la prima volta. È perfino possibile dichiarare l indice di un ciclo all interno del ciclo stesso. Operatore di qualifica della visibilità. L operatore di qualifica della visibilità :: (detto anche operatore di scope) è un nuovo operatore utilizzato per risolvere i conflitti di nome. Ad esempio, se una funzione ha una dichiarazione locale della variabile vettore ed esiste una variabile globale vettore, il qualificatore ::vettore consente di accedere alla variabile globale anche dall interno del campo di visibilità della variabile locale. Non è possibile l operazione inversa. Lo specificatore const. Lo specificatore const consente di bloccare il valore di un entità all interno del suo campo di visibilità. È anche possibile bloccare i dati indirizzati da una variabile puntatore, l indirizzo di un puntatore e perfino l indirizzo del puntatore e dei dati puntati. Overloading delle funzioni. In C++, più funzioni possono utilizzare lo stesso nome; la distinzione si basa sul numero e sul tipo dei parametri. Valori standard per i parametri delle funzioni. È possibile richiamare una funzione utilizzando un numero di parametri inferiore rispetto a quelli dichiarati. I parametri mancanti assumeranno valori standard. Gli operatori new e delete. Gli operatori new e delete lasciano al programmatore il controllo dell allocazione e della deallocazione della memoria dello heap. 5 Descrizione sintattica dei linguaggi di programmazione Per descrivere la sintassi di un linguaggio di programmazione ci si serve generalmente di un formalismo molto diffuso: la BNF (Backus-Naur Form o Forma Normale di Backus). Al fine di rendere lo studio semplice ed efficace, nel corso della nostra trattazione impiegheremo solo alcuni simboli propri della BNF e pochissime regole. In particolare: 12 Modulo A: Fondamenti del linguaggio C++

13 p _cec_unità A :27 Pagina 13 le parole chiave del linguaggio saranno scritte in grassetto; le parole racchiuse tra le parentesi angolari (< >) rappresentano le categorie sintattiche, ossia elementi generali del linguaggio che, nei vari programmi, saranno sostituiti con opportune occorrenze. Ad esempio: A = B <NomeVariabile> = <Espressione> A = C + 2*D C = 0 i blocchi racchiusi tra parentesi quadre ([ ]) indicano l opzionalità, ossia il fatto che tali blocchi possono anche non essere presenti. Ad esempio: int <NomeVariabile> [= <ValoreIniziale>] i blocchi racchiusi tra parentesi graffe indicano la possibilità di ripetizione. Ad esempio: int <NomeVariabile>,<NomeVariabile> indica che subito dopo il metodo è possibile inserire una lista opzionale di parametri separati da una virgola; il simbolo ha il significato di OR. Ciò significa che all interno di una lista di parole chiave separate da questo simbolo occorre sceglierne soltanto una. Ad esempio, in base alla seguente sintassi: int float <NomeVariabile> la variabile di nome <NomeVariabile> dovrà essere preceduta dalla parola chiave int oppure da float. 6 Gli elementi di un programma C++ Come abbiamo detto, il C++ è un linguaggio derivato dal C, che conserva con questo una pressoché completa compatibilità. Sarà dunque necessario, per poter muovere i primi passi verso la programmazione in C++, procedere alla conoscenza di quei concetti e di quegli elementi del linguaggio C che sono alla base della programmazione in C++. Alla fine della lettura di questa Unità didattica dovreste essere in grado di scrivere un programma breve ma funzionante. La struttura generale di un programma C++ è rappresentata in figura A1.1. Facoltativo Facoltativo Obbligatorio Facoltativo Direttive al preprocessore Dichiarazione di variabili globali e/o dei prototipi delle funzioni Programma principale (funzione main) Funzione 1 Figura A1.1 Struttura di un programma C++. Facoltativo Funzione 2... Facoltativo Funzione N Unità didattica A1: Introduzione ai linguaggi C e C++ 13

14 p _cec_unità A :27 Pagina Il programma principale (funzione main) Ogni programma C++ è formato da chiamate a funzioni. La funzione main è la funzione principale di un programma codificato in C++ e come tale deve essere sempre presente, poiché è la prima a essere richiamata dal compilatore (ossia è la prima a essere lanciata in esecuzione) e l ultima a terminare alla fine del programma. A questa funzione è assegnato il compito di gestire le chiamate delle altre funzioni, occupandosi del controllo generale dell attività del codice. La sintassi della funzione main è la seguente: dove: [<TipoRestituito>] main([<elencoparametri>]) <Istruzione1>; <Istruzione2>;... <IstruzioneN>; <TipoRestituito> indica il tipo di dato restituito dalla funzione il quale, in mancanza di esplicita dichiarazione (cioè per default), è un valore intero (int); <ElencoParametri> rappresenta l insieme dei parametri che la funzione accetta in ingresso (i parametri saranno trattati approfonditamente in seguito). Nel caso in cui la funzione main non abbia parametri in ingresso occorre comunque far seguire la parola main da una coppia di parentesi tonde. Come si evince dalla sintassi, quando il compilatore richiama la funzione main esegue il gruppo di istruzioni racchiuse all interno della coppia di parentesi graffe che definiscono il corpo del programma principale. Dal punto di vista tecnico, le parentesi graffe permettono di incapsulare istruzioni composte. Tali istruzioni possono consistere nella definizione del corpo di una funzione (come accade nel nostro caso per la funzione main) oppure nel riunire più linee di codice che dipendono dalla stessa istruzione di controllo, come nel caso in cui diverse istruzioni vengono eseguite a seconda del risultato vero/falso del test di un istruzione. Detto questo, appare evidente che il più semplice programma C++ che si possa scrivere è il seguente: main ( ) Questo programma non esegue nulla, perché tra le parentesi graffe non è racchiusa alcuna istruzione. In fase di compilazione il compilatore, pur riscontrando l assenza di istruzioni e non rilevando quindi alcun errore, invia un avvertimento all utente, poiché non è stato specificato il tipo di dato che la funzione deve restituire: sappiamo che in questo caso il valore restituito sarà di tipo intero. Per evitare tale avvertimento avremmo dovuto scrivere: int main( ) return 0; Con l istruzione return la funzione restituisce il valore (o l espressione) indicato. Naturalmente, tale valore deve essere dello stesso tipo della funzione. L istruzione return deve essere l istruzione conclusiva del corpo della funzione poiché provoca l uscita dalla funzione stessa. Per tale motivo eventuali istruzioni inserite di seguito saranno ignorate dal compilatore. 14 Modulo A: Fondamenti del linguaggio C++

15 p _cec_unità A :27 Pagina 15 Nel caso in cui non si voglia usare l istruzione return occorre dichiarare esplicitamente che la funzione non restituisce alcun risultato. Per far questo occorre far precedere il nome main dalla parola chiave void: void main( ) I vecchi compilatori non standard spesso lasciavano ampia libertà circa la dichiarazione della funzione main: alcuni consentivano di dichiararla void ma ora, a norma di standard, main deve avere tipo int e se nel corpo della funzione non viene inserita esplicitamente un istruzione return il compilatore inserisce automaticamente una istruzione return 0;. Avete notato come l istruzione return sia stata scritta un po più spostata a destra rispetto alle parentesi graffe? Le istruzioni vengono rientrate per indicare la loro dipendenza, cioè per evidenziare che l istruzione è contenuta in un altra. È buona abitudine curare questi incolonnamenti poiché, così facendo, si garantisce leggibilità al codice. La tecnica di questi incolonnamenti è conosciuta come indentazione. Sempre riferendoci all istruzione return, si può notare che ogni istruzione C++ termina con un punto e virgola (;). Su una singola riga è possibile scrivere più istruzioni, ma è buona norma scriverne solo una al fine di migliorare la leggibilità del codice. 6.2 La preelaborazione del codice sorgente: le direttive al preprocessore Il linguaggio C++ è un linguaggio compilato. Come sappiamo, i compilatori sono programmi che accettano in ingresso un programma scritto in linguaggio di alto livello (detto programma sorgente) e lo traducono interamente in un programma in linguaggio macchina (detto programma oggetto): a traduzione ultimata, il programma potrà essere eseguito. Lo scopo di questo processo è quindi di tradurre il programma originale (codice sorgente) in uno semanticamente equivalente, ma eseguibile su una certa macchina. A differenza di altri linguaggi, la compilazione in C++ prevede una prima fase di preelaborazione, detta precompilazione, svolta da un apposito modulo denominato preprocessore. Normalmente il preprocessore è incluso nel compilatore del linguaggio oppure è richiamato dal traduttore in modo assolutamente trasparente al programmatore. In fase di preelaborazione non viene eseguita alcuna azione di traduzione del codice, viene soltanto effettuata una preparazione del programma sorgente per la successiva compilazione. Le istruzioni di dichiarazione per il preprocessore vengono chiamate dichiarative di precompilazione o direttive al preprocessore e iniziano con il carattere # seguito dalla parola chiave include o define e dalla dichiarazione della direttiva. Della direttiva #define ci occuperemo dettagliatamente nelle successive Unità didattiche. Concentriamo per ora l attenzione su #include. La direttiva #include consente di inserire nel file sorgente la libreria standard indicata dopo la direttiva stessa. Una libreria è un insieme organizzato di programmi utilizzati frequentemente nelle applicazioni e memorizzati su un dispositivo di memoria di massa. La direttiva va racchiusa all interno di parentesi angolari o di doppi apici. Ad esempio, le direttive: #include <iostream.h> #include "iostream.h" Unità didattica A1: Introduzione ai linguaggi C e C++ 15

16 p _cec_unità A :27 Pagina 16 indicano al compilatore di includere e compilare insieme al programma il file iostream.h che contiene i prototipi delle funzioni standard di input/output (I/O) del C++, richiamabili poi da un qualsiasi punto del programma. Racchiudendo la direttiva tra parentesi angolari (< >), il file verrà cercato nelle apposite cartelle definite dal compilatore, mentre indicandola tra i doppi apici (" ") il file verrà dapprima ricercato nella cartella corrente. L estensione.h del file sta a indicare che i file in questione sono file di intestazione o file di header. Sottolineiamo, infine, che le dichiarazioni di inclusione #include non terminano con il punto e virgola. 6.3 Le funzioni per la gestione dell input/output Per realizzare i nostri primi programmi in C++ utilizzeremo una forma semplificata delle funzioni per l input e per l output. In particolare, per scrivere il valore di un espressione o di una costante stringa sull unità di output predefinita in genere il monitor utilizzeremo la funzione cout (cout è abbreviazione di console output e rappresenta il flusso standard di output), seguita dall operatore <<. Il simbolo << è detto operatore di output: esso inserisce oggetti nell output indicato alla sua sinistra, che normalmente è il monitor del computer. Se diversi oggetti vengono inviati verso cout, essi procedono in fila, uno dopo l altro, mentre vengono immessi nel flusso, e sono visualizzati nell ordine sul monitor. La sintassi è la seguente: cout << <Espressione> <"Stringa"> << <Espressione> <"Stringa">; Ad esempio, l istruzione: cout << "Ciao a tutti"; visualizza sul video la stringa Ciao a tutti. Se, invece, si desidera accettare i dati inseriti dall unità di input predefinita, in genere la tastiera, si utilizzerà la funzione cin (cin è abbreviazione di console input e rappresenta il flusso standard di input), seguita dall operatore >>. Il simbolo >> è detto operatore di input. Se diversi oggetti vengono inviati da cin, essi procedono in fila, uno dopo l altro, mentre vengono immessi nel flusso. La sintassi è la seguente: cin >> <NomeVariabile> >> <NomeVariabile>; Ad esempio, l istruzione: cin >> Numero; consente di accogliere all interno della variabile Numero il valore digitato dalla tastiera. Vedremo in seguito che le variabili dovranno essere dapprima opportunamente dichiarate. 7 Realizziamo il nostro primo programma C++ Con queste conoscenze iniziali siamo in grado di scrivere il nostro primo programma C++. Come è tradizione nei manuali di linguaggi di programmazione, il primo programma che realizzeremo è quello che visualizza sul video la frase Ciao mondo!. Il codice C++ è il seguente: #include <iostream.h> int main( ) cout << "Ciao mondo!"; return 0; 16 Modulo A: Fondamenti del linguaggio C++

17 p _cec_unità A :27 Pagina 17 che dopo essere stato digitato, compilato e linkato visualizza sul video il seguente risultato: 8 Dal codice sorgente al codice eseguibile Vediamo, ora, come digitare, compilare e linkare un programma. I passi da eseguire per creare un file eseguibile sono i seguenti. 1) Scrittura del programma sorgente e memorizzazione dello stesso all interno di un file con estensione.c,.cpp,.cp. 2) Compilazione del programma sorgente e ottenimento del programma oggetto memorizzato in un file caratterizzato dall estensione.obj. Il compilatore, durante la fase di traduzione del codice sorgente in codice oggetto, verifica la correttezza formale del codice sorgente e segnala la presenza di errori che impediscono la creazione del file oggetto (con un messaggio error), oppure invia un warning quando rileva errori che consentono comunque di creare il file oggetto (i warning sono avvertimenti di situazioni anomale che potrebbero creare problemi in esecuzione). 3) Linking del programma oggetto con le librerie standard del linguaggio dichiarate nel codice sorgente a opera di un particolare programma chiamato linker. Il risultato sarà il programma eseguibile memorizzato in un file caratterizzato dall estensione.exe. Supponiamo di voler eseguire il nostro programma descritto nel paragrafo precedente, immaginando di editarlo e memorizzarlo nel file Ese1.cpp. Schematicamente, le varie fasi possono essere riassunte come in figura A1.2. Editore di testi File di intestazione iostream.h File di libreria Figura A1.2 Schematizzazione del processo di compilazione di un programma C++. File sorgente Ese1.cpp Preprocessore Compilatore Linker File eseguibile Ese1.exe File oggetto Ese1.obj 9 Come creare e compilare un progetto in C++ Il processo di creazione e compilazione di un progetto C++ dipende strettamente dal tipo di computer e di sistema operativo che si utilizza. Come abbiamo già detto, possiamo compilare ed eseguire programmi con il C++ in qualsiasi piattaforma. Una volta decisa la piattaforma (Linux, Windows ecc.), occorrerà scegliere l ambiente di sviluppo. Per poter utilizzare sia il linguaggio C sia il linguaggio C++ si può utilizzare agevolmente l ambiente di sviluppo integrato Visual C++ (che fa parte della suite Microsoft Visual Studio). Unità didattica A1: Introduzione ai linguaggi C e C++ 17

18 p _cec_unità A :27 Pagina 18 Per compilare, linkare ed eseguire i nostri programmi C++ abbiamo due possibilità: 1) utilizzare l ambiente a interfaccia grafica di Visual C++ usando appositi pulsanti per la compilazione, il linking e l esecuzione; 2) utilizzare l ambiente testuale del sistema operativo MS-DOS utilizzando appositi comandi per compilare, linkare ed eseguire i programmi da digitare nella finestra del Prompt dei comandi. Proviamo a scrivere il nostro programma Ese1.cpp utilizzando Microsoft Visual C++. Dopo aver lanciato Visual C++, la videata che appare sul monitor è la seguente: Occorre a questo punto creare un nuovo progetto. Allo scopo, procediamo nel seguente modo. Dal menu File selezioniamo la voce New...: Viene visualizzata la finestra di dialogo New, nella quale occorre selezionare la scheda Projects. Nella casella Location stabiliamo la cartella in cui salvare il file, nella casella Project name inseriamo il nome del progetto (nel nostro caso Progetto1). A questo punto selezioniamo nella lista a sinistra la voce Win32 Console Application. Terminata la digitazione, facciamo clic sul pulsante OK. Il tutto è riportato nella figura a lato. 18 Modulo A: Fondamenti del linguaggio C++

19 p _cec_unità A :27 Pagina 19 Verrà ora richiesto il tipo di progetto da creare: possiamo scegliere An empty project, ossia un progetto vuoto. Dopo un clic sul pulsante Finish, il progetto risulterà creato. Occorre ora aggiungere a esso uno o più file, che conterranno il codice C++, uno dei quali (e soltanto uno) deve contenere la funzione main. Si procede nel seguente modo: dal menu File si seleziona New...; verrà visualizzata nuovamente la finestra New; si seleziona la scheda Files; si seleziona la casella di controllo Add to project; si seleziona nella lista a sinistra la voce C++ Source File se si vuole creare un file con estensione.cpp oppure la voce C/C++ Header File se si vuole creare un file con estensione.h; si digita all interno della casella File name il nome del file (nel nostro caso Ese1); si fa clic sul pulsante OK (l intera procedura è riportata nella figura a lato); nell area di lavoro di destra nella finestra successiva, si edita il file creato aggiungendo tutte le istruzioni C++ necessarie: si salva il file stesso utilizzando l opzione Save del menu File oppure facendo clic sull apposita icona presente sulla barra degli strumenti standard; si procede in questo modo per tutti i file che si intende aggiungere al progetto. Dopo aver inserito tutti i file necessari al progetto si deve procedere alla compilazione per poter poi eseguire il progetto stesso. Per compilare l intero progetto apriamo il menu Build e selezioniamo il comando Build <NomeProgramma>.exe. Nella finestra dei messaggi in basso apparirà il risultato della compilazione. Se non ci sono stati errori, verrà visualizzata la frase: 0 Errors, 0 Warnings. In caso contrario, il compilatore indicherà le righe di codice in cui sono stati riscontrati dei problemi e avviserà il programmatore se non è stato possibile creare l eseguibile. Quando non vengono più riscontrati errori è possibile eseguire il progetto. Sarà sufficiente aprire il menu Build e selezionare la voce Execute <NomeProgramma>.exe. Unità didattica A1: Introduzione ai linguaggi C e C++ 19

20 p _cec_unità A :27 Pagina 20 Verifica di fine unità Verifica delle conoscenze RISPONDI AI SEGUENTI QUESITI 1. Chi ha progettato e implementato il linguaggio C? 2. Il C è un linguaggio compilato o interpretato? 3. Quali sono le caratteristiche del linguaggio C? 4. Chi ha progettato e implementato il linguaggio C++? 5. Che cosa significa che il linguaggio C++ è un linguaggio multiparadigma? 6. Che cos è la Forma Normale di Backus? 7. All interno di un programma C++, quale elemento non può mai mancare? 8. Da che cosa è delimitato il corpo del programma principale? 9. All interno della funzione main è sempre necessario inserire l istruzione return? 10. Qual è la funzione svolta dalla parola chiave void? 11. Che cos è il programma sorgente? E il programma oggetto? 12. Che cos è il preprocessore? 13. Che cosa sono le direttive al preprocessore? 14. All interno di un programma C++, tutte le istruzioni devono terminare con un punto e virgola? 15. In C++, qual è il flusso standard di output? E quello di input? 16. Qual è la differenza tra error e warning? 17. Quali estensioni caratterizzano un file che contiene un programma in C++? 18. Che cos è il linker? SVOLGI IL SEGUENTE ESERCIZIO Verifica delle competenze Trovare gli errori presenti all interno dei seguenti frammenti di codice. a) c) #include <iostream.h> void main( ) return(1+2); #include <iostream.h> int main b) #include <iostream.h> void main( ) cout << "Ciao a tutti"; d) #include <iostream.h>; void main( ); cout << "Ciao a tutti"; 20 Modulo A: Fondamenti del linguaggio C++

21 p _cec_unità A :29 Pagina 21 Elementi lessicali ed espressioni Unità didattica A2 Compilare ed eseguire un applicazione C++ Prerequisiti Scrivere espressioni in C++ Obiettivi Conoscere la sintassi delle espressioni, in particolare quali sono gli operandi e gli operatori disponibili Conoscere la precedenza tra gli operatori Conoscere i tipi primitivi disponibili Comprendere il concetto di casting tra tipi primitivi Conoscenze da apprendere Saper scrivere espressioni con operandi e operatori Saper attribuire a variabili e costanti tipi appropriati per le esigenze del problema Saper effettuare conversioni di tipo implicite ed esplicite tra tipi primitivi Saper riconoscere e applicare la precedenza tra operatori Competenze da acquisire 1 L alfabeto del linguaggio C++ L alfabeto del linguaggio C++ è formato da: 1) le lettere minuscole e maiuscole dell alfabeto inglese (dalla a fino alla z): a b c d e f g h i j k l m n o p q r s t u v w y z A B C D E F G H I J K L M N O P Q R S T U V X Y Z 2) le dieci cifre decimali (dallo 0 al 9): ) i seguenti caratteri speciali: i simboli di punteggiatura., : ; i segni matematici + * / = % < > i simboli spazio # $ &! ^ \ ' " _? ~ le parentesi [ ] ( ) 4) i simboli non grafici (o non stampabili), come quelli di: nuova linea (new line); nuova pagina (form feed); spazio indietro (backspace); tabulazione orizzontale. Unità didattica A2: Elementi lessicali ed espressioni 21

22 p _cec_unità A :29 Pagina 22 2 Le regole lessicali Il processo di compilazione è suddiviso in più fasi, ciascuna volta all acquisizione di opportune informazioni necessarie alla fase successiva. La prima di queste fasi è nota come analisi lessicale e ha il compito di riconoscere gli elementi costitutivi del linguaggio sorgente, individuandone anche la categoria lessicale. Ogni linguaggio prevede un certo numero di categorie lessicali; in C++ possiamo distinguere le seguenti categorie: commenti; identificatori (creati dal programmatore); parole riservate (consultabili sul sito di riferimento); costanti letterali; segni di punteggiatura e operatori. 3 I commenti I commenti in un programma C++, come in qualsiasi altro linguaggio, hanno valore soltanto per il programmatore e vengono ignorati dal compilatore. Nel linguaggio C++ è possibile inserire i commenti in due modi diversi. 1) Secondo lo stile C, ovvero racchiudendoli tra i simboli /* e */, ad esempio: /* Questo è un commento in stile C */ Questo metodo, detto commento a blocchi, permette di commentare più linee di codice senza dover ripetere a ogni linea i simboli del commento stesso. 2) Secondo lo stile proprio del C++, ovvero facendoli precedere dal simbolo //. In questo modo il commento si estende solo fino al termine della linea. Ad esempio: // Questo è un commento in stile C++ Nel primo caso è considerato commento tutto quello che è racchiuso entro /* e */; il commento, quindi, si può anche trovare in mezzo al codice. Analizziamo il seguente esempio: int main( ) int x = 10; /* Questo e' un commento diviso su tre righe. Questa e' l ultima riga di commento */ x = 100 /* Questo commento e' valido */ + 5; return 0; Nel secondo caso, proprio del C++, è invece considerato commento tutto ciò che segue // sino alla fine della linea. Ne consegue che non è possibile inserire un commento di questo tipo in mezzo al codice o dividerlo su più righe (a meno che anche l altra riga non cominci con //). Vediamo un esempio: int main( ) int x = 10; x = 100 return 0; // Questo e' un commento valido // Attenzione! La riga successiva produce un errore QUESTA RIGA NON E UN COMMENTO: NON E PRECEDUTA DA // 22 Modulo A: Fondamenti del linguaggio C++

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Linguaggio C. Fondamenti. Struttura di un programma.

Linguaggio C. Fondamenti. Struttura di un programma. Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione

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

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record 5.3 TABELLE In un sistema di database relazionali le tabelle rappresentano la struttura di partenza, che resta poi fondamentale per tutte le fasi del lavoro di creazione e di gestione del database. 5.3.1

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Introduzione a Dev-C++

Introduzione a Dev-C++ Introduzione a Dev-C++ Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Note: Dev-C++ richiede Windows 95/98/NT/2000/XP

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Codifica: dal diagramma a blocchi al linguaggio C++

Codifica: dal diagramma a blocchi al linguaggio C++ Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU

Dettagli

5.2 UTILIZZO DELL APPLICAZIONE

5.2 UTILIZZO DELL APPLICAZIONE 5.2 UTILIZZO DELL APPLICAZIONE Base offre la possibilità di creare database strutturati in termini di oggetti, quali tabelle, formulari, ricerche e rapporti, di visualizzarli e utilizzarli in diverse modalità.

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

5.6.1 REPORT, ESPORTAZIONE DI DATI

5.6.1 REPORT, ESPORTAZIONE DI DATI 5.6 STAMPA In alcune circostanze può essere necessario riprodurre su carta i dati di tabelle o il risultato di ricerche; altre volte, invece, occorre esportare il risultato di una ricerca, o i dati memorizzati

Dettagli

1. Le macro in Access 2000/2003

1. Le macro in Access 2000/2003 LIBRERIA WEB 1. Le macro in Access 2000/2003 Per creare una macro, si deve aprire l elenco delle macro dalla finestra principale del database: facendo clic su Nuovo, si presenta la griglia che permette

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico)

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico) Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico) 1 Aprire Access Appare una finestra di dialogo Microsoft Access 2 Aprire un

Dettagli

Alcune regole di base per scrivere un programma in linguaggio C

Alcune regole di base per scrivere un programma in linguaggio C Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza

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

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

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

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano

Dettagli

Leggere un messaggio. Copyright 2009 Apogeo

Leggere un messaggio. Copyright 2009 Apogeo 463 Leggere un messaggio SyllabuS 7.6.3.3 Per contrassegnare un messaggio selezionato puoi fare clic anche sulla voce di menu Messaggio > Contrassegna messaggio. Marcare, smarcare un messaggio I messaggi

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

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

Corso di INFORMATICA 2 (Matematica e Applicazioni)

Corso di INFORMATICA 2 (Matematica e Applicazioni) Università di Camerino Scuola di Scienze e Tecnologie Sezione di Matematica Corso di INFORMATICA 2 (Matematica e Applicazioni) Anno Accademico 2014/15 3 Anno Primo Semestre Docenti: Paolo Gaspari Roberto

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Corso introduttivo all utilizzo di TQ Qualifica

Corso introduttivo all utilizzo di TQ Qualifica Corso introduttivo all utilizzo di TQ Qualifica Le pagine che seguono introducono l utente all uso delle principali funzionalità di TQ Qualifica mediante un corso organizzato in quattro lezioni. Ogni lezione

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

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

DOCUMENTO ESERCITAZIONE ONENOTE. Utilizzare Microsoft Offi ce OneNote 2003: esercitazione rapida

DOCUMENTO ESERCITAZIONE ONENOTE. Utilizzare Microsoft Offi ce OneNote 2003: esercitazione rapida Utilizzare Microsoft Offi ce OneNote 2003: esercitazione rapida MICROSOFT OFFICE ONENOTE 2003 AUMENTA LA PRODUTTIVITÀ CONSENTENDO AGLI UTENTI L ACQUISIZIONE COMPLETA, L ORGANIZZAZIONE EFFICIENTE E IL RIUTILIZZO

Dettagli

ACCESSO AL SISTEMA HELIOS...

ACCESSO AL SISTEMA HELIOS... Manuale Utente (Gestione Formazione) Versione 2.0.2 SOMMARIO 1. PREMESSA... 3 2. ACCESSO AL SISTEMA HELIOS... 4 2.1. Pagina Iniziale... 6 3. CARICAMENTO ORE FORMAZIONE GENERALE... 9 3.1. RECUPERO MODELLO

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa. La finestra di Excel è molto complessa e al primo posto avvio potrebbe disorientare l utente. Analizziamone i componenti dall alto verso il basso. La prima barra è la barra del titolo, dove troviamo indicato

Dettagli

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database Microsoft Access Introduzione alle basi di dati Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale limitato Meccanismi di sicurezza, protezione di dati e gestione

Dettagli

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

Raggruppamenti Conti Movimenti

Raggruppamenti Conti Movimenti ESERCITAZIONE PIANO DEI CONTI Vogliamo creare un programma che ci permetta di gestire, in un DB, il Piano dei conti di un azienda. Nel corso della gestione d esercizio, si potranno registrare gli articoli

Dettagli

www.filoweb.it STAMPA UNIONE DI WORD

www.filoweb.it STAMPA UNIONE DI WORD STAMPA UNIONE DI WORD Molte volte abbiamo bisogno di stampare più volte lo stesso documento cambiando solo alcuni dati. Potremmo farlo manualmente e perdere un sacco di tempo, oppure possiamo ricorrere

Dettagli

Corso Eclipse. Prerequisiti. 1 Introduzione

Corso Eclipse. Prerequisiti. 1 Introduzione Corso Eclipse 1 Introduzione 1 Prerequisiti Uso elementare del pc Esecuzione ricerche su Internet Esecuzione download Conoscenza elementare della programmazione 2 1 Cos è Eclipse Eclipse è un IDE (Integrated

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

On-line Corsi d Informatica sul web

On-line Corsi d Informatica sul web On-line Corsi d Informatica sul web Corso base di FrontPage Università degli Studi della Repubblica di San Marino Capitolo1 CREARE UN NUOVO SITO INTERNET Aprire Microsoft FrontPage facendo clic su Start/Avvio

Dettagli

Proff. Fabio Ciao e Raffaele Bortone

Proff. Fabio Ciao e Raffaele Bortone ISTITUTO D ISTRUZIONE SUPERIORE FERRARIS BRUNELLESCHI - EMPOLI Materia: INFORMATICA PROGRAMMAZIONE ANNUALE A.S. 2014/2015 Classe IV C Informatica Proff. Fabio Ciao e Raffaele Bortone Libro di testo: Cloud

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

STRUMENTI DI PRESENTAZIONE MODULO 6

STRUMENTI DI PRESENTAZIONE MODULO 6 STRUMENTI DI PRESENTAZIONE MODULO 6 2012 A COSA SERVE POWER POINT? IL PROGRAMMA NASCE PER LA CREAZIONE DI PRESENTAZIONI BASATE SU DIAPOSITIVE (O LUCIDI) O MEGLIO PER PRESENTARE INFORMAZIONI IN MODO EFFICACE

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli

Office 2007 Lezione 02. Le operazioni più

Office 2007 Lezione 02. Le operazioni più Le operazioni più comuni Le operazioni più comuni Personalizzare l interfaccia Creare un nuovo file Ieri ci siamo occupati di descrivere l interfaccia del nuovo Office, ma non abbiamo ancora spiegato come

Dettagli

3.5.1.1 Aprire, preparare un documento da utilizzare come documento principale per una stampa unione.

3.5.1.1 Aprire, preparare un documento da utilizzare come documento principale per una stampa unione. Elaborazione testi 133 3.5 Stampa unione 3.5.1 Preparazione 3.5.1.1 Aprire, preparare un documento da utilizzare come documento principale per una stampa unione. Abbiamo visto, parlando della gestione

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Manuale di istruzioni sulle maschere per il calcolo del punteggio e del voto (unico) degli studenti che sostengono la Prova nazionale 2011

Manuale di istruzioni sulle maschere per il calcolo del punteggio e del voto (unico) degli studenti che sostengono la Prova nazionale 2011 Manuale di istruzioni sulle maschere per il calcolo del punteggio e del voto (unico) degli studenti che sostengono la Prova nazionale 2011 (CLASSI NON CAMPIONE) Prova nazionale 2010 11 1 A.S. 2010 11 Pubblicato

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

MANUALE D USO DELLA PIATTAFORMA ITCMS

MANUALE D USO DELLA PIATTAFORMA ITCMS MANUALE D USO DELLA PIATTAFORMA ITCMS MANULE D USO INDICE 1. INTRODUZIONE... 2 2. ACCEDERE ALLA GESTIONE DEI CONTENUTI... 3 3. GESTIONE DEI CONTENUTI DI TIPO TESTUALE... 4 3.1 Editor... 4 3.2 Import di

Dettagli

On-line Corsi d Informatica sul Web

On-line Corsi d Informatica sul Web On-line Corsi d Informatica sul Web Corso base di Excel Università degli Studi della Repubblica di San Marino Capitolo 1 ELEMENTI DELLO SCHERMO DI LAVORO Aprire Microsoft Excel facendo clic su Start/Avvio

Dettagli

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE

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

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15 WG TRANSLATE Pagina 1 di 15 Sommario WG TRANSLATE... 1 1.1 INTRODUZIONE... 3 1 TRADUZIONE DISPLAY FILE... 3 1.1 Traduzione singolo display file... 4 1.2 Traduzione stringhe da display file... 5 1.3 Traduzione

Dettagli

Al giorno d oggi, i sistemi per la gestione di database

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

Dettagli

Informatica 3. LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1)

Informatica 3. LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1) 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 Informatica 3 Lezione 7 -

Dettagli

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools Una breve introduzione operativa a STGraph Luca Mari, versione 5.3.11 STGraph è un sistema software per creare, modificare ed eseguire modelli di sistemi dinamici descritti secondo l approccio agli stati

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Alla scoperta della nuova interfaccia di Office 2010

Alla scoperta della nuova interfaccia di Office 2010 Alla scoperta della nuova interfaccia di Office 2010 Una delle novità più eclatanti della versione 2007 era la nuova interfaccia con la barra multifunzione. Office 2010 mantiene questa filosofia di interfaccia

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

WORD 97 SCRIVERE UNA TESI DI LAUREA

WORD 97 SCRIVERE UNA TESI DI LAUREA WORD 97 SCRIVERE UNA TESI DI LAUREA PASSO 1 Per prima cosa pensiamo al formato generale della pagina: i margini richiesti da una tesi sono quasi sempre più ampi di quelli di un testo normale. Apriamo ora

Dettagli

STAMPA DI UNA PAGINA SEMPLICE

STAMPA DI UNA PAGINA SEMPLICE Pagina 11 copiati nel proprio sistema (disco fisso o floppy). Questa operazione è detta download o scaricamento. Il modo più semplice per effettuare un download di un file (a meno che non sia specificato

Dettagli

Circolari e lettere da Word con anagrafiche e indirizzi da Metodo

Circolari e lettere da Word con anagrafiche e indirizzi da Metodo Circolari e lettere da Word con anagrafiche e indirizzi da Metodo Metodo sfrutta tutte le potenzialità messe a disposizione da Microsoft Windows integrandosi perfettamente su tale piattaforma e permettendo

Dettagli

WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera

WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera WORD per WINDOWS95 1.Introduzione Un word processor e` come una macchina da scrivere ma con molte più funzioni. Il testo viene battuto sulla tastiera ed appare sullo schermo. Per scrivere delle maiuscole

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

CMS ERMES INFORMATICA

CMS ERMES INFORMATICA 01/07/2014 Guida di riferimento alla pubblicazione di contenuti sul portale Il presente documento costituisce una guida di riferimento all aggiornamento e alla pubblicazione di contenuti sui portali web

Dettagli

Capitolo 3 Guida operativa del programma TQ Sistema

Capitolo 3 Guida operativa del programma TQ Sistema Capitolo 3 Guida operativa del programma TQ Sistema Panoramica delle funzionalità Questa guida contiene le informazioni necessarie per utilizzare il pacchetto TQ Sistema in modo veloce ed efficiente, mediante

Dettagli

Manuale per i redattori del sito web OttoInforma

Manuale per i redattori del sito web OttoInforma Manuale per i redattori del sito web OttoInforma Contenuti 1. Login 2. Creare un nuovo articolo 3. Pubblicare l articolo 4. Salvare l articolo in bozza 5. Le categorie 6. Modificare un articolo 7. Modificare

Dettagli

MS Word per la TESI. Barra degli strumenti. Rientri. Formattare un paragrafo. Cos è? Barra degli strumenti

MS Word per la TESI. Barra degli strumenti. Rientri. Formattare un paragrafo. Cos è? Barra degli strumenti MS Word per la TESI Barra degli strumenti Cos è? Barra degli strumenti Formattazione di un paragrafo Formattazione dei caratteri Gli stili Tabelle, figure, formule Intestazione e piè di pagina Indice e

Dettagli

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

Monitor Orientamento. Manuale Utente

Monitor Orientamento. Manuale Utente Monitor Orientamento Manuale Utente 1 Indice 1 Accesso al portale... 3 2 Trattamento dei dati personali... 4 3 Home Page... 5 4 Monitor... 5 4.1 Raggruppamento e ordinamento dati... 6 4.2 Esportazione...

Dettagli

Mon Ami 3000 Ratei e Risconti Calcolo automatico di ratei e risconti

Mon Ami 3000 Ratei e Risconti Calcolo automatico di ratei e risconti Prerequisiti Mon Ami 3000 Ratei e Risconti Calcolo automatico di ratei e risconti L opzione Ratei e risconti estende le funzioni contabili già presenti nel modulo di base e può essere attivata solo con

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

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

Fondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009. Prof. Raffaele Nicolussi

Fondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009. Prof. Raffaele Nicolussi Fondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

Dettagli

PIATTAFORMA DOCUMENTALE CRG

PIATTAFORMA DOCUMENTALE CRG SISTEMA DI GESTIONE DOCUMENTALE DMS24 PIATTAFORMA DOCUMENTALE CRG APPLICAZIONE PER LE PROCEDURE DI GARE D AMBITO 1 AGENDA 1. Introduzione 2. I Livelli di accesso 3. Architettura di configurazione 4. Accesso

Dettagli

Cap. 3. APERTURA NUOVO PROGETTO

Cap. 3. APERTURA NUOVO PROGETTO GUIDA ALL USO DI CSM.1 Cap. 3. APERTURA NUOVO PROGETTO 1 3.1 Inizio della procedura 3. PERCORSO: APERTURA NUOVO PROGETTO/CORSI Dopo essersi iscritti ed avere inserito i dati inerenti l Agenzia / Ente di

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie

Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie Facoltà di Scienze Motorie CHE COS È UN FOGLIO ELETTRONICO Una tabella che contiene parole e numeri che possono essere elaborati applicando formule matematiche e funzioni statistiche. Esame di Informatica

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

Gestione Rapporti (Calcolo Aree)

Gestione Rapporti (Calcolo Aree) Gestione Rapporti (Calcolo Aree) L interfaccia dello strumento generale «Gestione Rapporti»...3 Accedere all interfaccia (toolbar)...3 Comandi associati alle icone della toolbar...4 La finestra di dialogo

Dettagli

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Sistema inoltro telematico domande di nulla osta, ricongiungimento e conversioni Manuale utente Versione 2 Data creazione 02/11/2007 12.14.00

Dettagli

COME CREARE UNA LEZIONE

COME CREARE UNA LEZIONE COME CREARE UNA LEZIONE Il modulo di attività lezione consente al docenti di distribuire contenuti o esercitazioni in modo interessante e flessibile. E' possibile usare la lezione per creare pagine da

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare. Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare. E stato previsto l utilizzo di uno specifico prodotto informatico (denominato

Dettagli

GUIDA PER IL DOCENTE ALL UTILIZZO DELL APPLICATIVO ONLINE E PORTFOLIO

GUIDA PER IL DOCENTE ALL UTILIZZO DELL APPLICATIVO ONLINE E PORTFOLIO GUIDA PER IL DOCENTE ALL UTILIZZO DELL APPLICATIVO ONLINE E PORTFOLIO http://eportfolio.tqmproject.eu Progetto "TQM Agreement n 2011 1 IT1 LEO05 01873; CUP G72F11000050006 1 SOMMARIO PREMESSA... 3 PAGINA

Dettagli

Versione 7.0 Taglie e Colori. Negozio Facile

Versione 7.0 Taglie e Colori. Negozio Facile Versione 7.0 Taglie e Colori Negozio Facile Negozio Facile: Gestione taglie e colori Il concetto di base dal quale siamo partiti è che ogni variante taglia/colore sia un articolo a se stante. Partendo

Dettagli

Università degli Studi di Messina

Università degli Studi di Messina Università degli Studi di Messina Guida alla Rendicontazione on-line delle Attività del Docente Versione della revisione: 2.02/2013-07 A cura di: Fabio Adelardi Università degli studi di Messina Centro

Dettagli

Novità di Access 2010

Novità di Access 2010 2 Novità di Access 2010 In questo capitolo: Gestire le impostazioni e i file di Access nella visualizzazione Backstage Personalizzare l interfaccia utente di Access 2010 Creare database utilizzando modelli

Dettagli

Alfabeto ed elementi lessicali del linguaggio C

Alfabeto ed elementi lessicali del linguaggio C Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2015-2016 Alfabeto ed elementi lessicali del linguaggio C Pietro Di Lena - pietro.dilena@unibo.it s t a t i c s h o r t l e g s ; i n

Dettagli

Modulo 2 Uso del computer e gestione dei file

Modulo 2 Uso del computer e gestione dei file Modulo 2 Uso del computer e gestione dei file 2.1.1.1 Primi passi col computer Avviare il computer Windows è il sistema operativo più diffuso per la gestione dei personal computer, facile e amichevole

Dettagli