0% ont trouvé ce document utile (0 vote)
4 vues31 pages

Introduction à l'algorithmique et pseudo-code

Transféré par

nfassousinayoko4
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues31 pages

Introduction à l'algorithmique et pseudo-code

Transféré par

nfassousinayoko4
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPT, PDF, TXT ou lisez en ligne sur Scribd

Introduction à l’algorithme

Dr Daouda Traoré

email: daoudatr2008@[Link]
Algorithme : Définition

 Algorithme : procédure de calcul bien définie qui prend


en entrée une valeur, ou un ensemble de valeurs, et qui
donne en sortie une valeur, ou un ensemble de valeurs.
Un algorithme est donc une séquence d’étapes de
calcul qui transforment l’entrée en sortie.
 L’algorithmique est le permis de conduire de
l’informatique
Algorithmique : premier pas
 Calcul de la somme de deux entiers

variable a, b : entier
variable s : entier

Debut
afficher(" Donner le premier entier ")
saisir(a)
afficher(" Donner le deuxième entier ")
saisir(b)
s<- a+b
afficher(" La somme de a et b est : ")
afficher(s)
Fin
Algorithmique : les étapes
 Initialisation des variables
 Permet de donner des valeurs initiales aux variables
qui seront utilisées dans la résolution du problème
posé
 Traitement
 Résolution du problème étape par étape.
 Affichage du résultat ou retour du
résultat
 Affichage du résultat du problème à l’écran, dans un
fichier, ou sauvegarde du résultat du programme
dans une variable
Algorithmique : pseudo code
 Dans ce cours les algorithmes seront
exprimées sous la forme de programmes écrits
en pseudo-code.
 Un pseudo code n’est pas un « vrai code », il
permet d’employer l’écriture qui semble être
la plus claire et la plus concise pour spécifier
un algorithme.
Pseudo code : déclaration de
variables
 Pour déclarer une variable dans notre pseudo algorithme, il
faut d’abord préciser le mot variable, suivi du nom de la
variable, suivi de deux points et le type de la variable.

La syntaxe d’une déclaration de variable est la suivante :
variable Nom_variable : type

Exemple : variable nom : chaine de caractères

L’opérateur d’affectation d’une variable : <-

Exemple : a<-5

Il est possible de déclarer plusieurs variables sur une
même ligne

La syntaxe de déclaration plusieurs variables sur une
même ligne est la suivante :
variable variable1, variable2, …: type

Déclaration d’une constante
constante Nom_constante: type
Pseudo code : les entrées-sorties

 La fonction afficher(<liste des noms de variables, de


constantes ou d’expression>) permet d’afficher à
l’écran les informations fournies à son entrée.

 La fonction saisir(<liste des noms de variables>)


permet de stocker dans les variables en entrées les
informations fournies par l’utilisateurs.
Pseudo code : exemple
 Calcul de la surface d’un cercle

variable r : réel
variable S : réel

Debut
constante PI : réel
PI<-3.14
afficher(" Donner le rayon du cercle :")
saisir(r)
S<- r*r*PI
afficher(" La surface est :")
afficher(S)
Fin
Pseudo-code : Traitement
conditionnel
 Un traitement conditionnel permet d’effectuer des choix (alternative) ou de faire un choix
parmi plusieurs.
 Instruction : « si-alors-sinon »
si (expression conditionnelle égale à vraie)
alors faire séquence1 d’ instructions
sinon séquence2 d’ instructions
finsi

Expression
conditionnell
e
vraie fausse
Sequence1 Sequence2
d’instructio d’instructio
ns ns

Suite du
Pseudo code : maximum de deux
entieres
 Calcul du maximum de deux entiers

variable a, b : entier
variable max : entier

Debut
afficher(" Donner deux entiers")
saisir(a)
saisir(b)
si (a > b)
alors max <- a
sinon max <- b
finsi
afficher(max)
Fin
Les différentes formes du si
 si avec sinon
si E
si E vrai faux
alors A1 A1, B1,

sinon B1
finsi
 si sans sinon

si E
alors A1 si E
vra
i
A1 faux
Les différentes formes du si

 si emboités si
E
si E1 1
alors si E2 vrai
alors A1; A2, ...; An;
sinon B1; B2, ...; Bn; faux
E
2
finsi
sinon C1; C2, ...; Cn; vrai faux

finsi A1,A2;..An B1,B2;..Bn C1,C2;..Cn


; ; ;
Exemple de si emboité
 si emboités
variable moyenne : réel
afficher("donner votre moyenne ")
saisir(moyenne)

si moyenne >=12
si moyenne < 14
alors afficher("assez bien")
finsi
finsi
Pseudo-code : Traitement
conditionnel
 Un traitement conditionnel permet d’effectuer des choix
(alternative) ou de faire un choix parmi plusieurs.
 Instruction : « selon »
selon <identificateur>
(liste de ) valeur (s) : séquence1 d’instructions
(liste de ) valeur (s) : séquence1 d’instructions

[autres : instructions par défaut]
Exemple de selon
 selon

variable codeCouleur : caractère


afficher("Donner un code de couleur")
saisir(codeCouleur)

selon codeCouleur
"0" : afficher("vert")
"1" : afficher("jaune")
"2" : afficher("rouge")
autres : afficher("noir")
Traitement répétitif (boucle)
 Les boucles permettant d’exécuter plusieurs fois la
même série d’instructions jusqu’à ce qu’une condition
ne soit plus réalisée.
 Les variantes se différencient par la manière de
caractériser le nombre de boucles effectivement
réalisées.

pour : on exprime le décompte exact de boucles

Tant que : on exprime la condition de continuation

Répéter … Tant que : on exprime la condition d’arrêt
La boucle pour
 La boucle pour permet d’exécuter plusieurs fois la même
série d’instructions. Dans sa syntaxe, il suffit de préciser :
 Le nom de la variable qui sert de compteur (et éventuellement sa valeur de
départ),
 La condition sur la variable pour laquelle la boucle s’arrête (basiquement
une condition qui teste si la valeur dépasse une limite)
 Une instruction qui incrémente (ou décrémente) le compteur.
 Elle se présente sous la forme suivante :
pour <Cpt><-CptInit à CptFin [par <pas>] faire
séquence d’ instructions;
finpour
La boucle pour
 Exemple : exécuter l’instruction A, puis exécuter N fois
l’instruction B; puis après l’instruction C

variable i : entier;
A
A;
pour i=1 à N faire
B;
finpour Répéter N fois B
C;

C
La boucle pour : schéma détaillé de
l’exemple

variable i : entier
A; A
pour i=1 à 10 par 1
faire
B; i=
finpour 1
C;
i!
=11

Répéter 10 fois
B

i=i+
1 C
La boucle pour : exemple
{Saisie de n nombres et calcul de la moyenne }

variable n : entier
variable i : entier
variable noteCourant, somme : réel
Début
somme<- 0 {initialisation du calcul} -> commentaire
afficher("Donnez le nombre de notes que vous voulez saisir:");
saisir(n);
pour i=1 à n faire
afficher("Note",i )
afficher(" : ")
saisir(noteCourant)
somme = somme+noteCourant;
finpour
afficher("Moyenne : ",(somme)/n);
Fin
La boucle tant que
 La boucle tant que permet d’exécuter plusieurs fois la même série
d’instructions. Elle se présente sous la forme suivante :
tant que (expression est vraie ) faire
séquence d’ instructions;
fintanque
 Exemple : exécuter l’instruction A, puis tant que E est vraie faire B
et si E est fausse faire C;
A

A; vrai
Tant que E faire E
B;
fintanque B faux
C;
C
La boucle tant que
Tant que (Expression) faire
sequence d’instructions;
fintanque

 Expression constitue la condition de poursuite de la boucle. La


présence des parenthèses permet de délimiter cette condition.
 Expression est évaluée avant le premier tour de boucle. Il est
donc nécessaire que sa valeur soit définie à ce moment.
 On doit assurer la convergence (arrêt de la boucle) : la condition
doit à un moment donné s’évaluer à faux.
 Condition nécessaire : la condition doit faire intervenir une variable qui
sera modifiée dans le corps de boucle
 Dans le cas d’une conjonction de conditions (tant que ( E1 Et E2)…)

L’arrêt est provoquée quand l’une des deux conditions s’évalue à
faux

La condition d’arrêt est alors : !E1 Ou !E2
La boucle tant que : exemple

{ Moyenne d’une série de notes saisies au clavier } -> commentaire

variable note, somme : réel


somme <- 0;
variable nbNote : entier
Debut
nbNote <- 0;
afficher(" Donnez une note ou -1 pour terminer : ");
saisir(note);
tant que (note ≠-1) faire
somme <- somme + note;
nbNote <- nbNote+1;
afficher (" Donnez une note ou -1 pour terminer : ");
saisir(note)
fintanque
afficher(" Le nombre de notes saisies est :", nbNote);
afficher(" La moyenne est des notes saisies est : ", (somme)/nbNote);
Fin
Equivalence d’un tant que et d’un
pour

 Le pour est un cas particulier du tant que


pour i=binf à bsup faire P i<-binf
finpour tant que(i <= bsup) faire
P
i <- i+1
fintanque
 Plus généralement :
pour Cpt<-CptInit à CptMax par k faire P Cpt<-CptInit;
finpour tant que Cpt <= CptMaxfaire
faire
P
Cpt = Cpt+k
fintanque
La boucle répéter…tant que
 L’a boucle répéter…tant que est un autre moyen
d’exécuter plusieurs fois la même série d’instructions.
Elle est toujours parcourue au moins une fois. La
condition d’arrêt n’est examinée qu’à la fin de chaque
répétition. Elle se présente sous la forme suivante :
répéter
séquence d’ instructions;
tant que (expression est vraie );
La boucle répéter…tant que :
exemple

variable n : entier
Début
répéter
afficher("Donnez un entier strictement supérieur a zéro :")
saisir(n)
afficher("Vous avez fourni :" ,n)
tant que (n <=0) ;

afficher("La valeur positive strictement supérieure à zéro est :");


afficher(n);
Fin
La boucle tant que : exemple

{Saisie avec filtre : saisie d’une note entre 0 et 20}

variable note : réel


Début
afficher(" Donnez une note : ")
saisir(note)
tant note < 0 Ou note > 20 faire
afficher("la note saisie est incorrecte, veuillez ressaisir : ")
saisir("note)
fintanque
Fin
Algorithme du plus grand commun
diviseur

{PGCD (plus grand commun diviseur}


Algorithme PGCD
variable a, b : entier
variable x, y : entier
Début
a=46
b=108
x<-a, y<-b;
si (a < 0) alors x=-a;
si (b < 0) alors y=-b;
tant que (x≠y) faire
si(x < y)
alors y<- y-x;
sinon x <- x-y;
finsi
fintanque
afficher("Le pgcd de ", a, b);
afficher("est :", x)
Fin
La boucle pour : exemple

 Exemple :
pour i=1 à 11 par 2 faire A finpour { « A » exécuté 6 fois}
pour i=0 à 11 par 2 faire A finpour {« A » exécuté 6
fois}
pour i=1 à 12 par 2 faire A finpour { « A » exécuté 6
fois}
pour i=1 à 10 par 2 faire A finpour { « A » exécuté 5
fois}
La boucle pour : exemple
{ Incrément de n en n : affichage des multiples de n inférieurs à 100 }

variable n : entier
variable i : entier
variable max : entier
max <-99
afficher("Donnez un nombre inferieur à 100 :")
saisir(n);
pour i<-n à max par n faire
afficher( i);
afficher( " ");
finpour
Algorithme du calcul de puissance
{ calcul de x a la puissance n }

variable x , n, p, resultat : entier


resultat <- 1
afficher("Donnez la valeur de x :");
saisir(x);
afficher("Donnez la valeur de n :");
saisir(n);
pour p=1 à n faire
resultat <- resultat*x;
finpour
afficher("Resultat : ",resultat);

Vous aimerez peut-être aussi