Aller au contenu principal

Organigramme

Objectifs

Comment représenter une procédure ?

  • Définir un algorithme et un organigramme
  • Exécuter l'instance d'un algorithme sous forme d'organigramme

Cours

Organigramme

Algorithmique et programmation avancée

Algorithme

  • Un algorithme est une suite finie et non ambiguë d'opérations ou d'instructions permettant de résoudre un problème ou d'obtenir un résultat.

  • Objectif : Comment résoudre un problème

    • Entrée(s) : état de départ

    • Sortie(s) : état final

Comment faire une omelette ?

  • Entrée(s)

    • Ingrédients (oeufs, …)

  • Sortie(s)

    • Omelette

Algorithme d'une omelette

  1. Casser les oeufs dans un bol

  2. Battre les oeufs jusqu'à obtenir un mélange homogène

  3. Verser le mélange dans une poêle chaude

  4. Chauffer jusqu'à ce que l'omelette soit cuite

  5. Servir l'omelette dans une assiette

Plusieurs algorithmes possibles pour résoudre un même problème

Organigramme

  • Comment décrire un algorithme pour le communiquer ?

  • Un organigramme est une représentation visuelle d'un algorithme.

Organigramme d'une omelette

Condition

https://commons.wikimedia.org/wiki/File:Pstricks_exo_organigramme_simple.png

Réparer une lampe

Réparer une lampe

Algorithmes CORFA

https://es-asur.ch/corfa

Standardisation

https://xkcd.com/1179

Exécution d'un algorithme

  • Problème : Trouver le plus grand nombre entre a et b

  • Instance : exécution d'un algorithme pour des entrées données

  • Instances possibles :

    • a = 7, b = 1

    • a = 3, b = 3

    • a = 5, b = 9

Max(a, b)

  • Instance : a = 5, b = 3 ?

    • Résultat : 5

  • Instance : a = 2, b = 4 ?

    • Résultat : 4

Max(a, b, c)

Exercice

  • Instance : n = 0 ?

    • Résultat : 0

  • Instance : n = 2 ?

    • Résultat : 3

  • Fonction ?

    • Somme(n) : 1 + 2 + … + n

Nomenclature

  • Algorithme

    • Une suite d'instructions permettant de résoudre un problème

  • Organigramme

    • Une représentation graphique d'un algorithme

  • Instance

    • Exécution d'un algorithme

  • a ← b + c

    • Calculer b + c, puis remplacer la valeur de a

  • Retourner une valeur

    • Résultat de l'instance d'un algorithme

F pour passer en plein écran ou O pour afficher la vue d'ensemble.
Versions sans animation, plein écran, imprimable.

Exercices

Exercice 1

plantuml

Exécuter les instances suivantes de l'algorithme ci-dessus et donner le résultat :

  1. a = 5, b = 3
  2. a = 2, b = 4
Solution
  1. Résultat = 3
  2. Résultat = 2

Que fait cet algorithme ? Vous pouvez le tester avec d'autres valeurs.

Solution

Il retourne le plus petit des deux nombres a et b en entrée

Exercice 2

plantuml

Exécuter les instances suivantes de l'algorithme ci-dessus et donner le résultat :

  1. n = 1
  2. n = 3
Solution
  1. Résultat = 1
  2. Résultat = 6

Que fait cet algorithme ? Vous pouvez le tester avec d'autres valeurs.

Solution

Il retourne le produit des entiers de 1 à n (1 × 2 × 3 × ... × n).

Il faut regarder la variable qui est retournée et observer comment elle est modifiée dans l'algorithme.

Exercice 3

plantuml

Exécuter les instances suivantes de l'algorithme ci-dessus et donner le résultat :

  1. a = 2, b = 5
  2. a = 9, b = 3
  3. a = 5, b = 2
Solution
  1. Résultat = Faux
  2. Résultat = Vrai
  3. Résultat = Faux

Que fait cet algorithme ? Vous pouvez le tester avec d'autres valeurs.

Solution

Indique si a est divisible par b

Exercice 4

plantuml

Exécuter les instances suivantes de l'algorithme ci-dessus et donner le résultat :

  1. a = 9, b = 12
  2. a = 12, b = 9
  3. a = 14, b = 4
Solution
  1. Résultat = 3
  2. Résultat = 3
  3. Résultat = 2

Que fait cet algorithme ? Vous pouvez le tester avec d'autres valeurs.

Solution

L'algorithme d'Euclide donne le plus grand diviseur commun entre deux nombres : https://fr.wikipedia.org/wiki/Algorithme_d'Euclide#Explications_g%C3%A9om%C3%A9triques

Exercice 5

plantuml

Exécuter les instances suivantes de l'algorithme ci-dessus et donner le résultat :

  1. a = 2, b = 5
  2. a = 9, b = 3
  3. a = 5, b = 2
Solution
  1. Résultat = Faux
  2. Résultat = Vrai
  3. Résultat = Faux

Que fait cet algorithme ? Vous pouvez le tester avec d'autres valeurs.

Solution

Indique si a est divisible par b

Références