Obiettivo: Realizzare un programma per creare i gruppi di lavoro in modo casuale utilizzando il linguaggio di programmazione C++. Il programma prevede di utilizzare una codifica intera per associare ad ogni persona un numero (ad esempio sfruttando l’ordine alfabetico dei cognomi di ogni partecipante).
Il codice:
Questo programma scritto in C++ è progettato per suddividere un certo numero di alunni in gruppi di dimensioni specifiche e quindi assegnare casualmente ciascun alunno a un gruppo in modo da garantire che ogni gruppo abbia il numero desiderato di alunni.
Ecco una descrizione dettagliata del funzionamento del codice:
- Vengono dichiarate le variabili
numAlunni
,numGruppi
,numAlunniGruppo
, enumAlunniResidui
per memorizzare il numero totale di alunni, il numero desiderato di gruppi, il numero di alunni per gruppo e il numero di alunni rimanenti non assegnati a un gruppo. - L’utente viene invitato a inserire il numero di alunni della classe e il numero di gruppi desiderati. Ci sono alcune condizioni di controllo che verificano che il numero di gruppi non sia maggiore del numero di alunni e che entrambi i numeri siano positivi. Se queste condizioni non sono soddisfatte, il programma mostra un messaggio di errore e termina.
- Viene calcolato il numero di alunni per gruppo (
numAlunniGruppo
) dividendo il numero totale di alunni per il numero di gruppi. - Viene calcolato il numero di alunni residui (
numAlunniResidui
) che non possono essere distribuiti uniformemente tra i gruppi. Questi alunni residui verranno assegnati casualmente ai gruppi successivamente. - Viene dichiarato un array
numAlunniGruppoVect
per tenere traccia del numero di alunni in ciascun gruppo. Inizialmente, ogni gruppo avrànumAlunniGruppo
alunni. - I alunni residui vengono assegnati casualmente ai gruppi in modo da assicurare che tutti i gruppi abbiano il numero desiderato di alunni. Per fare ciò, viene utilizzato un ciclo
while
e un arrayestrattiAlunniVect
per tenere traccia degli alunni già assegnati. - Viene quindi dichiarato un array
ordineAlunniVect
per tenere traccia dell’ordine in cui gli alunni sono stati assegnati ai gruppi. - Un ciclo
while
viene utilizzato per assegnare casualmente gli alunni ai gruppi finché non sono stati assegnati tutti gli alunni. - Infine, viene stampata la composizione dei gruppi con il numero degli alunni in ciascun gruppo.
In sintesi, questo programma accetta il numero di alunni e il numero di gruppi desiderati, assegna casualmente gli alunni ai gruppi, assicurandosi che ogni gruppo abbia il numero corretto di alunni, e quindi visualizza la composizione dei gruppi.
Codice Eseguibile: