Il problema dei bruscolini

Se c’è una via più facile, veloce e che non richieda troppa fatica rispetto a quella attuale, allora un fisico medio la troverà. Essendo io un medio, una via per quanto riguarda un problema che ho dovuto affrontare, per l’appunto, l’ho trovata.
In un corso di laboratorio infatti mi sono ritrovato a dover gestire matematicamente e graficamente una mole di 3000 dati. Bruscolini se paragonati ai grandi esperimenti internazionali, ma comunque abbondantemente sufficienti a far diventare vecchi se trattati alla vecchia maniera di penna e carta.
Essendo questo impensabile, mi sono impratichito un po’ con il C++ per capire come stampare su un file di tipo .txt i dati elaborati dal programma perché potessero poi essere gestiti da un altro software per una loro rappresentazione grafica. Naturalmente nel file di testo si può scrivere qualunque cosa e il procedimento che qui espongo è del tutto generale.

Senza ulteriori giri, il codice prototipo da usare è il seguente:

#include    //file header necessario per la gestione del file di testo
using namespace std;
int main() {

double data1[] = {1.1,2.2,3.3,4.4,5.5};
double data2[] = {6.6,7.7,8.8,9.9,10.10};    //set di dati che vogliamo rappresentare

ofstream file(“file.txt”);    //apre un file di testo chiamato file.txt
if(!file) {
cout << “\n”;
cout << “Errore nella creazione del file.” << “\n”;    //segnala un eventuale errore
return -1;
}

//ordinando il set di dati con un ciclo for

for(int k=0;k<4;k++){

file << data1[k] << “ “ << data2[k] << std::endl;    //ordina il set andando a capo

}

file.close();    //chiude il file di scrittura

}    //chiude il main

Il risultato di questo codice sarà la creazione di file nella home che sarà ordinato come segue:

1.1 6.6
2.2 7.7
3.3 8.8
4.4 9.9
5.5 10.10

dove le due colonne sono separate da uno spazio (ecco il perché di << “ “ <<).
Ovviamente è possibile chiamare il file in questione con nomi più fantasiosi o pertinenti al nostro lavoro che la semplice etichetta file. Si presti solo attenzione a modificarne il nome in ogni altra parte del programma dove esso è richiamato.
Inoltre si possono aprire più file di scrittura a seconda delle esigenze e usare altre estensioni (come il .dat, per esempio).
Non c’è molto altro sull’argomento, quindi buona scrittura!

Annunci

12 thoughts on “Il problema dei bruscolini

  1. …e se volessi usare un carattere più grande?..che nel mio blog la scrittura è piccina piccina?….
    o non c’entra niente con questo che hai elaborato?
    Il tuo era risolvere un problema di stampa?

    La mia ignoranza in questo campo (…) è ad altissimi livelli O_o

    buona giornata
    .marta

    • Ciao Marta!

      Sì, sono due cose diverse, ma capisco bene il tuo problema perché la lettura con la lente di ingrandimento non è proprio agevole.
      Per risolverla devi controllare il tuo testo con una semplicissima righina di CSS, fai così: quando immetti il testo per un articolo, nota che in alto a destra nel riquadro ci sono due voci, “visuale” e “testo”. Vai su testo. Lì puoi controllare per l’appunto il tuo testo rendendolo più grande rispetto al default in questa maniera:

      <span style="font-size:large;">Testo che vuoi mettere</span>

      quindi come vedi basta fare un semplice copia/incolla di questo attributo all’inizio e alla fine del testo che ti interessa. Naturalmente “large” non è l’unico valore che puoi scegliere e per un controllo più accurato puoi andare qui. C’è solo l’imbarazzo della scelta ;)

  2. Oh..grazie!
    Alla prossima creazione ..no, no…ho qualcosa nelle bozze…provo con queste e poi ti dico…
    Non vedo l’ora…

    Grazie ancora!
    Ciao

    Ps: ho l’impressione che diventerò un’opportunista, sappilo!

  3. L’ha ribloggato su Tramedipensierie ha commentato:
    Si chiama Andrea, ha 25 anni, una Laurea Triennale in Fisica e un’inclinazione alla scrittura. Ecco penso che approffitterò di lui per chiedere spiegazioni su vari problemini riguardanti wp e altro. E’ bene chiarire subito che diventerò un’opportunista :D

    • Ciao Mistral.
      No dai, la colpa non è di nessuno: immaginando che tu non sia del settore è più che normale non capirci niente – lo stesso vale per me in altri ambiti ;)
      Ho provato a dare una spiegazione a Marta poco più sotto; dovrei riuscire a togliere un po’ di “mistero” :D
      Buona giornata a te ;)

  4. Andrea….se tu potessi con santa pazienza spiegare a me profana…quanto sopra non sarebbe male con parole semplici…sono un pochino curiosa, tra l’altro…

    Praticamente qual’è l’utilità?
    La gestione dei dati riguarda il programmatore?
    Se riguarda uno scrittore, per esempio …qual’è la finalità di queste stringhe?

    Grazie mille :)

    • Certo! Dunque: io e una mia collega avevamo a disposizione dei sensori in grado di rilevare il passaggio di alcune particolari particelle. Questi sono posizionati sul tetto del dipartimento e appena ne vedono una generano un segnale elettrico che viene raccolto. Siccome per estrarre delle informazioni interessanti da queste particelle – in definitiva era la loro direzione di arrivo – avevamo bisogno di tanti dati, abbiamo lasciato che questi sensori lavorassero per una notte intera. Il giorno dopo avevamo una nutrita messe di valori (3000, appunto). Che cos’erano ‘sti dati? Numeri!
      Ora, se avessimo dovuto gestirli a mano nei nostri calcoli saremmo ancora lì, con la voglia sotto le scarpe ;)
      Quindi ho scritto un programmino che li leggesse da un file creato dal software di acquisizione dei sensori, li elaborasse in modo opportuno e li restituisse in una forma altrettanto opportuna :D
      E in questo modo ho potuto tirarne fuori dei grafici. Ecco, vedi, alla fine tutto ‘sto lavoro era per fare dei “disegnini” ;)

E ora scrivi qualcosa tu!

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...