Algorithme -10-

File séquentielle: Suppression
Suppression d’un élément à une position donnée
Schéma Programme SuppressionPosition
    Interface
        Objectif: Supprimer une élément à une position donnée
        Variable file1: File   -- La file résultat
        Variable file : File   -- La file pilote
        Résultat: file est créée si la suppression est possible
        Remarque: file n'est pas modifiée
    Fin-Interface 

   Prédicat SupprimePosition (file: File, position: Nombre, file1: File) 
        Déclaration
           Variable valeur,index : Nombre
        Instruction
            SupprimePosition = Faux
            Premier (file)
            Premier (file1)
            index = 1
            TantQue NON Dernier(file) ET (index < position)
            Faire
               index = index + 1
               Prendre(file,valeur)
               Ranger (file1,valeur)
               Avancer (file,valeur)
            Fin-Faire
            
            Si Egal(index,position) ET Non Dernier(file)
            Alors
               Avancer (file)   -- Permet de supprimer la valeur courante
               TantQue Non Dernier (file)
               Faire
                  Prendre (file,valeur)
                  Ranger (file1,valeur)
                  Avancer (file)
               Fin-Faire
               SupprimePosition = Vrai
            Fin-Si
        Fin-Instruction
    Fin-Prédicat
Fin_Schéma
 
Supression d’un élément d’une valeur donnée
Schéma Programme Suppression
    Interface
        Objectif: Supprimer un élément dont on connait la valeur
        Variable file1: File   -- La file résultat
        Variable file : File   -- La file pilote
        Résultat: file1 est créée si la suppression est possible
        Remarque: file n'est pas modifiée
    Fin-Interface 

   Prédicat Suppression (file: File, valeur: Nombre, file1: File) 
       Déclaration
           Variable val, valeur : Nombre
           Variable trouvé : Booléen 
        Instruction
            trouvé = Faux
            Premier (file1)
            Premier (file)  
            TantQue Non Dernier(file) ET NON trouvé
            Faire
               Prendre (file,valeur)
               Si Egal (val,valeur)
               Alors 
                  trouvé = Vrai
               Sinon
                  Ranger (file1,val)
               Fin-Si
               Avancer (file,val)
            Fin-Faire
            Si trouvé
            Alors
               TantQue NON Dernier(file)
               Faire
                  Prendre (file, val)
                  Ranger (file1,Val)
                  Avancer (file,Val)
               Fin-Faire
               Suppression = trouvé
            Fin-Si
        Fin-Instruction
    Fin-Prédicat
Fin_Schéma
Programme Swift