root su vista
domanda di carattere tecnico: ho delle difficoltà nel far partire ROOT su Vista.
s i installa correttamene ma poi non riesco ad utilizzrlo.
consigli?
ciao
Laboratorio di Informatica per la Fisica II
domanda di carattere tecnico: ho delle difficoltà nel far partire ROOT su Vista.
s i installa correttamene ma poi non riesco ad utilizzrlo.
consigli?
ciao
Pubblicato da Anonimo alle 10:48 15 commenti
Pubblicato da hronir alle 12:10 0 commenti
Ecco alcune slide di introduzione all'ereditarieta', da sfogliare come lettura serale prima della lezione del 3/4 dicembre.
Pubblicato da Unknown alle 15:40 3 commenti
Precisazioni dell'esercizio per la prossima volta.
vettore
per la gestione di array dinamici, templata sul tipo di dati da allocare nel vettore.doppio_di
, esterna alla classe (ovvero non un metodo della classe), che prenda come unico argomento, passato per valore, un oggetto V
della vostra classe vettore
e restituisca un vettore W
i cui elementi W[i]
sono ciascuno il doppio di V[i]
.void raddoppiami
che prenda come unico argomento il riferimento di un vettore e raddoppi il valore di ciascun suo elemento.vettore
consenta il cambiamento della dimensione dell'array dinamico. In particolare, consenta sia di ridurre il numero di elementi (preservando il valore dei primi elementi sopravvissuti) e sia di aumentarne (preservando il valore dei primi elementi già esistenti). Inutile dirlo: attenzione ai new
e delete
!Pubblicato da hronir alle 08:03 0 commenti
Esercizio facile-facile: dato il seguente header-file complesso.hpp per una possibile classe dei numeri complessi, scriverne l'implementazione in un corrispondente file complesso.cpp (e ovviamente, com'è sempre sottinteso, scrivere una test-unit per tale classe, ovvero un semplice programma capace di testare tutte le funzionalità implementate per la classe).
Esercizio facile: scrivere una classe istogramma da usare per l'analisi della soluzione all'esercizio 10. La classe istogramma non dovrà contenere al suo interno il generatore di numeri casuali, ma dovrà contenere solo quei metodi e quegli attributi che gli sono necessari per poter gestire una situazione del tutto generica in cui si vuole
Pubblicato da hronir alle 11:47 0 commenti
...chi è che racconta qui sul blog qual è la sottigliezza cui bisogna prestare attenzione nel risolvere l'esercizio 6, rispetto alla soluzione dell'esercizio 5?
...e chi è che mette un bello screenshot dell'ASCII-istogramma che ha ottenuto? Va bene con qualsiasi generatore random...!
Pubblicato da hronir alle 19:05 1 commenti
Per chi le ha già viste durante la seconda lezione, per chi le vedrà nella prossima lezione, ecco le slide sulle strutture.
Vi ricordo che le slide delle lezioni precedenti si trovano qui.
Pubblicato da hronir alle 19:39 0 commenti
rand()
del C/C++ che abbiamo visto in classe.float
o double
) distribuiti uniformemente nell'intervallo [0,1]
;[0,1)
, ovvero 1 escluso;[0,6)
;[1,6)
;[1,6]
;[-2,2)
;[-M_PI,M_PI)
;a
e b
) e che costituisca un generatore di numeri casuali floating-point distribuiti uniformemente nell'intervallo [a,b)
;[-M_PI/2,M_PI/2)
con una probabilità proporzionale alla funzione coseno;Pubblicato da hronir alle 14:04 0 commenti
Inizia il corso per l'anno accademico 2007-2008.
Questo blog, al quale sono registrati anche diversi studenti che hanno seguito il corso del 2006-2007, e' pensato come luogo di discussione fra gli studenti, di scambio di problemi e soluzioni, di condivisione di trucchi, link e scoperte (riguardo agli argomenti del corso ;) ).
Chiunque si iscriva, mandando uno dei seguenti email
valentina.tancini [at] mib.infn.it
vincenzo.miccio [at] mib.infn.it
verra' inserito fra gli amministratori, con tutte le prerogrative (ad esempio, potra' lui stesso inserire nuovi autori).
Pubblicato da hronir alle 15:50 0 commenti
dalla wikipedia, una lista di algoritmi.
Pubblicato da Unknown alle 14:50 0 commenti
Ciao a tutti,
Volevo mettere in evidenza un nuovo oggetto di ROOT che ho scoperto da poco, si tratta del TPad. (documentazione e tutorial con un istrogramma riempito con numeri casuali). Utilizzando questo oggetto si possono rappresentare in un TCanvas più grafici contemporaneamente. Le opzioni sono molto simili a quelle del TCanvas.
Da segnalare anche (sempre nel TCanvas) l'azione "Inspect" che si può attivare facendo clic con il tasto destro del mouse è utile perchè da l'elenco dello stato di tutte le variabili che compongono l'oggetto, insieme ad una breve descrizione.
Posto un file di esempio con un TCanvas nel quale sono rappresentati due grafici (una carica di un circuito RC e la stessa relazione linearizzata) e qui l'output.
Pubblicato da Unknown alle 21:21 0 commenti
Ecco un forum di sviluppatori, interessante da consultare per vedere se qualcuno ha gia' posto il problema che non riusciamo a risolvere
thescripts developers network
Pubblicato da Unknown alle 12:04 0 commenti
Etichette: docs
http://www.ishiboo.com/~nirva/c++/stl-ref/
Pubblicato da Unknown alle 15:54 0 commenti
Etichette: docs
Ecco una serie di membri di std::vector, fra gli altri non conoscevo "at".
http://www.cppreference.com/cppvector/all.html
pietro
Pubblicato da Unknown alle 15:10 0 commenti
Etichette: docs
Ciao a tutti,
oggi c'è stato il primo appello d'esame... a me è stato chiesto, durante la parte informatica della prova orale, di implementare la seguente classe "singleton" (vedere il collegamento nei Quaderni oppure qui).La particolarità di un singleton è che può esistere al più UNO ED UN SOLO oggetto di tipo singleton. Se leggete l codice infatti potete vedere che il costruttore è "private" e perciò non è possibile fare una dichiarazione standard, come del tipo.
singleton pluto;
Il costruttore viene chiamato con il metodo istanza() che fa parte esso stesso della classe singleton. Ma come è possibile usare un metodo di una classe se nessun oggetto del tipo di "classe" è stato dichiarato.
La soluzione sta nell'utilizzo della parola chiave static che in pratica permette che il metodo esista "di per sè" senza l'esistenza della classe ( e quindi può essere utilizzato anche senza dichiarare la classe stessa).
L'operatore di scope :: (come quello che si utilizza in std::cout) utilizzato in singleton::istanza() permette invece di mettersi nel namespace... (di cui posseggo solo un vago concetto intuitivo) della classe singelton.
Potete trovare l'header file singleton.h (con l'implementazione) e il programma singleton.cpp nei file del gruppo.
Ciao ciao
Pubblicato da Unknown alle 21:41 0 commenti
Mi e' stato chisto in merito all'esercizio numero 5 se si possa definire, come membro di una classe, un puntatore ad un oggetto del tipo della classe stessa.
La risposta e' SI, perche' un puntatore e' un indirizzo di memoria, quindi un numero: questo signifca che il compilatore riesce a definirlo prima di aver costruito la classe (insomma, non va in cortocircuito del tipo: per creare una classe devo prima creare i componenti che contengono la classe che contiene i componenti che contengono la classe che contiene i componenti...).
Pubblicato da Unknown alle 00:48 1 commenti
Ciao,
Volevo chiedere un chiarimento. Guardando sul SIFA ho notato che c'è un appello orale di informatica previsto per il giorno 16/02. Non vorrei aver capito male... l'esame non consisteva in una prova in laboratorio + orale da sostenersi interamente il giorno 02/02?. Se sì, è necessario iscriversi al SIFA? (non c'è l'appello... non vorrei che fosse scaduto il termine di iscrizione...)
Gli appelli non erano solamente il 02/02 e 02/03?
Grazie per i chiarimenti.
Pubblicato da Unknown alle 22:38 1 commenti
Mi e' stato chiesto come mai i fit sui TProfile si comportino "come ci si aspetta" solamente ad alta statistica: cio' e' dovuto al fatto che i TProfile mediano, bin per bin, gli eventi che vengono inseriti.
Se il numero di eventi per bin e' basso, inevitabilmente ad ogni media effettuata dal TProfile e' associata come errore una grande RMS. Questo implica che il fit, che si basa anche sugli errori associati ai punti, non riesce a trovare la miglior funzione possibile che faccia il fit dei vari punti.
Pubblicato da Unknown alle 12:11 0 commenti
Ciao a tutti,
ho provato a risolvere un paio degli esercizi proposti da Pietro (qui). Ho caricato tra i file del gruppo i seguenti:
1. histoKri.C2. fitKri.C
Lasciate qualche commento!! (se volete)
Ciao ciao
Pubblicato da Unknown alle 23:43 0 commenti
Ciao a tutti,
volevo postare un esempio di relazione di amicizia tra una classe e una funzione (esterna alla classe stessa) si tratta dell'overload dell'operator<<.
Per fare in modo che la classe complessi diventi amica dell'operator<< basta scrivere nel file .h:
/* operator<< */
friend std::ostream& operator<< (std::ostream &out, const complesso &original);
Alcune annotazioni:
1. Se pensate di mettere un const dopo la dichiarazione della funzione, ossia di scrivere
friend std::ostream& operator<< (std::ostream &out, const complesso &original) const;
per evitare che la funzione friend giochi qualche tiro mancino alla vostra classe, incapperete in un errore infatti la funzione non appartiene alla classe e allora non potrete usare il const.
2. Potete notare che il "const" è messo in un altro punto, ossia:
friend std::ostream& operator<< (std::ostream &out, const complesso &original);
questo vi permette di essere sicuri che operator<< style="font-style: italic;">.
In altre parole se scrivete all'interno dell'implementazione
original.Re = 5;
vi viene restituito un errore che vi dice che original è const e non può essere modificato
(se la funzione non fosse stata dichiarata friend l'errore sarebbe stato: "Re" è privato.)
3. La dichiarazione di amicizia va fatta nel file .h ma l'implementazione può essere fatta in un file qualsiasi (nel mio caso stream_operator.cc)
Potete trovare il file caricato nel gruppo.
Un altro esempio potrete trovarlo all'indirizzo:
http://www.bo.infn.it/alice/alice-doc/mll-doc/ali-note/node23.html
Insieme a vari appunti sul C++.
Pubblicato da Unknown alle 21:59 0 commenti
Ciao a tutti,
qualche tempo fa, mentre si facevano i primi overload di operatori nelle classi "complesso" e "istogramma", era nata l'idea di overloadare (!!) l'operator <<
int main() {
complesso z(2,5);
std::cout <<>
...
}
In modo tale da visualizzare a schermo un numero complesso trattandolo come se fosse una variabile qualsiasi (float, double, int...).
Ho caricato nel gruppo il file complessiKri.cc (2) che contiene l'overload dell'operator <<.
Mi permetto di sottilineare alcune particolarità che ho notato:
1. l'overload è dichiarato nel seguente modo: std::ostream & operator<< (std::ostream & out, const complesso &original) quindi questo overload non è un metodo della classe complessi (altrimenti ci sarebbe stato scritto &complesso::operator<<).
2. Per questo motivo uno degli argomenti è proprio complesso &original che è il numero complesso che viene stampato a schemo.
3. operator<<> può accedere ai membri/metodi della classe che sono dichiarati "private" , infatti, ho dovuto utilizzare le funzioni Rez() e Imz() per ottenere la parte reale e immaginaria del numero, inoltre le ho dovute chiamare con la sintassi original.Rez() e original.Imz().
4. Per overloadare operator<< std::ostream, che è di un nuovo tipo rispetto a quelli inontrati finora.
Spero possa essere utile.
Ciao ciao
Cristian
Pubblicato da Unknown alle 21:50 1 commenti
Ciao a tutti,
Volevo dirvi che ho postato i files istogrammaKri.h, istogrammaKri.cc e istogrammaKri.cpp che sono rispettivamente l'header file, l'implementazione e il codice di test della classe istogramma.
Purtroppo... non funziona!! Mi viene segnalato un errore (Segmentation fault) all'interno del metodo "visualizza_verticale" che (teoricamente) dovrebbe visualizzarmi l'istogramma in verticale.
Non riesco proprio a trovare l'errore!
Grazie dell'aiuto.
Ciao ciao
Cristian
MODIFICA: Ho modificato il file istogrammaKri.cc (2) e istogrammaKri.cpp (2) per aggiungere l'overload dell'operator= (che mi ero dimenticato di fare). Ho caricato nei file del gruppo le nuove versioni.
Inserisco anche un file di testo contenente l'ultimo output che ho ottenuto (!!!!!) Istogramma_output.txt(Non capisco perxhè ora mi da problemi anche la funzione visualizza_orizzontale ?!?).
MODIFICA 23-Gen-07 : Ora il problema è stato risolto (da Enzo)! Potrete trovare la mia versione dell'istogramma tra i file del gruppo (istogrammaKri.cc (3)).
Pubblicato da Unknown alle 20:39 3 commenti
Subscribe to labinfoDocet |
Visit this group |