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, enumAlunniResiduiper 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
numAlunniGruppoVectper tenere traccia del numero di alunni in ciascun gruppo. Inizialmente, ogni gruppo avrànumAlunniGruppoalunni. - 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
whilee un arrayestrattiAlunniVectper tenere traccia degli alunni già assegnati. - Viene quindi dichiarato un array
ordineAlunniVectper tenere traccia dell’ordine in cui gli alunni sono stati assegnati ai gruppi. - Un ciclo
whileviene 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:
