Introduzione al generatore di numeri casuali in C

Per generare l'output previsto, il programma deve richiedere l'input corretto. Di solito, gli input sono forniti dall'utente ma a volte il programma deve scegliere l'input da solo. Ad esempio, per ottenere il timestamp corrente, l'applicazione utilizza una funzione integrata per recuperarlo dal sistema. Allo stesso modo, a volte è necessario che l'applicazione generi qualsiasi numero casuale che possa essere elaborato ulteriormente per ottenere l'output presunto. Sebbene sembri casuale per l'utente, il linguaggio di programmazione ci offre il meccanismo per definire l'intervallo del numero casuale. In questo articolo vedremo l'implementazione del programma di generazione di numeri casuali usando il linguaggio di programmazione C. Ci concentreremo sulla funzione integrata fornita da C per generare un numero casuale.

Cosa sono le funzioni del generatore di numeri casuali in C?

Esistono diversi approcci per generare il numero casuale utilizzando uno qualsiasi dei linguaggi di programmazione. Si può definire la funzione a modo proprio per stimare o generare il numero casuale mentre ci sono funzioni integrate in uno qualsiasi dei linguaggi di programmazione che genera il numero casuale. Nel linguaggio di programmazione C, abbiamo una funzione chiamata rand, che aiuta a generare il numero casuale. Questa funzione è predefinita in C e può essere implementata nel programma usando il file di intestazione stdlib.h. Lo sviluppatore deve menzionare il file di intestazione stdlib.h all'inizio del programma per sfruttare la funzione rand. Ogni volta che questa funzione viene chiamata, genera un numero totalmente casuale. In base al requisito si può generare il numero appartiene al tipo di dati intero, float o doppio. Può essere semplicemente usato nel programma usando la funzione rand ().

Sebbene si supponga che la funzione rand generi il valore casuale, si è bloccato per generare lo stesso valore ogni volta che il programma viene eseguito e potrebbe accadere a causa del valore costante del seme. Se il requisito è quello di avere il nuovo numero casuale generato ogni volta che il programma viene eseguito, dobbiamo accertarci che il seme cambi ogni volta che il programma viene eseguito. Il tempo è qualcosa che continua a cambiare e può anche essere considerato come qualcosa che può aiutare a ottenere un valore seme casuale ogni volta e per usare il tempo nel programma dobbiamo usare il file di intestazione time.h.

Numeri interi di generazione

La funzione rand () viene utilizzata per generare un numero casuale. Ogni volta che viene chiamato, dà un numero casuale. Se gli sviluppatori aggiungono qualche logica con esso, possono generare il numero casuale all'interno di un intervallo definito e se l'intervallo non è definito in modo esplicito, restituirà un valore intero totalmente casuale. La funzione rand () in C potrebbe essere utilizzata per generare il numero casuale e il numero generato sta eliminando totalmente il seme. Un seme è il valore utilizzato dalla funzione rand per generare il valore casuale. Se il valore seed continua a cambiare, il numero generato sarà nuovo ogni volta che il programma viene compilato altrimenti restituirà lo stesso valore ogni volta che è stato generato quando il programma è stato eseguito per primo. Al fine di generare il sotto è il programma per generare il numero intero casuale.

Programma

#include
#include
#include
int main()
(
int rand_num;
srand(time(0));
printf("The randomly generated number is”);
rand_num = rand();
printf("%d\n", rand_num);
)
)

Produzione:

Il numero generato casualmente è 1804289383.

In questo programma, abbiamo utilizzato il file di intestazione time.h che viene utilizzato per sfruttare l'ora del sistema nella generazione del numero casuale. Man mano che il tempo cambia ogni volta, il valore di seed cambierà ogni volta che il programma verrà eseguito, aiutandoci a generare un numero casuale ogni volta che il programma viene eseguito. Rand_num è la variabile utilizzata per memorizzare un numero generato casualmente. La funzione rand () genera un numero casuale assegnato alla variabile rand_num. Dato che non abbiamo definito esplicitamente il valore di ritorno del numero casuale, ci darà un numero intero.

Generazione di numeri in virgola mobile

L'approccio per generare il valore float casuale è simile all'approccio per generare il numero intero. L'unica differenza è che dovremo definire esplicitamente che il valore che ci aspettiamo dalla funzione rand dovrebbe essere float. Il valore float di solito consuma più spazio nella memoria rispetto al breve int. Il programma che abbiamo scritto sopra per la generazione casuale di valori interi sarà lo stesso che scriveremo qui. L'unica differenza sarà una definizione esplicita del tipo di dati. Analogamente all'ultimo programma, abbiamo usato anche qui il file di intestazione time.h per consentirci di contribuire alla generazione casuale di numeri float. Se questo file di intestazione non è incluso nel programma, fornirà lo stesso valore ogni volta che il programma. Viene eseguito. Di seguito è riportato il programma per la generazione casuale di valori float.

Programma

#include
#include
#include
int main()
(
float rand_num;
srand(time(0));
printf("The randomly generated float number is ”);
rand_num = (float) rand();
printf("%f", rand_num);
)
)

Produzione:

In questo programma, abbiamo usato (float) che viene usato per definire esplicitamente che il valore restituito dalla funzione rand dovrebbe essere float in natura. Poiché la variabile ran_num è anche definita con un tipo di dati float, sarà in grado di gestire il numero float che di solito ha sei cifre dopo il punto decimale quando viene generato nel linguaggio di programmazione C. Durante la stampa del valore float, abbiamo usato% f poiché è qualcosa di cui bisogna fare attenzione durante la stampa del valore float.

Conclusione

Per migliorare la casualità del numero, è possibile sfruttare le espressioni matematiche. Inoltre, usando la logica si può anche definire l'intervallo di numeri in base al quale si desidera che il numero venga generato casualmente. La funzione per generare gomma casuale è fornita da tutti i linguaggi di programmazione e utilizzata nell'applicazione effettiva in base al requisito. Al fine di garantire la forte casualità del numero, dobbiamo assicurarci che il seme utilizzato dalla funzione rand per generare il valore casuale sia molto casuale e nuovo ogni volta che il programma viene eseguito.

Articoli consigliati

Questa è una guida al generatore di numeri casuali in C. Qui discutiamo la funzione, la generazione di numeri interi e la generazione di numeri in virgola mobile in C. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Generatore di numeri casuali in R
  2. Che cos'è la classe template in C ++?
  3. Algoritmo casuale della foresta
  4. Strutture in Java
  5. Cos'è il generatore di numeri casuali in Python?
  6. Generatore di numeri casuali in C ++ (esempi con passaggi)
  7. Generatore di numeri casuali in Matlab
  8. Generatore di numeri casuali in C #
  9. Generatore di numeri casuali in JavaScript
  10. Generatore di numeri casuali in PHP

Categoria: