$FIFO = New-Object System.Collections.Queue
# Boucle principale pour saisir les mots
for ($j = 0; $j -lt 4; $j++) {
while ($true)
# Vérifier et afficher la taille et le contenu de la
if ($FIFO.Count -gt 0) {
Write-Host "Taille de la FIFO : $($FIFO.Count)"
Write-Host "Contenu de la FIFO : $($FIFO -join ', ')"
} else {
Write-Host "La FIFO est vide."
}
# Demander à l'utilisateur de saisir un mot
$mot = Read-Host "Entrez un mot ('fin' pour terminer la saisie)"
# Vérifier si l'utilisateur souhaite terminer la saisie
if ($mot -eq 'fin') {
break
}
# Ajouter le mot à la pile FIFO
$FIFO.Enqueue($mot)
# Dépiler un nombre aléatoire de fois (entre 1 et 3)
$nbDepiler = Get-Random -Minimum 1 -Maximum 4
Write-Host "Dépilage de la FIFO $nbDepiler fois..."
for ($i = 0; $i -lt $nbDepiler; $i++) {
# Vérifier s'il y a des éléments dans la FIFO avant de dépiler
if ($FIFO.Count -gt 0) {
Write-Host "Contenu de la FIFO : $($FIFO -join ', ')"
} else {
Write-Host "La FIFO est
# Demander à l'utilisateur de saisir un mot
$mot = Read-Host "Entrez un mot ('fin' pour terminer la saisie)"
# Vérifier si l'utilisateur souhaite terminer la saisie
if ($mot -eq 'fin') {
break 2
}
# Ajouter le mot à la pile FIFO
$FIFO.Enqueue($mot)
}
}
# Dépiler un nombre aléatoire de fois (entre 1 et 3)
$nbDepiler = Get-Random -Minimum 1 -Maximum 4
Write-Host "Dépilage de la FIFO $nbDepiler fois..."
for ($i = 0; $i -lt $nbDepiler; $i++) {
# Vérifier s'il y a des éléments dans la FIFO avant de dépiler
if ($FIFO.Count -gt 0) {
$motDepile = $FIFO.Dequeue()
Write-Host "Élément dépilé : $motDepile"
} else {
Write-Host "La FIFO est vide, aucun élément à dépiler."
break
}
}
Write-Host "Fin du programme."