Lezione 2: Grafici e istogrammi con ROOT

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Lezione 2: Grafici e istogrammi con ROOT"

Transcript

1 Corso di Laboratorio I Laurea Specialistica Dott. Corrado Cicalò a.a. 2009/2010 Introduzione all'analisi dei dati sperimentali con il framework ROOT Università di Cagliari & INFN Università di Cagliari Corso di Laurea Specialistica in Fisica

2 Sommario Brevissimi richiami sul C++ Cos'è ROOT? Scrivere una macro in ROOT Creare un istogramma in ROOT Creare un grafico in ROOT 2/35

3 Due parole prima di iniziare NON sono un esperto di C++ (nè di alcun altro linguaggio di programmazione...) NON sono un esperto di ROOT NON occorre che diventiate esperti di C++ NON occorre che diventiate esperti di ROOT In queste lezioni non andremo oltre le competenze minime di C++ e di ROOT che occorrono per gestire l'analisi dei dati raccolti nelle semplici esperienze di laboratorio 3/35

4 Brevissimi richiami sul C++

5 Alcune regole generali [Ci concentriamo sulle regole utili ad usare il C++ nell'ambito di ROOT] Il C++ è case-sensitive ( Pippo è diverso da pippo ) Ogni variabile va dichiarata, e possibilmente inizializzata Per ogni variabile, avete accesso anche al suo indirizzo di memoria (puntatore), e spesso è comodo lavorare con i puntatori delle variabili piuttosto che con le variabili stesse Ogni blocco di istruzioni va compreso fra parentesi graffe: {... } Al termine di ogni istruzione va posto il carattere punto e virgola ; 5/35

6 Operatori utili Operatori matematici: + * / Operatori composti: += (a += b a = a+b) = (a = b a = a b) *= (a *= b a = a*b) /= (a /= b a = a/b) ++ (a++ a = a+1) (a a = a 1) Operatori relazionali: == (uguale a)!= (diverso da) > (maggiore di) < (minore di) >= (maggiore o uguale a) <= (minore o uguale a) Operatori logici: && (AND) (OR) 6/35

7 Tipi di variabile predefiniti Poche regole, senza alcuna pretesa di completezza: Usiamo il tipo double (o Double_t in ROOT) per variabili numeriche non intere Usiamo il tipo int (o Int_t in ROOT) per variabili numeriche intere Usiamo il tipo bool (o Bool_t in ROOT) per variabili di tipo Booleano (vero/falso) Potete inizializzare le variabili al momento stesso della dichiarazione. Per esempio: Double_t a = ; Int_t b = 4 ; Bool_t c = 0 ; 7/35

8 Array Per definire una variabile come array di valori, si deve specificare la dimensione fra parentesi quadre: Double_t a[26] ; Int_t b[2] ; Bool_t c[82] ; Il contenuto dell'array può essere inizializzato tutto insieme al momento della definizione, oppure elemento per elemento: Double_t a[3] = {2.998e8, 6.626e 34, 6.67e 11} ; Int_t b[2] ; b[0] = 19 ; b[1] = 23 ; Consiglio: inizializzate sempre tutti gli array. Per inizializzare a zero basta usare: a[...] = {0} 8/35

9 Stringhe di caratteri Le stringhe di caratteri possono essere trattate come array di caratteri. Per definirle e inizializzarle si possono usare varie alternative: Char_t a[4] = ciao ; Char_t a[] = ciao ; Char_t *a = ciao ; Char_t a[4] = {'c', 'i', 'a', 'o'} ; Char_t a[4] ; sprintf(a, ciao ) ; 9/35

10 Cicli Ciclo for: esegue un blocco di istruzioni un numero definito di volte (in questo caso 100) for (Int_t i = 0; i < 100; i++) {... ;... ; } Ciclo while: esegue un blocco di istruzioni fino a quando una condizione è vera while (i < 100) {... ;... ; } 10/35

11 Strutture di controllo La più importante è la condizione di controllo if...else : esegue un certo blocco di istruzioni se è verificata la condizione tra parentesi if (a > b) {... ;... ; } else if (a < b) {... ;... ; } else {... ;... ; Eseguito quando a == b } 11/35

12 Output su schermo Per l'output su schermo si può usare la funzione printf(...) printf ( ciao ) ; Scrive ciao printf ( ciao\n ) ; Scrive ciao e va a capo printf ( %d\n, a) ; Scrive il valore di a (se a è un intero) printf ( %g\n, a) ; Scrive il valore di a (se a è un double) printf ( %s\n, a) ; Scrive il valore di a (se a è una stringa di caratteri) 12/35

13 Classi Nel C++ è possibile definire nuovi tipi di variabili. Un nuovo tipo di variabile è chiamato CLASSE, e va definito secondo regole precise Se si vuole usare un oggetto (variabile) appartenente ad una classe non predefinita, la definizione va inclusa all'inizio del programma NON ci interessa sapere come creare nuove classi, perché sfrutteremo sempre classi aggiuntive già pronte da usare Le uniche cose che dobbiamo sapere sugli oggetti di una classe sono: come vanno creati quali operazioni possiamo fare con/su di essi 13/35

14 Classi Per esempio, se si è creata la classe Istogramma, un oggetto di questa classe va dichiarato come: Istogramma hist ; Oppure come puntatore: Istogramma *hist ; D'ora in poi useremo questa opzione Le operazioni che è possibile fare con/sugli oggetti della classe sono specificate nella sua definizione. Ciascuna operazione è associata a un metodo della classe, che: ha un nome ben preciso accetta una lista di argomenti (anche vuota) esegue una serie di istruzioni restituisce un output (opzionale) 14/35

15 Classi La classe Istogramma potrebbe ad esempio possedere un metodo chiamato Riempi(Double_t A), che: accetta come argomenti un numero decimale A identifica il bin dell'istogramma nel quale è compreso il valore A aumenta di un'unità il contenuto del bin non restituisce alcun output Istogramma *hist ; hist -> Riempi(0.9) ; Qui andranno inserite le istruzioni per definire il range dell'istogramma e la suddivisione in bin (tramite altri metodi) 15/35

16 Classi La classe Istogramma potrebbe ad esempio possedere un metodo chiamato Riempi(Double_t A), che: accetta come argomenti un numero decimale A identifica il bin dell'istogramma nel quale è compreso il valore A aumenta di un'unità il contenuto del bin non restituisce alcun output Istogramma *hist ; La combinazione tratto-maggiore (freccia) esegue il metodo specificato alla sua destra sull'oggetto presente alla sua sinistra hist -> Riempi(0.9) ; 16/35

17 ROOT

18 ROOT ROOT è un framework per l'analisi dati basato sul linguaggio C++ Per quanto ci riguarda, esso si compone di: un interprete (anche interattivo) di comandi C++ una collezione di classi utili per l'analisi dati (e non solo!) Trovate tutte le informazioni e la risposta a tutti i possibili dubbi su: ROOT è fra i pacchetti predefiniti in alcune recenti distribuzioni di Linux!!! 18/35

19 ROOT Per avviare ROOT digitate root nel terminale: 19/35

20 ROOT L'interprete dei comandi C++ è già pronto. Possiamo provare a digitare qualche comando C++ 20/35

21 ROOT Le macro L'interprete dei comandi C++ può essere più utilmente usato per processare interi blocchi di istruzioni, anziché una singola istruzione alla volta I blocchi di istruzioni vengono scritti in un programma chiamato MACRO, memorizzato su un file esterno Il nostro obbiettivo è imparare a scrivere delle MACRO che possano essere eseguite da ROOT per eseguire l'analisi dei nostri dati Le macro che useremo hanno una struttura fissata: le istruzioni sono raggruppate in metodi ogni metodo possiede un nome, una lista di argomenti, una serie di istruzioni e restituisce (opzionalmente) un output 21/35

22 ROOT Una macro semplice semplice void PrimaProva(Int_t a) { for (Int_t i=0; i<10; i++) { Int_t b = a*i; printf("%d\n", b); } } Qualche commento: la macro è costituita da un solo metodo, che accetta un intero come variabile input il metodo è di tipo void, cioè non restituirà alcun argomento Per caricare la macro in root:.l <nome-del-file> Una volta caricata, digitare il nome del metodo specificando il valore dell'argomento fra parentesi, e premere INVIO 22/35

23 ROOT Una macro un po' meno semplice void PrimaProva(Double_t a) { for (Int_t i=0; i<10; i++) { Double_t b = Funzione(a*i); printf("%g\n", b); } } Double_t Funzione(Double_t argument) { return 3.0*argument + 4.2; } Qualche commento: la macro è costituita da due metodi una volta caricata la macro, possiamo eseguire entrambi i metodi, independentemente il primo metodo fa uso del secondo: il calcolo di b risulta in questo modo decentrato 23/35

24 ROOT Struttura generale di una macro Non ci sono particolari prescrizioni sulla scrittura di una macro di ROOT a parte il rispetto della sintassi del C++ Tipicamente, tuttavia, nelle macro si distingue fra: metodo principale : un metodo void, cioè che esegue operazioni senza restituire alcun risultato (spesso il suo nome è quello stesso del file della macro). È il metodo che viene eseguito dopo aver caricato la macro metodi ausiliari : metodi dedicati all'esecuzione di particolari operazioni richieste all'interno del motodo principale La presenza dei metodi ausiliari permette di avere dei moduli di codice dedicati ad operazioni specifiche riutilizzabili da macro a macro!!! 24/35

25 ROOT Le classi ROOT mette a disposizione una grande quantità di classi, per la definizione degli oggetti da usare nella nostra analisi Tutto quello che dovete sapere per creare un oggetto appartenente ad una classe è: come si chiama la classe come si usa il metodo di creazione dell'oggetto come si usano i metodi per operare sull'oggetto Nelle prossime slide impareremo a usare due classi di ROOT: la classe per gli istogrammi e la classe per i grafici 25/35

26 Gestire istogrammi in ROOT

27 Creare un istogramma Per la gestione degli istogrammi useremo la classe TH1D. Per creare un istogramma occorre specificare: nome dell'oggetto titolo dell'istogramma numero di bin valore minimo della variabile valore massimo della variabile Come modello, potete assumere l'istruzione: TH1D *hist = new TH1D("Histogram", "My Title", 10, -3.0, 7.0) ; che crea un [puntatore ad un] oggetto di classe TH1D avente Histogram come nome, My Title come titolo (in un immane sforzo di fantasia!) e diviso in 10 bin fra -3.0 e /35

28 Riempire e disegnare un istogramma Una volta creato l'istogramma, lo vogliamo riempire con i valori dalle misurazioni. Per esempio, se abbiamo ottenuto il valore -1.5, questo ricade nell'intervallo del quinto bin: dunque vogliamo che il contenuto del quinto bin venga aumentato di una unità La classe TH1D fa tutto in automatico. Il metodo corrispondente si chiama Fill, e chiede come argomento il valore da inserire, in formato Double_t: hist -> Fill(1.5) ; Possiamo ovviamente riempire l'istogramma quante volte vogliamo, inserendo tutti i valori ottenuti nelle misurazioni. Quando avete terminato la fase di riempimento, potete disegnare l'istogramma con il metodo Draw: hist -> Draw() ; 28/35

29 Istogrammi Riassunto void MacroIstogramma() { TH1D *hist = new TH1D("Histogram", "My Title", 10, -3.0, 7.0) ; hist -> Fill(1.5) ; hist -> Fill(1.1) ; hist -> Fill(-2) ; hist -> Fill(4.8) ; hist -> Fill(6.2) ; hist -> Fill(0.3) ; hist -> Fill(1.2) ; hist -> Fill(-2.3) ; hist -> Draw() ; } 29/35

30 Gestire grafici in ROOT

31 Creare un grafico (metodo 1) Per la gestione dei grafici useremo la classe TGraphErrors. Per creare un grafico occorre specificare: numero di punti del grafico array contenente le coordinate x di ciascun punto array contenente le coordinate y di ciascun punto array contenente gli errori sulla x di ciascun punto array contenente gli errori sulla y di ciascun punto! NOTA BENE per gli istogrammi, prima si crea l'oggetto (vuoto) e poi lo si riempie con i dati per i grafici, con il metodo 1 i dati devono essere a disposizione in array numerici PRIMA della creazione del grafico 31/35

32 Creare un grafico (metodo 1) Ecco un esempio completo per la creazione di un grafico con cinque punti: void MacroGrafico() { const Int_t npoints = 5 ; Double_t x[npoints] = {0.1, 0.6, 1.8, 2.4, 3.1} ; Double_t y[npoints] = {0.09, 0.47, 0.93, 1.12, 1.21} ; Double_t errx[npoints] = {0.05, 0.07, 0.10, 0.12, 0.13} ; Double_t erry[npoints] = {0.05, 0.05, 0.08, 0.09, 0.10} ; TGraphErrors *graph = new TGraphErrors(nPoints, x, y, errx, erry) ; graph -> SetName("Graph") ; graph -> SetTitle("My Title") ; graph -> Draw("ap") ; } 32/35

33 Creare un grafico (metodo 1) Ecco un esempio completo per la creazione di un grafico con cinque punti: void MacroGrafico() { const Int_t npoints = 5 ; Double_t x[npoints] = {0.1, 0.6, 1.8, 2.4, 3.1} ; Double_t y[npoints] = {0.09, 0.47, 0.93, 1.12, 1.21} ; Double_t errx[npoints] = {0.05, 0.07, 0.10, 0.12, 0.13} ; Double_t erry[npoints] = {0.05, 0.05, 0.08, 0.09, 0.10} ; TGraphErrors *graph = new TGraphErrors(nPoints, x, y, errx, erry) ; graph -> SetName("Graph") ; graph -> SetTitle("My Title") ; graph -> Draw("ap") ; } 33/35

34 Creare un grafico (metodo 2) Un metodo alternativo per creare un grafico consiste nel: creare un grafico vuoto aggiungere i punti uno ad uno [Potete ovviamente anche aggiungere un punto ad un grafico creato con il metodo 1 ] Ecco come si imposta il primo punto del grafico visto nella slide predente: TGraphErrors *graph = new TGraphErrors() ; graph -> SetPoint(0, 0.1, 0.09) ; graph -> SetPointError(0, 0.05, 0.05) ; Il primo argomento dei due metodi identifica il punto che state creando. Iniziate sempre dal punto numero 0. Lo stesso metodo permette di modificare le coordinate o gli errori di un punto già impostato 34/35

35 Creare un grafico Istruzioni complementari Qualche commento sul codice per la creazione del grafico (per entrambi i metodi ) Le istruzioni: graph -> SetName("Graph") ; graph -> SetTitle("My Title") ; permettono di specificare rispettivamente il nome e il titolo del grafico (nel caso dell'istogramma sono specificati alla creazione dell'oggetto) L'istruzione: graph -> Draw("ap") ; specifica che nel disegno dovranno comparire gli assi del grafico (lettera a ) e i punti (lettera p ). Non so perché, ma l'opzione predefinita (Draw senza argomenti) NON prevede il disegno degli assi e dei punti!!! 35/35

36 Backup Slides

37 Variabili e puntatori Nel C++ si può accedere all'indirizzo di memoria di una variabile tramite il suo puntatore. Il puntatore è identificato da una stringa di caratteri, per esempio 0x80cb700 Se A è una variabile, il suo puntatore si ottiene chiedendo &A Se A è il puntatore di una variabile, la variabile si ottiene chiedendo *A SE A = ALLORA &A = 0x80cb700 SE B = &A ALLORA *B = Se definiamo: Double_t *A = allora A è un puntatore, perché la variabile è *A 37/35

Lezione 3: File di input, File di output

Lezione 3: File di input, File di output Corso di Laboratorio I Laurea Specialistica Dott. Corrado Cicalò a.a. 2009/2010 Introduzione all'analisi dei dati sperimentali con il framework ROOT Università di Cagliari & INFN Università di Cagliari

Dettagli

Lezione 4: Funzioni di Fit

Lezione 4: Funzioni di Fit Corso di Laboratorio I Laurea Specialistica Dott. Corrado Cicalò a.a. 2009/2010 Introduzione all'analisi dei dati sperimentali con il framework ROOT Università di Cagliari & INFN Università di Cagliari

Dettagli

Assegnazione di una variabile

Assegnazione di una variabile Assegnazione di una variabile Per scrivere un valore dentro una variabile si usa l operatore di assegnazione, che è rappresentato dal simbolo =. Quindi, se scrivo int a; a = 12; assegno alla variabile

Dettagli

Il primo programma C++

Il primo programma C++ Il primo programma C++ Un programma in qualsiasi linguaggio evoluto è una sequenza di istruzioni che la CPU dopo opportune conversioni esegue. La sintassi dei linguaggi di programmazione è molto piu rigida

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A. Cicli e array Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7 Lez. 8 - Introduzione all ambiente

Dettagli

Qualsiasi programma in C++ segue lo schema:

Qualsiasi programma in C++ segue lo schema: Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Dettagli

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

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

Dettagli

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 11 Array A. Miola Dicembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Array 1 Contenuti Il problema degli studenti da promuovere

Dettagli

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi

Dettagli

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea

Dettagli

C array. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso.

C array. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso. Non sappiamo a priori quante variabili dobbiamo definire per contenere gli interi.

Dettagli

Introduzione alla programmazione in linguaggio C

Introduzione alla programmazione in linguaggio C Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008

Dettagli

Introduzione al linguaggio C Primi programmi

Introduzione al linguaggio C Primi programmi Introduzione al linguaggio C Primi programmi Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Dettagli

Valori Alfanumerici. Informatica di Base -- R.Gaeta 1

Valori Alfanumerici. Informatica di Base -- R.Gaeta 1 Valori Alfanumerici Finora abbiamo utilizzato solo valori numerici; Se vogliamo usare valori alfanumerici (caratteri e numeri), usiamo le stringhe; In Logo le stringhe si delimitano con le parentesi quadre;

Dettagli

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

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

Dettagli

STRUTTURE DI CONTROLLO DEL C++

STRUTTURE DI CONTROLLO DEL C++ STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://www.ing.unibs.it/gastaldi/ Indice 1 M-file di tipo Script e Function Script Function 2 Gestione

Dettagli

4 GLI ARRAY E LE STRINGHE

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

Dettagli

CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS

CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS Comandi da terminale Il comando sleep fa attendere un comando prima dell'esecuzione. Prova il comando: $ sleep 3s && echo Ciao Mondo! $ Comandi da terminale

Dettagli

Introduzione al C++ (continua)

Introduzione al C++ (continua) Introduzione al C++ (continua) I puntatori Un puntatore è una variabile che contiene un indirizzo di memoria pi_greco 3.141592 pi_greco_ptr indirizzo di 3.141592 & DEREFERENZIAZIONE RIFERIMENTO * se x

Dettagli

Ing. Lorenzo Vismara

Ing. Lorenzo Vismara Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&&#2! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)&#7& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#

Dettagli

Tipi di dato, variabili, istruzioni

Tipi di dato, variabili, istruzioni Tipi di dato, variabili, istruzioni Esercizio 1 Implementare un servizio che estrae due numeri random tra 1 e 100, stampa a video i due numeri ed esegue le seguenti operazioni: se almeno uno dei due numeri

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 7: Istruzioni ed Operatori Booleani Vittorio Scarano Corso di Laurea in Informatica Soluzioni agli esercizi Istruzioni (statement) semplici e di controllo Operatori relazionali

Dettagli

Lezione 1. Argomenti della lezione: Introduzione a ROOT

Lezione 1. Argomenti della lezione: Introduzione a ROOT Pagina 1 di 7 Lezione 1 Argomenti della lezione: Introduzione a ROOT Informazioni generali Schermata iniziale Comandi di ROOT CINT Convenzioni Variabili Globali Classi, Metodi e Costruttori Disegnare funzioni

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Record Laboratorio di Informatica Ingegneria Meccanica Lezione 9, 6 dicembre 2007 versione 18 dicembre 2007 Renato Menicocci Array: collezione di dati omogenei

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 4 Operatori e introduzione a funzioni Vittorio Scarano Corso di Laurea in Informatica Università degli Studi di Salerno Soluzioni ad alcuni esercizi Alcuni commenti sugli

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Laboratorio di informatica Ingegneria meccanica Lezione 7 19 novembre 2007 Concetto di modulo di un programma (1) Lo sviluppo di programmi complessi avviene tipicamente per composizione di moduli, ognuno

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2018/2019 Argomenti del Corso Ogni lezione consta di una spiegazione assistita da slide,

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

Dettagli

Concetti base programmazione. Antonio Gallo

Concetti base programmazione. Antonio Gallo Concetti base programmazione Antonio Gallo info@laboratoriolibero.com Programma Insieme di istruzioni: Strtturato Ad oggetti Strutturato Ha una struttura più lineare Basato sui concetti di sequenza, selezione,

Dettagli

Programmazione A.A Costrutti di base. ( Lezione XII, parte I ) Gestione dell input. Prof. Giovanni Gallo Dr.

Programmazione A.A Costrutti di base. ( Lezione XII, parte I ) Gestione dell input. Prof. Giovanni Gallo Dr. Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XII, parte I ) Gestione dell input Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di Catania e-mail

Dettagli

Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI

Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI IF Ogni linguaggio di programmazione presenta almeno una struttura di controllo decisionale. La sintassi del linguaggio C è la seguente. if ()

Dettagli

http://root.cern.ch C++

http://root.cern.ch C++ http://root.cern.ch ROO C++ Èun com prog dedi Piano di lavoro ROOT é un framework per l analisi dati basato sul C++: E` un sistema estremamente flessibile, ma un po complesso da imparare, Introduzione

Dettagli

PROGRAMMAZIONE: I sottoprogrammi

PROGRAMMAZIONE: I sottoprogrammi PROGRAMMAZIONE: I sottoprogrammi Prof. Enrico Terrone A. S: 2008/09 Definizione Un sottoprogramma è un blocco di istruzioni a sé stante con un proprio nome. Il main (= sottoprogramma principale) è un caso

Dettagli

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

C: panoramica. Violetta Lonati

C: panoramica. Violetta Lonati C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati

Dettagli

Esercizi in Python. Docente: Domenico Daniele Bloisi

Esercizi in Python. Docente: Domenico Daniele Bloisi Esercizi in Python Docente: Domenico Daniele Bloisi http://profs.scienze.univr.it/~bloisi/asl/asl.html Esercizio 1 Utilizzare il linguaggio di programmazione Python per stampare a video la scritta "prima

Dettagli

Introduzione al linguaggio C Puntatori

Introduzione al linguaggio C Puntatori Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2017

Dettagli

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it

Dettagli

Introduzione al C. Lezione 1 Elementi. Rossano Venturini. Pagina web del corso

Introduzione al C. Lezione 1 Elementi. Rossano Venturini. Pagina web del corso Introduzione al C Lezione 1 Elementi Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Lezioni di ripasso C Mercoledì 19 Giovedì

Dettagli

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Abbiamo visto È conveniente definire una macchina astratta C Lo stato della macchina ci

Dettagli

File binari e file di testo

File binari e file di testo I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file

Dettagli

int main(){ int numero; /* numero di cui voglio calcolare il fattoriale */ int fatt; /* memorizzo il fattoriale di numero */ int somma=0;

int main(){ int numero; /* numero di cui voglio calcolare il fattoriale */ int fatt; /* memorizzo il fattoriale di numero */ int somma=0; Problema: CALCOLARE LA SOMMA DEI FATTORIALI DEI PRIMI 100 NUMERI NATURALI 0!+1!+2! + 99! #include int fattoriale(int); Calcolo fattoriale int main(){ int numero; /* numero di cui voglio calcolare

Dettagli

Ambienti di Programmazione per il Software di Base

Ambienti di Programmazione per il Software di Base Ambienti di Programmazione per il Software di Base Le Funzioni in C Esercizi sulle Funzioni svolti Esercizi sulle Funzioni da svolgere A.A. 2011/2012 Ambienti di Programmazione per il Software di Base

Dettagli

Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1 1) In un diagramma di flusso, la rappresentazione di un ciclo WHILE include sicuramente almeno:

Dettagli

Operazioni su file di caratteri

Operazioni su file di caratteri Operazioni su file di caratteri Apertura fopen Chiusura fclose Scrittura fprintf Lettura fscanf Controllo fine file feof Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Apertura di un file: Si

Dettagli

Le classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:

Le classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura: Le classi in java Un semplice programma java, formato da una sola classe, assume la seguente struttura: class Domanda static void main(string args[]) System.out.println( Quanti anni hai? ); La classe dichiarata

Dettagli

C: primi elementi. Lezione 4

C: primi elementi. Lezione 4 C: primi elementi Lezione 4 Evoluzione del BCPL (1967) e B (1970), entrambi typeless Sviluppato da Dennis Ritchie nel 1972 ed implementato per il PDP-11 Usato per lo sviluppo del sistema operativo UNIX

Dettagli

Introduzione Programmazione Java

Introduzione Programmazione Java Introduzione Programmazione Java Paolo Tomeo paolo.tomeo@poliba.it Regole basilari Java è case sensitive quindi prestare attenzione alle maiuscole Il commento si inserisce con // all'inizio della linea

Dettagli

Passaggio di valori alle procedure

Passaggio di valori alle procedure Passaggio di valori alle procedure Si distingue tra procedure di sistema e procedure definite dall utente. Es. forward 70: il 70 è un valore passato all argomento della procedura forward di sistema; Anche

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA 1 Struttura di un programma Java Un programma Java consiste in un insieme di definizioni di classi. In genere

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 24 settembre 2007 Outline 1 M-file di tipo Script e Function Script Function 2 Elementi di programmazione

Dettagli

Modulo 2: Strutture fondamentali della programmazione Java

Modulo 2: Strutture fondamentali della programmazione Java Modulo 2: Strutture fondamentali della programmazione Java Argomenti Trattati: Un semplice programma Java: Presentazione di un primo Esempio; Introduzione alla struttura; Compilazione ed esecuzione. Argomenti

Dettagli

Appunti di informatica. Lezione 8 anno accademico Mario Verdicchio

Appunti di informatica. Lezione 8 anno accademico Mario Verdicchio Appunti di informatica Lezione 8 anno accademico 2016-2017 Mario Verdicchio Il ciclo FOR Molto spesso in un programma bisogna ripetere un operazione per un numero prefissato di volte Si tratta di un iterazione

Dettagli

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione

Dettagli

Corso di Informatica A.A

Corso di Informatica A.A Corso di Informatica A.A. 2009-2010 Lezione 9 Lezione 9 1 Il linguaggio C Istruzioni di input/output Arrays La funzione printf() La funzione printf() consente di mostrare sullo standard output (normalmente

Dettagli

Introduzione a Visual Basic Lezione 2 Cicli e anomalie

Introduzione a Visual Basic Lezione 2 Cicli e anomalie a Visual Basic Lezione 2 Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Perché i cicli? Un esempio concreto Finora abbiamo visto

Dettagli

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

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Array Array monodimensionali Array bidimensionali Esercizi 16/01/2013 2 ARRAY Gli array sono oggetti utilizzati in Java per memorizzare

Dettagli

Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A

Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A. 2018-2019 Programmazione Lezione 12A Esercizi in MATLAB Docente: Lorenzo Caruso lorenzo.caruso@unife.it Nelle lezioni precedenti Matlab:

Dettagli

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

Fondamenti di Informatica. Ingegneria elettronica

Fondamenti di Informatica. Ingegneria elettronica Fondamenti di Informatica Ingegneria elettronica Prima esercitazione Cecilia Catalano Sistema Operativo Il S.O. è costituito da un insieme di programmi che permettono di utilizzare e gestire tutte le risorse

Dettagli

La gestione dei caratteri in C

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

Dettagli

Lezione 1: Organizzare i dati in grafici e istogrammi

Lezione 1: Organizzare i dati in grafici e istogrammi Corso di Laboratorio I Laurea Specialistica Dott. Corrado Cicalò a.a. 2009/2010 Introduzione all'analisi dei dati sperimentali con il framework ROOT Università di Cagliari & INFN Università di Cagliari

Dettagli

Un esempio di if annidati

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

Dettagli

Corso Sapienza Trading Automatico la formazione finanziaria è il miglior investimento per il tuo domani

Corso Sapienza Trading Automatico la formazione finanziaria è il miglior investimento per il tuo domani www.sapienzafinanziaria.com Corso Sapienza Trading Automatico la formazione finanziaria è il miglior investimento per il tuo domani Lezione n. 2 Edizione marzo 2015 Operatori condizionali e i cicli www.sapienzafinanziaria.com

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

Dettagli

Matlab 5. Funzioni. Slide basate sul corso di C. Blundo. A.A. 2010/ GPersiano. Laboratorio di Informatica per Fisici 1

Matlab 5. Funzioni. Slide basate sul corso di C. Blundo. A.A. 2010/ GPersiano. Laboratorio di Informatica per Fisici 1 Matlab 5 Funzioni Slide basate sul corso di C. Blundo A.A. 2010/2011 -- GPersiano Laboratorio di Informatica per Fisici 1 Funzioni Le funzioni sono utili quando occorre ripetere una serie di comandi più

Dettagli

I Dati Strutturati ed il Linguaggio C

I Dati Strutturati ed il Linguaggio C Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Dati Strutturati Esigenze Vettori

Dettagli

Qualsiasi programma in C++ segue lo schema: Variabili

Qualsiasi programma in C++ segue lo schema: Variabili Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 3 Analisi dettagliata di un programma /* commento */ Possono estendersi su più linee apparire in qualsiasi parte del programma. Alternativamente

Dettagli

Laboratorio Programmazione Anno Lezione 3

Laboratorio Programmazione Anno Lezione 3 Laboratorio Programmazione Anno 2012-2013 Lezione 3 Scripting Fino ad ora, per fare esercizi, abbiamo utilizzato l ambiente interattivo di python. È possibile creare dei file contenenti (lunghe) sequenze

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

Dettagli

Università degli Studi di Milano

Università degli Studi di Milano Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche Lezione 3 Input/Output elementare. Operatori, espressioni e istruzioni FABIO SCOTTI Laboratorio di programmazione

Dettagli

Programmazione in Java (I modulo) Lezione 4

Programmazione in Java (I modulo) Lezione 4 Programmazione in Java (I modulo) Lezione 4 Costanti Chiamiamo costanti tutti i valori numerici (interi o con la virgola), i caratteri e le stringhe. Esempio: 2, 3.7, 'y, buongiorno Le costanti numeriche

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 8 14/11/2013

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 8 14/11/2013 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 8 14/11/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University

Dettagli

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Dettagli

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione

Dettagli

Primi programmi in C

Primi programmi in C Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Uso del compilatore gcc Struttura di un programma

Dettagli

i Vettori Alessandra Giordani Lunedì 15 aprile

i Vettori Alessandra Giordani Lunedì 15 aprile i Vettori Alessandra Giordani agiordani@disi.unitn.it Lunedì 15 aprile 2013 http://disi.unitn.it/~agiordani/ Dichiarazione di un Array La dichiarazione di un array di n elementi di tipo T causa l'allocazione

Dettagli

Informatica B Esercitazione 1

Informatica B Esercitazione 1 Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Dipartimento di Elettronica e Informazione Informatica B Esercitazione 1 Introduzione al C Andrea Galbiati galbiati@elet.polimi.it

Dettagli

Laboratorio 1. 20/21 febbraio 2019

Laboratorio 1. 20/21 febbraio 2019 Laboratorio 1. 20/21 febbraio 2019 Attivitá Professionalizzante A.A. 2018/19 Premessa Si lavora a coppie, sui PC del laboratorio. Al termine degli esercizi, ogni copia scrive un breve report e me lo invia

Dettagli

Puntatori e array. Violetta Lonati

Puntatori e array. Violetta Lonati Puntatori e array Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Puntatori e array

Dettagli

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

Calcolare il massimo di una lista

Calcolare il massimo di una lista Calcolare il massimo di una lista Lunedì abbiamo definito un algoritmo per calcolare il valore massimo fra gli elementi di una lista predefinita di interi. In particolare, abbiamo: deciso di rappresentare

Dettagli

#include <stdio.h> main() { - 1 -

#include <stdio.h> main() { - 1 - Un primo esempio di programma Ogni programma C deve contenere una funzione speciale chiamata main che indica il punto in cui inizia l esecuzione del programma. La funzione main è unica all interno di ogni

Dettagli

Introduzione a Git, Parte 2 - Quali sono le funzioni principali di Git

Introduzione a Git, Parte 2 - Quali sono le funzioni principali di Git Introduzione a Git, Parte 2 - Quali sono le funzioni principali di Git Nella prima puntata di Introduzione a Git abbiamo visto cos è un sistema di controllo versione e perché Git è tra i sistemi più usati

Dettagli

Informatica per Statistica Riassunto della lezione del 21/10/2011

Informatica per Statistica Riassunto della lezione del 21/10/2011 Informatica per Statistica Riassunto della lezione del 1/10/011 Igor Melatti Costrutti del linguaggio C: ripasso Si consideri il programma C alla Figura 1 ci sono due dichiarazioni di funzioni, insertion

Dettagli

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Linguaggio Testuale E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Delle volte viene chiamato metalinguaggio, e l algoritmo scritto tramite

Dettagli