Strumenti Utente

Strumenti Sito


fisica:informatica:201617:esercitazione3rand

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
fisica:informatica:201617:esercitazione3rand [03/03/2017 alle 10:25 (8 anni fa)] – [Esercizio 8: La macchina di Galton] Susanna Pelagattifisica:informatica:201617:esercitazione3rand [06/02/2018 alle 08:55 (7 anni fa)] (versione attuale) – [Esercizio 7: Usiamo il generatore] Susanna Pelagatti
Linea 49: Linea 49:
 </code> </code>
  
-===== Esercizio 2: Generazione di numero casuali con seed diversi =====+===== Esercizio 2: Generazione di numeri casuali con seed diversi =====
  
 Modificare l'esercizio 1 in modo da generare un //seed// diverso ad ogni esecuzione utilizzando la funzione time(). Modificare l'esercizio 1 in modo da generare un //seed// diverso ad ogni esecuzione utilizzando la funzione time().
Linea 56: Linea 56:
 Scrivere un programma C che legge dallo standard input un numero N di reali da generare e stampa sullo standard output una sequenza di N numeri casuali reali nell'intervallo ''[0,1)'' utilizzando le funzioni ''srand()'' e ''rand()'' introdotte nell'esercizio precedente. Scrivere un programma C che legge dallo standard input un numero N di reali da generare e stampa sullo standard output una sequenza di N numeri casuali reali nell'intervallo ''[0,1)'' utilizzando le funzioni ''srand()'' e ''rand()'' introdotte nell'esercizio precedente.
  
-//Suggerimento//: Utilizzare ''RAND_MAX'' e la divisione fra reali. 
  
  
 ===== Esercizio 5: Ma quanto siamo casuali ? ===== ===== Esercizio 5: Ma quanto siamo casuali ? =====
-Per restringersi all'intervallo [A,B] possiamo utilizzare anche la seguente formula+Per restringersi all'intervallo [A,B] intero possiamo utilizzare anche la seguente formula
 <code> <code>
-A+((B-­A+1.0)*rand()/(RAND_MAX+1.0))+A+(int)((B-­A)*rand()/(RAND_MAX+1.0))
 </code> </code>
 oltre a oltre a
 <code> <code>
-A+rand()%(B-A + 1.0)+A+rand()%(B-A + 1)
 </code> </code>
-Utilizzare entrambe per generare sequenze di interi nell'intervallo ''[0,20]'',+Utilizzare entrambe per generare sequenze di interi nell'intervallo ''[0,20)'',
 ci sono differenze nella distribuzione valori ottenuti ? ci sono differenze nella distribuzione valori ottenuti ?
  
Linea 93: Linea 92:
 ===== Esercizio 7: Usiamo il generatore =====  ===== Esercizio 7: Usiamo il generatore ===== 
    
-Sulla base dell'esercizio 7, scrivere un programma C che genera 100 numeri double casuali compresi nell’intervallo [0,1li stampa con precisione limitata alla quarta cifra decimale, a partire da un seme x0 letto da tastiera.+Sulla base dell'esercizio 6, scrivere un programma C che genera 100 numeri double casuali e li stampa su stdout. I numeri devono essere compresi nell’intervallo [0,1stampati con precisione limitata alla quarta cifra decimale partire da un seme x0 letto da tastiera.
    
    
Linea 135: Linea 134:
 All’istante i+1, le coordinate della particella sono calcolate come: All’istante i+1, le coordinate della particella sono calcolate come:
 \begin{align} \begin{align}
-x_{i+1} = x_i + A+x_{i+1} = x_i + A\\
 y_{i+1} = y_i + B y_{i+1} = y_i + B
 \end{align} \end{align}
-Dove A e B sono due numeri double pseudo-casuali a precisione limitata compresi nell’intervallo [-1,1] (e generati sulla base del programma dell’esercizio 6). Per la generazione di A e di B il programma usa separatamente due semi A0 e B0 letti da tastiera (invece, i parametri a,b,M per la generazione delle due sequenze di numeri pseudo casuali sono gli stessi).+Dove A e B sono due numeri double pseudo-casuali compresi nell’intervallo [-1,1]. Per la generazione di A e di B il programma usa separatamente due semi A0 e B0 letti da tastiera (invece, se si usa il generatore dell'esercizio 6, i parametri a,b,M per la generazione delle due sequenze di numeri pseudo casuali sono gli stessi).
    
 Il programma C termina quando la particella raggiunge (o supera) gli estremi dell’area, e stampa la posizione raggiunta dalla particella. Il programma C termina quando la particella raggiunge (o supera) gli estremi dell’area, e stampa la posizione raggiunta dalla particella.
    
-//Nota: bisogna avere pazienza.//+//Nota: bisogna avere pazienza....//
fisica/informatica/201617/esercitazione3rand.1488536726.txt.gz · Ultima modifica: 03/03/2017 alle 10:25 (8 anni fa) da Susanna Pelagatti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki