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