Voglia di Mac , anche su Facebook

Voglia di Mac , anche su Facebook
Diventa membro di iBlog anche su Facebook!
Powered By Blogger

Benvenuto in iBlog!

Benvenuto in iBlog , 

iBlog è un blog per interessi di  Mac OS X e anche iPhone OS ,  se se hai interessi da da condividere sul blog , scrivi un ' articolo e poi noi lo inseriremo su iBlog!

Pagine

sabato 31 luglio 2010

Introduzione al linguaggio C- parte 7: I numeri pseudo-casuali

Salve a tutti rieccomi a qui dopo una lunga assenza per parlare ancora di linguaggio C.
L' argomento di oggi è la creazione di numeri pseudo-casuali (l' aggettivo pseudo sta per il semplice fatto che se si conosce lo stato iniziale del generatore posso dedurre i numeri della sequenza).
Ora scopriamo come facciamo a crearli in C.
Inizialmente bisogna inizializare un seme di partenza tramite il codice
1 void srand (unsigned int seed)
dove void indica il tipo di srand che è l' inizializzatore del seme che sarà un intero senza segno( =
unsigned int seed)
Quindi void è una funzione senza un tipo precisato che chiede un parametro intero senza segno.
Poi bisogna generare l' elemento successivo con il seguente codice
1 int rand ( )
ovvero tramite una funzione rand intera con i parametri.
Si può inoltre definire una funzione RAND_MAX che definisce l' intervallo.
Comunque io vi suggerisco riportandovi il mio programma il modo più facile di crearli commentando le righe non note
(N.B. sta a voi introdurre nel programma le librerie stdio.h , stdlib.h che è la libreria per i numeri casuali e time.h che è la libreria del tempo perchè il modo più semplice di creare numeri casuali sta in questa libreria come vedremo in seguito)
1 int rand_limit (int k)
2 {
3 srand (time ());
4 return rand ( ) % k;
5 }
6 int main ( )
7 {
8 int g;
9 g = rand_limit (90);
10 printf ("%d\n", g);
11 return 0;
12 }
Bene ora commentiamo:
RIGA 1. Ho definito una funzione per creare i numeri pseudo-casuali;
RIGA 3: Ho inizializzato come seme della srand: il tempo , tramite la libreria time.h ecco perchè serve! e come detto prima io so che parte da zero e posso capire che numeri vengono fuori.... anche se farò di meglio di seguito
RIGA 4: Ecco il migliramento: Faccio ritornare il numero che creo ma uso la divisione in modulo per k (in pratica prendo il numero lo divido per k e il resto è la cosidetta divisione in modulo che si indica con % E NON CON / che è la divisione). Questo mi assicura un numero intero fra 0 e k-1(ma di seguito k sarà uguale a 90)
Il resto penso sia chiaro, se mi avete sempre seguito capendomi ;altrimenti rileggete i miei articoli sennò farò un articolo suppletivo
Bene ora posso dirvi che siete dei programmatori inizializzati di C, quindi le Introduzioni sono finite; ma chi volesse saperne di più non si disperi; perchè da questo momento scriverò gli articoli di avanzate di C e chi volesse seguirmi ancora può leggere i nuovi articoli con tale nome e saperne di più su questo stupendo e importantissimo linguaggio.
Quindi al prossimo articolo; per chi lo voglia
Luca

Nessun commento:

Posta un commento