PROFDINFO.COM

Votre enseignant d'informatique en ligne

Algorithmes de base

Ce document prétend faire une liste non exhaustive des algorithmes de base que tout bon programmeur débutant (ou pas!) devrait connaître. À l'instar des matériaux pour le bâtisseur, les algorithmes de base permettront au concepteur de programme de resoudre des problèmes simples et de construire des algorithmes plus élaborés pour les problèmes plus complexes.

1. L'échange du contenu de deux variables (swap)

Lire X
Lire Y
Z <- X
X <- Y
Y <- Z
Écrire X
Écrire Y

2. Identifier la valeur la plus grande de deux variables

Lire X
Lire Y 
Si X > Y 
   PlusGrand <- X
Sinon
   PlusGrand <- Y
Écrire PlusGrand

3. Identifier la valeur la plus grande de trois variables

a) Forme imbriquée

Lire X 
Lire Y
Lire Z  
Si X > Y 
   Si X > Z 
      PlusGrand <- X
   Sinon    
      PlusGrand <- Z 
Sinon 
   Si Y > Z 
      PlusGrand <- Y
   Sinon
      PlusGrand <- Z
Écrire PlusGrand

b) Forme empilée

Lire X 
Lire Y
Lire Z 
PlusGrand <- X 
Si Y > PlusGrand
   PlusGrand <- Y
Si Z > PlusGrand
   PlusGrand <- Z
Écrire PlusGrand      

3. La boucle de validation

Lire X  
Tant Que X est invalide 
  Écrire "Erreur, veuillez recommencer!"
  Lire X

4. Compter

Compteur <- MIN
Tant Que Compteur <= MAX
  Écrire Compteur
  Compteur <- Compteur + 1

5. Calculer la somme d'une série

Compteur <- MIN
Somme <- 0 
Tant Que Compteur <= MAX
  Somme <- Somme + Compteur
  Compteur <- Compteur + 1      

6. Effectuer la somme des éléments d'un tableau

Somme <- 0 
Compteur <- 0
Tant Que Compteur < TAILLE_DU_TABLEAU
  Somme <- Somme + Tableau[Compteur]
  Compteur <- Compteur + 1      

7. Rechercher une valeur dans un tableau

Trouvé <- Faux
Compteur <- 0
Tant Que Compteur < TAILLE_DU_TABLEAU Et Trouvé = Faux
  Si Tableau[Compteur] = ValeurRecherchée 
     Trouvé <- Vrai
  Compteur <- Compteur + 1
Position <- Compteur - 1      

8. Trier un tableau

a) Algorithme de tri par sélection
Pour i allant de 0 à TAILLE_DU_TABLEAU-2
   IndicePlusPetit <- i
   Pour j allant de i+1 à TAILLE_DU_TABLEAU-1
      Si Tableau[j] < Tableau[IndicePlusPetit]
         IndicePlusPetit <- j
   Si IndicePlusPetit <> i 
      Échanger Tableau[i] et Tableau[IndicePlusPetit]

b) Algorithme de tri à bulles

Répéter
   Échange <- Faux
   Pour j allant de 0 à n - 2
      Si Tableau[j] > Tableau[j + 1]
         Échanger Tableau[j] et Tableau[j + 1]
         Échange <- Vrai
Tant Que Échange = Vrai