Lezioni Laboratorio di Fisica II - C++ e ROOT - A.A. 2013-2014


In Evidenza:


- Test preliminare dato all'appello del 14/01/2014 esame-14-01-2014.pdf
- Test preliminare dato all'appello del 04/02/2014 esame-04-02-2014.pdf
- Test preliminare dato all'appello del 10/06/2014 (con soluzioni) esame-10-06-2014-soluzioni.pdf
- Test preliminare dato all'appello del 23/06/2014 (con soluzioni) esame-23-06-2014-soluzioni.pdf

Avvisi A.A. 2013-2014:

1) A causa della sospensione dell'attivita' didattica nella mattinata del 30 ottobre, e a seguito della richiesta di un consistente numero di studenti di spostare il turno di martedi' 29 ottobre, l'inizio dei turni di laboratorio e' posticipato a lunedi' 4 novembre.
2) Per la indisponibilita' dell'aula Pincherle venerdi' 25 ottobre, la lezione si svolgera' in aula A, sede di via Irnerio, dalle ore 12:00 alle 13:00.
3) Venerdi' 29 novembre: rilevazione didattica per il modulo di programmazione C++/ROOT -Corso di Laboratorio II
4)Venerdi' 10 gennaio 2014: Turno di Recupero di Laboratorio, dalle 9:30 alle 12:30, nel laboratorio di informatica della sede di via Irnerio
5) Presso la portineria della sede di via Irnerio e' disponibile una lista per l'iscrizione all'appello del 14 gennaio 2014
6) Presso la portineria della sede di via Irnerio e' disponibile una lista per l'iscrizione all'appello del 04 febbraio 2014. Gli studenti sono pregati di iscriversi. La lista sara' ritirata un giorno prima dell'esame.

Materiale per l'esame:

1) Esempi di domande che potrebbero esservi proposte al test preliminare da sostenere durante l'esame Questions.pdf
2) Una possibile traccia per il programma da portare all'esame (aggiungeremo altre in seguito) TracceProgrammi.pdf

Slides delle Lezioni:

Lezione Introduttiva, C++ e LabVIEW Lezione Introduttiva: struttura del corso I semestre- C++ mini-guida alla compilazione e all'esecuzione di un programma in una shell Linux

Lezione I, C++ Basics: dichiarazione di variabili e scope, tipi nativi, operatori, strutture di controllo (condizionali, iterative)

Lezione II, C++ Basics: arrays, puntatori, reference, funzioni, meccanismo di overloading

Lezione III, Tipi non predefiniti in C++ struct, union e class

Lezione IV, costruttori e distruttori, metodi/attributi statici, metodi/attributi const, overloading degli operatori

Lezione V, reimpiego di codice per composizione o ereditarieta', ereditarieta' virtuale, classi astratte e polimorfismo al run time ;
un semplice esempio di polimorfismo realizzato attraverso l'ereditarieta' lo trovate qui


Lezione VI,programmazione generica in C++: template classes and functions, STL Containers, Iterators and Algorithms

Lezione VII, Introduzione a ROOT, parte I
Lezione VIII, Introduzione a ROOT, parte II
macro per creare istogrammi e scriverli su file ROOT makeHistos.C
macro per leggere istogrammi da file ROOT e graficarli drawHistos.C

Lezione IX, Introduzione a ROOT, parte III
macro per graficare funzioni definite dall'utente makeFunctions.C
macro in cui sono definite le funzioni myFunctions.C
macro per generare secondo una distribuzione definita dall'utente e farne un fit fitSignal.C

Lezione X, Introduzione a ROOT, parte IV
macro per creare un semplice tree e scriverlo su file makeTree.C
macro per leggere un tree da file e analizzarne il contenuto readTree.C

Lezione XI, tenuta dal Dott. F. Noferini: Approfondimento su ROOT Trees


Materiale Aggiuntivo:

Istruzioni per l'installazione di ROOT: IstruzioniRoot
Per evitare di dover settare l'ambiente ogni volta che aprite una finestra terminale, inserite nel file .bashrc (che trovate nella home) il comando:
source rootbin/thisroot.sh,
dove rootbin e' il path alla directory bin della versione di root che avete installato, e dove risiede questo file.


Silvia Arcelli