Vous êtes sur la page 1sur 28

Algorithmique

Méthodologie de résolution et éléments de base

Anicet Ebou
ediman.ebou@inphb.ci

INP-HB - Cours d’informatique - Semestre 1 - Prépa BCPST 1


Notre Agenda

Comment

01 02
Qu’est ce qu’un
résoudre un
algorithme?
problème?

03
Présentation
algorithmique

Cours d’informatique - Semestre 1 - Prépa BCPST 2


01
Qu’est ce qu’un
algorithme?

Cours d’informatique - Semestre 1 - Prépa BCPST 3


Qu’est-ce qu'un algorithme?

Un algorithme est une suite de


traitements qui permet, à partir d’un
ensemble d’informations initiales,
de déduire des résultats ou
d’obtenir d’autres informations.

Cours d’informatique - Semestre 1 - Prépa BCPST 4


Qu’est-ce qu'un algorithme?

Un algorithme est conçu par la


succession d'opérations simples: la
réalisation de la tâche globale doit donc
être décomposée au maximum.

Cours d’informatique - Semestre 1 - Prépa BCPST 5


Qu’est-ce qu'un algorithme?

Le mot algorithme vient d'Al-Khwârizmî,


nom d'un mathématicien persan du IXe
siècle.

Timbre soviétique de 4 kopecks portrait fictif d'Al-Khwarîzmî, émis le 6


septembre 1989 à l'occasion de son 1200e anniversaire (789-1989).

Wikipedia, 2022

Cours d’informatique - Semestre 1 - Prépa BCPST 6


Travaux Pratiques n°1-1

Cours d’informatique - Semestre 1 - Prépa BCPST 7


02
Comment résoudre un
problème?

Cours d’informatique - Semestre 1 - Prépa BCPST 8


Méthodologie de résolution d’un problème

DRAST
Données Résultats Actions Schéma Test

Cours d’informatique - Semestre 1 - Prépa BCPST 9


Méthodologie de résolution d’un problème: Exemple

Écrire un algorithme permettant de

déterminer le périmètre et l’aire d’un

cercle dont le rayon sera fourni par

l’utilisateur.

Cours d’informatique - Semestre 1 - Prépa BCPST 10


Données Résultats Actions Schéma Test

Etape 1: Inventaire des données


Écrire un algorithme permettant de
déterminer le périmètre et l’aire 1. Données objectives: le rayon
d’un cercle dont le rayon sera 2. Données implicite: Pi
fourni par l’utilisateur.
Création des variables pour le
stockage des données

le rayon : variable : ray : réelle

la valeur de pi : constante : pi: réelle


Cours d’informatique - Semestre 1 - Prépa BCPST 11
Données Résultats Actions Schéma Test

Etape 2: Identification des résultats


Écrire un algorithme permettant de
déterminer le périmètre et l’aire 1. Résultats finaux: le périmètre et
d’un cercle dont le rayon sera l’aire.
fourni par l’utilisateur. 2. Résultats intermédiaires: aucun

Stockage des résultats

le périmètre : variable : per : réelle

l’aire : variable : aire : réelle


Cours d’informatique - Semestre 1 - Prépa BCPST 12
Données Résultats Actions Schéma Test

Etape 3: Lister les actions


Écrire un algorithme permettant de
déterminer le périmètre et l’aire 1. Demander à l’utilisateur le rayon du
cercle.
d’un cercle dont le rayon sera
2. Sauvegarder ce rayon à l’aide d’une
fourni par l’utilisateur.
variable dans la mémoire de
l’ordinateur.
3. Calculer le périmètre en utilisant le
rayon fourni
4. Calculer l’aire en utilisant le rayon
fourni et le nombre Pi
Cours d’informatique - Semestre 1 - Prépa BCPST 13
Comment écrire les actions en pseudo-code?

Afficher un texte: Ecrire(‘texte’)

Afficher un texte accompagné d’une variable: Ecrire(‘texte’, variable)

Stocker une donnée fourni par un utilisateur dans une variable: Lire(variable)

Cours d’informatique - Semestre 1 - Prépa BCPST 14


Comment effectuer des opérations en pseudo-code?
Multiplication: * (étoile) Exemples:

Division: / (barre oblique) Multiplication: 2 * 3

Addition: + (plus) Division: 2 / 3

Soustraction: - (moins) Addition: 2 + 3

Puissance: ** (double étoiles) Soustraction: 2 - 3

Affectation: (flèche) Puissance: 2**3

Modulo: % (pourcentage) Affectation: variable 23

Cours d’informatique - Semestre 1 - Prépa BCPST Modulo: 2 % 3 15


Données Résultats Actions Schéma Test

Etape 4: Réaliser un schéma de résolution


Écrire un algorithme permettant de
déterminer le périmètre et l’aire Début

d’un cercle dont le rayon sera Ecrire(‘Entrez le rayon’)


Lire(ray)
fourni par l’utilisateur.
per ← 2*ray*pi
aire ← pi*ray*ray
Le flux d’exécution des actions
prévues est décrit à l’aide d’un Ecrire(‘Périmètre :’, per)
Ecrire(‘Aire :’ , aire)
algorigramme ou logigramme.
Fin
Cours d’informatique - Semestre 1 - Prépa BCPST 16
Données Résultats Actions Schéma Test

Début Validation des entrées

Toutes les valeurs nécessaires


Ecrire(‘Entrez le rayon’)
Lire(ray) sont-elles effectivement lues ?
per ← 2*ray*pi
aire ← pi*ray*ray

Ecrire(‘Périmètre :’, per)


Ecrire(‘Aire :’ , aire)

Fin

Cours d’informatique - Semestre 1 - Prépa BCPST 17


Données Résultats Actions Schéma Test

Début Validation des traitements

Ecrire(‘Entrez le rayon’) Toutes les opérations nécessaires


Lire(ray)
sont-elles effectivement réalisées?
per ← 2*ray*pi
aire ← pi*ray*ray - Les formules utilisées sont-elles
Ecrire(‘Périmètre :’, per) correctes ?
Ecrire(‘Aire :’ , aire)
=> Prendre des valeurs pour tester
Fin
=> Exécuter pas à pas
Cours d’informatique - Semestre 1 - Prépa BCPST 18
Données Résultats Actions Schéma Test

Début Validation des résultats ou sorties

Ecrire(‘Entrez le rayon’) Tous les résultats attendus sont-ils


Lire(ray)
effectivement obtenus et affichés?
per ← 2*ray*pi
aire ← pi*ray*ray

Ecrire(‘Périmètre :’, per)


Ecrire(‘Aire :’ , aire)

Fin

Cours d’informatique - Semestre 1 - Prépa BCPST 19


03
Représentation formelle
des algorithmes

Cours d’informatique - Semestre 1 - Prépa BCPST 20


La présentation algorithmique

L’algorithme est constitué de 3 parties:

● En-tête (Titre et description);


● Déclarations (variables, constantes et méthodes);
● Corps de l’algorithme (suite d’instructions élémentaires).

Cours d’informatique - Semestre 1 - Prépa BCPST 21


La présentation algorithmique: l'en-tête

● Titre Algorithme cercle

● Description #Ce algo permet de calculer les paramètres d’1 cercle

Précautions à prendre concernant l’en-tête:

● Le titre doit toujours s'écrire sous la forme “Algorithme <nom>”;


● Le nom de l’algorithme ne doit comporter aucun espace ni accent;
● Chaque ligne de la description doit toujours commencer par un “#”.

Cours d’informatique - Semestre 1 - Prépa BCPST 22


La présentation algorithmique: les déclarations
● Constantes Constantes

pi ← 3.14

● Variables Variables

ray, per, aire : réel

Précautions à prendre concernant l’en-tête

● Le nom des variables et constantes doit être unique pour chaque


variable ou constante, sans accent et ne pas être le même qu’une
fonction ou variable existante.

Cours d’informatique - Semestre 1 - Prépa BCPST 23


La présentation algorithmique: le corps
Début
Affichage /
Ecrire(“Calcul du périmètre et de l’aire d’un cercle”)
interactions
Ecrire(“Entrez le rayon”)
Lecture Lire(ray)

per ← 2*ray*pi
Opérations
aire ← pi*ray*ray
arithmétiques
Ecrire(“Périmètre : “, per)
Affichage / Ecrire(“Aire : “ , aire)
interactions Fin

Cours d’informatique - Semestre 1 - Prépa BCPST 24


La présentation algorithmique: le corps
Algorithme cercle Début

#Ce algo permet de calculer les Ecrire(“Calcul du périmètre et de


paramètres d’1 cercle l’aire d’un cercle”)

Constantes Ecrire(“Entrez le rayon”)

pi ← 3.14 Lire(ray)

Variables per ← 2*ray*pi

ray, per, aire : réel aire ← pi*ray*ray

Ecrire(“Périmètre : “, per)

Ecrire(“Aire : “ , aire)

Fin

Cours d’informatique - Semestre 1 - Prépa BCPST 25


Bonnes pratiques

● Utiliser des noms de variables intelligibles;


● Indenter proprement son code;
● Ajouter des explications (commentaires) pour les parties
"subtiles" du code;
● Séparer autant que possible les entrées, les traitements
et les sorties.

Cours d’informatique - Semestre 1 - Prépa BCPST 26


Travaux Pratiques n°1 - 2

Cours d’informatique - Semestre 1 - Prépa BCPST 27


Merci
Vous avez des préoccupations?
ediman.ebou@inphb.ci

28

Vous aimerez peut-être aussi