0% ont trouvé ce document utile (0 vote)
11 vues11 pages

Cours d'Algorithmique et Pseudo-Code

Cours algorithme

Transféré par

So Ma
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
11 vues11 pages

Cours d'Algorithmique et Pseudo-Code

Cours algorithme

Transféré par

So Ma
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 PDF, TXT ou lisez en ligne sur Scribd

TD

COURS
ALGORITHMIQUE

[Link]

Pr Filali Reda
ESTC – DEP GI
OBJECTIFS
[Link]/elearning-center

Aborder les notions spécifiques à


l'algorithmique
Comme:

 Affectation de variables
 Instructions d'Entrées\Sorties
 Schémas Conditionnels
 Schémas Itératifs
 Utilisation de Tableaux
 Langage Pseudo Code.

1
DÉFINITION ET STRUCTURE Concepts
D’UN ALGORITHME Généraux
[Link]/elearning-center

 Algorithme : Suite d’étapes logiques et structurées élaborées dans le but


Définition de résoudre un problème donné.
 Il doit terminer après un certain nombre de séquences bien défini.
• Trouver une idée maitresse pour solutionner le problème.
Méthodologie
• S’assurer que la solution est bien compatible avec le résultat escompté.
• Etablir une liste de toutes les variables mises en jeu, pour solutionner le
problème.
• Affecter à chaque variable un nom significatif.
• Détailler les étapes de l’algorithme, et si besoin décomposer les étapes en sous
étapes.
• Ajouter des commentaires à chaque étape (facultatif).
• Exécuter l’algorithme
Algo et Prog • La maîtrise de l’algorithmique est primordiale avant de passer proprement à la
programmation sur ordinateur.
• L’algorithmique exprime les instructions résolvant un problème donné
indépendamment des particularités de syntaxe propre à chaque langage.
• Pseudo-code : langage de programmation purement conventionnel et
Ecriture par
Pseudo-Code
incompréhensible par un ordinateur. 2
• Il nous permet de nous affranchir des problèmes de syntaxes propres à chaque
langage.
DÉFINITION ET STRUCTURE
Exercice
D’UN ALGORITHME
[Link]/elearning-center
Afficher le résultat de passage des étudiants d’une classe de 20 en se basant sur la
Enonce moyenne de leurs deux notes écrites (N1) et orales (N2). Si la moyenne est
supérieure ou égale à 10 l’étudiant est déclaré admis. Dans le cas contraire, il est
déclaré non admis.
Initialisation

i 1
Solution tant que (i < = 20) Lecture
{
lire (Nom, N1, N2)
Moy  (N1 + N2) / 2 Affichage
Boucle
si (Moy > =10 ) alors {afficher (Nom, ‘Admis’)}
sinon {afficher (Nom, ‘non Admis’)}
i  i+1
Affectation }

Test
Incrémentation

3
DÉFINITION ET STRUCTURE Concepts
Exemple
D’UN ALGORITHME Généraux

[Link]/elearning-center

5 opérations • AFFECTATION DE VARIABLES : Comme l’instruction : Moy  (N1 + N2) / 2. Si


de base on attribue à une variable une valeur de départ on dit qu’on a une initialisation
• LECTURE : Comme l’instruction lire (Nom, N1, N2). Utile lorsque le
programmeur doit donner une valeur. Dans le cas étudié, l’utilisateur introduit
une valeur de type chaîne de caractères (nom) et deux valeurs de type réel.
• ECRITURE : Comme l’instruction afficher (Nom, ‘Admis’.) Utile lorsque le
programmeur doit afficher la valeur d’une variable.
• TEST ( L'INSTRUCTION si ... alors ... sinon...) Comme montré dans
l’exemple. On l’utilise lorsqu’on a une condition. Si cette dernière est vérifiée,
alors on a l’instruction 1 sinon on a l’instruction 2 (fig1). Le sinon est parfois
optionnel et non nécessaire (fig2). Généralement, on peut avoir les deux cas de
figures :
Cas 1 Cas 2
si (condition) alors {instr1}
Sinon {instr2} si (condition) alors {instr1}

Ex1 Ex2

si (x>=0) alors {y  racine(x)} si (x>=0) alors {y  racine(x)}


sinon{afficher(" Impossible")}
4
Remarque : Instr 1 et instr 2 peuvent être un bloc d’instructions.
DÉFINITION ET STRUCTURE Concepts
Exemple
D’UN ALGORITHME Généraux
[Link]/elearning-center

• Une boucle est utilisée quand on désire éviter la répétition d'une même partie
Boucle
de code. Il existe 3 types de boucles principaux.
• Si dans leur finalité elles conduisent au même résultat, elles restent cependant
différentes dans leur formulation .

tant que Boucle Tant que


Tant que la condition est vraie, on exécute le code contenu dans la boucle.
Eventuellement, si la condition du test initial n'est pas remplie, le programme ne
passe pas dans la boucle
Pseudo – Code : i1
tant que (i < = 20)
{lire (Nom, N1, N2)
tant que (expression vraie)
{ Moy  (N1 + N2) / 2
BLOC D'INSTRUCTIONS si (Moy > =10 )
} alors {Afficher (Nom, ‘Admis’)}
sinon {Afficher( Nom, ‘non Admis’)}
i  i+1}

5
DÉFINITION ET STRUCTURE Concepts
Exemple
D’UN ALGORITHME Généraux
[Link]/elearning-center

Repeter.. Boucle Répéter …Tantque


Tant que Le test se faisant après, le bloc est exécuté au moins une fois
Pseudo – Code : i1
Répéter
Répéter {lire (Nom, N1, N2)
{ Moy  (N1 + N2) / 2
BLOC D'INSTRUCTIONS si (Moy > =10 )
} alors {Afficher (Nom, ‘Admis’)}
tant que (expression vraie) sinon {Afficher (Nom, ‘non Admis’)}
i  i+1}
Tant que (i < = 20)
Boule For Boucle For
La boucle Pour est une autre structure des boucles. On l’utilise généralement
lorsque le nombre des itérations (répétitions) est connu.
Pseudo – Code : Pour (i1, i<=20, ii+1)
{
Pour(init, critere cont, modif) Lire (Nom, N1, N2)
{BLOC D'INSTRUCTIONS} Moy  (Note1 + Note2) / 2
Si (Moy > =10 )
alors {afficher (Nom, ‘Admis’)}
sinon {afficher (Nom, ‘non Admis’)} 6
}
Exercices

[Link]/elearning-center

EXERCICE 1:
1. Ecrire un algorithme qui affiche le plus grand et le plus petit de
deux éléments entiers a et b.
2. Ecrire un algorithme qui affiche le plus grand et le plus petit de
trois éléments entiers a,b et c.
EXERCICE 2:
1. Ecrire un algorithme qui permet de résoudre ax + b = 0
2. Ecrire un algorithme qui permet de résoudre ax2 + bx + c = 0.
EXERCICE 3:
Soit S = 1 + 1/2 + 1/3 + 1/4 + 1/5 + ........ + 1/999 + 1/1000
Ecrire un algorithme qui calcul S par les diverses méthodes suivantes :
1. En utilisant la structure tant que et en additionnant les termes de
gauche à droite.
2. en utilisant la structure répéter.. Tant que et en additionnant les
termes de droite à gauche.
3. En utilisant la structure pour… et en additionnant séparément les
termes positifs et négatifs chacun de gauche à droite.
4. Modifier l’algorithme pour calculer : 7
S=1 - 1/2 + 1/3 - 1/4 + 1/5 + ........ + 1/999 - 1/1000
Exercices

[Link]/elearning-center

EXERCICE 4:
Début
{P1
Terme 1
I 1
Lire (x)
Tant que (I <= 20)
{AI
Terme  Terme * x/A
P  P + Terme
I  I + 1}
afficher (I,P)
} fin
Quel est le but de cet algorithme ?
EXERCICE 5:
Ecrire un algorithme qui permet de trouver le nombre de termes de la
série nécessaire pour le dépassement d’une valeur arbitraire Val tel
que : 1 + 1/2 + 1/3+ ........+ 1/N >= Val

8
Exercices

[Link]/elearning-center

EXERCICE 6:
• Ecrire un algorithme qui lit une série de nombres dont la fin sera
indiquée par un nombre négatif puis donner le plus grand et le plus
petit de ces nombres.
• Ecrire un algorithme qui lit une série de nombres dont la fin sera
indiquée par l’introduction de deux nombres consécutifs égaux. Le
programme doit aussi afficher le plus grand et le plus petit de ces
nombres.

EXERCICE 7
Soit N un entier naturel.
• Ecrire un algorithme qui affiche le nombre de ses diviseurs.
• En déduire s’il est premier
• Ecrire un algorithme qui affiche l’ensemble de ses diviseurs

9
Exercices

[Link]/elearning-center
EXERCICE 8
Méthode 1 : (algorithme classique basé sur la recherche des diviseurs)
Soit a et b deux entiers naturels.
Écrire un algorithme qui donne PGDC (a,b)
Méthode 2 : (algorithme d’Euclide)
L’algorithme d’Euclide, qui détermine le PGCD de 2 nombres naturels a et b est basé
sur le principe suivant :
si un des nombres est nul, l'autre est le PGCD. sinon il faut soustraire le plus petit
du plus grand et laisser le plus petit inchangé. Puis, on recommence ainsi avec la
nouvelle paire jusqu'à ce qu’un des deux nombres soit nul. Dans ce cas, l'autre
nombre est le PGCD.
Méthode 3 : Il est possible de déterminer le PGCD de 2 nombres naturels a et b
en utilisant les propriétés suivantes. On prendra au départ PGCD = 1
si a et b sont pairs: PGCD = PGCD*2
a=a/2
b=b/2
si a est pair et b impair: a=a/2
si a est impair et b pair: b=b/2
si a et b sont impairs: a=a-b si a>=b
b=b-a si b>a
si a=0: PGCD = PGCD * b 10
si b=0: PGCD = PGCD *

Vous aimerez peut-être aussi