10. Numeri casuali

Esercizio 1

Prerequisiti: printf(), if/else, while, random(), operatore modulo

Scrivere un programma che effettua le seguenti operazioni:

Soluzione

────══════♦☆♦══════────

Esercizio 2

Prerequisiti: printf(), if/else, while, random(), array, operatore modulo

Scrivere un programma che effettua le seguenti operazioni:

Soluzione

────══════♦☆♦══════────

Esercizio 3

Prerequisiti: printf(), scanf(), if/else, while, random(), operatore modulo

Scrivere un programma che effettua le seguenti operazioni:

────══════♦☆♦══════────

Esercizio 4

Prerequisiti: printf(), if/else, while, random(), operatore modulo

Scrivere un programma che effettua le seguenti operazioni:

────══════♦☆♦══════────

Esercizio 5

Prerequisiti: printf(), scanf(), if/else, while, random(), operatore modulo

Scrivere un programma che effettua le seguenti operazioni:

Soluzione

────══════♦☆♦══════────

Esercizio 6

Prerequisiti: printf(), if/else, while, random(), operatore modulo

Scrivere un programma che effettua le seguenti operazioni:

────══════♦☆♦══════────

Esercizio 7

Prerequisiti: printf(), if/else, while, random(), array, operatore modulo

Scrivere un programma che effettua le seguenti operazioni:

Nota:

Questo procedimento simula il "paradosso del compleanno", che consiste nel calcolare la probabilità che almeno due persone appartenenti ad un gruppo (ad esempio una classe) festeggino il compleanno nello stesso giorno.

Suggerimento:

Definire un array di 365 elementi, inizialmente posto a zero, per portare il conteggio di quante volte è generato ciascun numero. Il caso favorevole si presenta quando almeno uno dei valori, al termine del procedimento, è maggiore di 1.


Soluzione

────══════♦☆♦══════────

Esercizio 8

Prerequisiti: printf(), if/else, while, random(), array, operatore modulo, funzioni

Scrivere un programma che effettua le seguenti operazioni:

Soluzione

────══════♦☆♦══════────

Esercizio 9

Prerequisiti: printf(), if/else, while, random(), array, operatore modulo, funzioni

Scrivere un programma che effettua le seguenti operazioni:

Suggerimento:

Utilizzare la funzione estrazione già discussa nell'esercizio 8.

Soluzione

────══════♦☆♦══════────

Esercizio 10

Prerequisiti: printf(), if/else, while, random(), array, operatore modulo, funzioni

Scrivere un programma che effettua le seguenti operazioni:

Suggerimento:

Utilizzare la funzione estrazione già discussa nell'esercizio 8.

────══════♦☆♦══════────

Esercizio 11

Prerequisiti: printf(), scanf(), if/else, while, random(), array, operatore modulo, funzioni

Scrivere un programma che effettua le seguenti operazioni:

────══════♦☆♦══════────

Esercizio 12

Prerequisiti: printf(), if/else, while, random(), operatore modulo, float

Scrivere un programma che effettua le seguenti operazioni:

Soluzione

────══════♦☆♦══════────

Esercizio 13

Prerequisiti: printf(), if/else, while, random(), operatore modulo, float

Scrivere un programma che effettua le seguenti operazioni:

────══════♦☆♦══════────

Esercizio 14

Prerequisiti: printf(), if/else, while, random(), operatore modulo, float, funzioni

Scrivere un programma che effettua le seguenti operazioni:

Note:

I quadranti sono numerati a partire da quello in alto a destra in senso antiorario pertanto in base ai segni di ascissa e ordinata risulta: (+; +) quadrante 1; (-; +) quadrante 2; (-; -) quadrante 3; (+; -) quadrante 4.

Suggerimento:

Per generare in modo pseudocasuale un numero con parte decimale nell'intervallo [-1; 1] si suggerisce di generare prima un numero intero nell'intervallo [-1; 1[ e di generare successivamente la parte decimale compresa in [0; 1] che va sommata alla parte intera.

Soluzione

────══════♦☆♦══════────

Esercizio 15

Prerequisiti: printf(), if/else, while, random(), operatore modulo, float, funzioni

Scrivere un programma che effettua le seguenti operazioni:

Suggerimento:

Per generare un numero con parte decimale in un intervallo è possibile avvalersi della funzione frand() discussa nell'esercizio 14.


────══════♦☆♦══════────

Esercizio 16

Prerequisiti: printf(), scanf(), if/else, while, random(), operatore modulo

Scrivere un programma che effettua le seguenti operazioni:

Soluzione

────══════♦☆♦══════────

Esercizio 17

Prerequisiti: printf(), scanf(), if/else, while, random(), operatore modulo

Scrivere un programma che effettua le seguenti operazioni: