Algorithmique et Structure des Données
Initiation à l’algorithmique
Mr Diarra Mahamadou
Plan
1 Objectifs Exemples introductifs
2 Généralité Définition
Définition Notion de variable
3 Langage Algorithmique L’instruction d’affectation
Objectifs
Généralité
Langage Algorithmique
Objectifs
Apprendre les concepts de base de l’algorithmique et de la
programmation
Mr Diarra Mahamadou Algorithmique et Structure des Données 3 / 93
Objectifs
Généralité
Langage Algorithmique
Objectifs
Apprendre les concepts de base de l’algorithmique et de la
programmation
Etre capable de mettre en oeuvre ces concepts pour analyser
des problèmes simples et écrire les programmes correspondants
Mr Diarra Mahamadou Algorithmique et Structure des Données 4 / 93
Objectifs
Définition
Généralité
Langage Algorithmique
Informatique ?
Mr Diarra Mahamadou Algorithmique et Structure des Données 5 / 93
Objectifs
Définition
Généralité
Langage Algorithmique
Informatique ?
Techniques du traitement automatique de l’information au
moyen des ordinateurs
Mr Diarra Mahamadou Algorithmique et Structure des Données 6 / 93
Objectifs
Définition
Généralité
Langage Algorithmique
Informatique ?
Techniques du traitement automatique de l’information au
moyen des ordinateurs
Eléments d’un système informatique
Mr Diarra Mahamadou Algorithmique et Structure des Données 7 / 93
Objectifs
Définition
Généralité
Langage Algorithmique
Matériel: Principaux éléments d’un PC
Mr Diarra Mahamadou Algorithmique et Structure des Données 8 / 93
Objectifs
Définition
Généralité
Langage Algorithmique
Matériel: Principaux éléments d’un PC
Unité centrale (le boı̂tier)
Mr Diarra Mahamadou Algorithmique et Structure des Données 9 / 93
Objectifs
Définition
Généralité
Langage Algorithmique
Matériel: Principaux éléments d’un PC
Unité centrale (le boı̂tier)
Processeur ou CPU (Central Processing Unit)
Mémoire centrale
Disque dur, lecteur disquettes, lecteur CD-ROM
Cartes spécialisées (cartes vidéo, réseau, ...)
Interfaces d’entrée-sortie (Ports série/parallèle, . . . )
Mr Diarra Mahamadou Algorithmique et Structure des Données 10 / 93
Objectifs
Définition
Généralité
Langage Algorithmique
Matériel: Principaux éléments d’un PC
Unité centrale (le boı̂tier)
Processeur ou CPU (Central Processing Unit)
Mémoire centrale
Disque dur, lecteur disquettes, lecteur CD-ROM
Cartes spécialisées (cartes vidéo, réseau, ...)
Interfaces d’entrée-sortie (Ports série/parallèle, . . . )
Périphériques
Mr Diarra Mahamadou Algorithmique et Structure des Données 11 / 93
Objectifs
Définition
Généralité
Langage Algorithmique
Matériel: Principaux éléments d’un PC
Unité centrale (le boı̂tier)
Processeur ou CPU (Central Processing Unit)
Mémoire centrale
Disque dur, lecteur disquettes, lecteur CD-ROM
Cartes spécialisées (cartes vidéo, réseau, ...)
Interfaces d’entrée-sortie (Ports série/parallèle, . . . )
Périphériques
Moniteur (l’écran), clavier, souris
Modem, imprimante, scanner, . . .
Mr Diarra Mahamadou Algorithmique et Structure des Données 12 / 93
Objectifs
Définition
Généralité
Langage Algorithmique
Qu’est ce qu’un système d’exploitation?
Mr Diarra Mahamadou Algorithmique et Structure des Données 13 / 93
Objectifs
Définition
Généralité
Langage Algorithmique
Qu’est ce qu’un système d’exploitation?
Ensemble de programmes qui gèrent le matériel et contrôlent
les applications
Mr Diarra Mahamadou Algorithmique et Structure des Données 14 / 93
Objectifs
Définition
Généralité
Langage Algorithmique
Qu’est ce qu’un système d’exploitation?
Ensemble de programmes qui gèrent le matériel et contrôlent
les applications
Gestion des périphériques (affichage à l’écran, lecture du
clavier, pilotage d’une imprimante, . . . )
Gestion des utilisateurs et de leurs données (comptes, partage
des ressources, gestion des fichiers et répertoires, . . . )
Interface avec l’utilisateur (textuelle ou graphique):
Interprétation des commandes
Contrôle des programmes (découpage en taches, partage du
temps processeur, . . . )
Mr Diarra Mahamadou Algorithmique et Structure des Données 15 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Exemples introductifs
Exemple 1: Additionner 2 entiers
Mr Diarra Mahamadou Algorithmique et Structure des Données 16 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Exemples introductifs
Exemple 1: Additionner 2 entiers
Ecrire les deux nombres
l’un en dessous de l’autre
en alignant les chiffres de
droite à gauche.
Mr Diarra Mahamadou Algorithmique et Structure des Données 17 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Exemples introductifs
Exemple 1: Additionner 2 entiers
Ecrire les deux nombres
l’un en dessous de l’autre
en alignant les chiffres de
droite à gauche.
Additionner les chiffres de
droite à gauche.
Si le résultat est
inférieur à 10, l’écrire
en dessous.
Si le résultat est
supérieur à 10, écrire le
chiffre d’unité en
dessous et retenir 1.
Mr Diarra Mahamadou Algorithmique et Structure des Données 18 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Exemples introductifs
Exemple 2: Gâteau au chocolat
Ingrédients :
1 tablette de chocolat noir,
125 g de beurre,
125 g de sucre,
3 œufs,
3 cuillères à soupe de farine
Mr Diarra Mahamadou Algorithmique et Structure des Données 19 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Exemples introductifs
Exemple 2: Gâteau au chocolat
Mode d’emploi:
1 Préchauffez le four à 180°
2 Faites fondre le chocolat en morceaux au bain-marie ou au
micro-ondes.
3 Coupez le beurre et faites-le fondre également.
4 Dans un saladier, cassez les œufs et mettez le sucre.
5 Mélangez bien jusqu’à ce que le mélange devienne légèrement
mousseux.
6 Ajoutez le beurre, remuez.
7 Ajoutez le chocolat fondu, mélangez.
8 Incorporez la farine petit à petit.
9 Beurrez un moule et versez-y la pâte.
10 Enfournez pendant 20 min mais surveillez régulièrement.
Mr Diarra Mahamadou Algorithmique et Structure des Données 20 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Exemples introductifs
Exemple 2: Gâteau au chocolat
Résultat :
Mr Diarra Mahamadou Algorithmique et Structure des Données 21 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Qu’est ce qu’un algorithme ?
Mr Diarra Mahamadou Algorithmique et Structure des Données 22 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Qu’est ce qu’un algorithme ?
Un algorithme est une suite finie et non ambiguë d’étapes
permettant de résoudre un problème.
Mr Diarra Mahamadou Algorithmique et Structure des Données 23 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Le rôle d’un algorithme en programmation
Mr Diarra Mahamadou Algorithmique et Structure des Données 24 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Comment décrire un algorithme ?
Question: Est-ce qu’il y a un standard ?
Mr Diarra Mahamadou Algorithmique et Structure des Données 25 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Comment décrire un algorithme ?
Question: Est-ce qu’il y a un standard ?
Il n’y a pas de standard de description d’un algorithme, mais
des recommandations:
Description simple
Description facile à apprendre et à comprendre
Soigner la présentation: un algorithme mal écrit est un
algorithme à jeter
Mr Diarra Mahamadou Algorithmique et Structure des Données 26 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Structure générale d’un algorithme:
Algorithme: Titre (nom) de l’algorithme
Déclaration de variables
Début
Etape1
Etape2
Etape3
.............
.............
Fin
Mr Diarra Mahamadou Algorithmique et Structure des Données 27 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Définition
Un algorithme manipule un ensemble de quantités (données)
Mr Diarra Mahamadou Algorithmique et Structure des Données 28 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Définition
Un algorithme manipule un ensemble de quantités (données)
Dans un algorithme, toutes ces données sont remplacées par
des symboles (des noms) qu’on appelle variables
Mr Diarra Mahamadou Algorithmique et Structure des Données 29 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Définition
Un algorithme manipule un ensemble de quantités (données)
Dans un algorithme, toutes ces données sont remplacées par
des symboles (des noms) qu’on appelle variables
Dans les langages de programmation une variable sert à
stocker la valeur d’une donnée
Mr Diarra Mahamadou Algorithmique et Structure des Données 30 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Définition
Un algorithme manipule un ensemble de quantités (données)
Dans un algorithme, toutes ces données sont remplacées par
des symboles (des noms) qu’on appelle variables
Dans les langages de programmation une variable sert à
stocker la valeur d’une donnée
Une variable désigne en fait un emplacement mémoire dont le
contenu peut changer au cours d’un programme (d’où le nom
variable)
Mr Diarra Mahamadou Algorithmique et Structure des Données 31 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Définition
Un algorithme manipule un ensemble de quantités (données)
Dans un algorithme, toutes ces données sont remplacées par
des symboles (des noms) qu’on appelle variables
Dans les langages de programmation une variable sert à
stocker la valeur d’une donnée
Une variable désigne en fait un emplacement mémoire dont le
contenu peut changer au cours d’un programme (d’où le nom
variable)
La notion de variable algorithmique est différente de la notion
de variable mathématique.
Mr Diarra Mahamadou Algorithmique et Structure des Données 32 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Déclaration de variables
Les variables doivent être déclarées avant d’être utilisées, elle
doivent être caractérisées par :
Mr Diarra Mahamadou Algorithmique et Structure des Données 33 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Déclaration de variables
: Les variables doivent être déclarées avant d’être utilisées,
elle doivent être caractérisées par :
un nom (Identificateur)
Mr Diarra Mahamadou Algorithmique et Structure des Données 34 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Déclaration de variables
: Les variables doivent être déclarées avant d’être utilisées,
elle doivent être caractérisées par :
un nom (Identificateur)
un type (entier, réel, caractère, chaı̂ne de caractères, . . . )
Mr Diarra Mahamadou Algorithmique et Structure des Données 35 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Déclaration de variables
Choix des identificateurs
Le choix des noms de variables est soumis à quelques règles
qui varient selon le langage, mais en général:
Mr Diarra Mahamadou Algorithmique et Structure des Données 36 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Déclaration de variables
Choix des identificateurs
Le choix des noms de variables est soumis à quelques règles
qui varient selon le langage, mais en général:
Un nom doit commencer par une lettre alphabétique
exemple valide: A1 exemple invalide: 1A
Mr Diarra Mahamadou Algorithmique et Structure des Données 37 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Déclaration de variables
Choix des identificateurs
Le choix des noms de variables est soumis à quelques règles
qui varient selon le langage, mais en général:
Un nom doit commencer par une lettre alphabétique
exemple valide: A1 exemple invalide: 1A
doit être constitué uniquement de lettres, de chiffres et du
soulignement (Eviter les caractères de ponctuation et les
espaces)
valides: SMIP2007, SMP 2007 invalides: SMP 2005,SMP;2007
Mr Diarra Mahamadou Algorithmique et Structure des Données 38 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Déclaration de variables
Choix des identificateurs
Le choix des noms de variables est soumis à quelques règles
qui varient selon le langage, mais en général:
Un nom doit commencer par une lettre alphabétique
exemple valide: A1 exemple invalide: 1A
doit être constitué uniquement de lettres, de chiffres et du
soulignement (Eviter les caractères de ponctuation et les
espaces)
valides: SMIP2007, SMP 2007 invalides: SMP 2005,SMP;2007
Conseil: pour la lisibilité du code choisir des noms significatifs
qui décrivent les données manipulées
exemples: TotalVentes2004, Prix TTC, Prix HT
Mr Diarra Mahamadou Algorithmique et Structure des Données 39 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Déclaration de variables
Types des variables
Le type d’une variable détermine l’ensemble des valeurs qu’elle
peut prendre, les types offerts par la plus part des langages sont:
Type numérique (entier ou réel)
Mr Diarra Mahamadou Algorithmique et Structure des Données 40 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Déclaration de variables
Types des variables
Le type d’une variable détermine l’ensemble des valeurs qu’elle
peut prendre, les types offerts par la plus part des langages sont:
Type numérique (entier ou réel)
Type logique ou booléen: deux valeurs VRAI ou FAUX
Mr Diarra Mahamadou Algorithmique et Structure des Données 41 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Déclaration de variables
Types des variables
Le type d’une variable détermine l’ensemble des valeurs qu’elle
peut prendre, les types offerts par la plus part des langages sont:
Type numérique (entier ou réel)
Type logique ou booléen: deux valeurs VRAI ou FAUX
Type caractère: lettres majuscules, minuscules, chiffres,
symboles, . . .
exemples: ’A’,’a’,’1’,’ ?’, . . . ..
Mr Diarra Mahamadou Algorithmique et Structure des Données 42 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Déclaration de variables
Types des variables
Le type d’une variable détermine l’ensemble des valeurs qu’elle
peut prendre, les types offerts par la plus part des langages sont:
Type numérique (entier ou réel)
Type logique ou booléen: deux valeurs VRAI ou FAUX
Type caractère: lettres majuscules, minuscules, chiffres,
symboles, . . .
exemples: ’A’,’a’,’1’,’ ?’, . . . ..
Type chaı̂ne de caractère: toute suite de caractères
exemples: ” Nom, Prénom”, ”code postale: 1000”, . . .
Mr Diarra Mahamadou Algorithmique et Structure des Données 43 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Déclaration de variables
Rappel: toute variable utilisée dans un programme doit avoir
fait l’objet d’une déclaration préalable
Mr Diarra Mahamadou Algorithmique et Structure des Données 44 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Déclaration de variables
Rappel: toute variable utilisée dans un programme doit avoir
fait l’objet d’une déclaration préalable
En pseudo-code, on va adopter la forme suivante pour la
déclaration de variables
Variables liste d’identificateurs : type
Mr Diarra Mahamadou Algorithmique et Structure des Données 45 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Déclaration de variables
Rappel: toute variable utilisée dans un programme doit avoir
fait l’objet d’une déclaration préalable
En pseudo-code, on va adopter la forme suivante pour la
déclaration de variables
Variables liste d’identificateurs : type
Exemple:
Variables i, j,k : entier
x, y : réel
OK: booléen
ch1, ch2 : chaı̂ne de caractères
Mr Diarra Mahamadou Algorithmique et Structure des Données 46 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
L’instruction d’affectation
l’affectation consiste à attribuer une valeur à une variable
Mr Diarra Mahamadou Algorithmique et Structure des Données 47 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
L’instruction d’affectation
l’affectation consiste à attribuer une valeur à une variable
En pseudo-code, l’affectation se note avec le signe ←
Var← e attribue la valeur de e à
la variable Var
e peut être une valeur, une autre variable
ou une expression
Var et e doivent être de même type ou de
types compatibles
l’affectation ne modifie que ce qui est à
gauche de la flèche
Mr Diarra Mahamadou Algorithmique et Structure des Données 48 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
L’instruction d’affectation
l’affectation consiste à attribuer une valeur à une variable
En pseudo-code, l’affectation se note avec le signe ←
Var← e attribue la valeur de e à
la variable Var
e peut être une valeur, une autre variable
ou une expression
Var et e doivent être de même type ou de
types compatibles
l’affectation ne modifie que ce qui est à
gauche de la flèche
Mr Diarra Mahamadou Algorithmique et Structure des Données 49 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Exercices simples sur l’affectation
Donnez les valeurs des variables A, B et C après exécution des
instructions suivantes ?
Algorithme : Affectation
Variables A, B, C: Entier
Début
A←3
B←7
A←B
B ← A+5
C←A+B
C←B–A
Fin
Mr Diarra Mahamadou Algorithmique et Structure des Données 50 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Exercices simples sur l’affectation
Donnez les valeurs des variables A, B et C après exécution des
instructions suivantes ?
Algorithme : Affectation
Variables A, B: Entier
Début
A←1
B←2
A←B
B←A
Fin
Mr Diarra Mahamadou Algorithmique et Structure des Données 51 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Expressions et opérateurs
Une expression peut être une valeur, une variable ou une
opération constituée de variables reliées par des opérateurs
exemples: 1, b, a*2, a+ 3*b-c, . . .
Mr Diarra Mahamadou Algorithmique et Structure des Données 52 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Expressions et opérateurs
Une expression peut être une valeur, une variable ou une
opération constituée de variables reliées par des opérateurs
exemples: 1, b, a*2, a+ 3*b-c, . . .
L’évaluation de l’expression fournit une valeur unique qui est
le résultat de l’opération
Mr Diarra Mahamadou Algorithmique et Structure des Données 53 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Expressions et opérateurs
Une expression peut être une valeur, une variable ou une
opération constituée de variables reliées par des opérateurs
exemples: 1, b, a*2, a+ 3*b-c, . . .
L’évaluation de l’expression fournit une valeur unique qui est
le résultat de l’opération
Les opérateurs dépendent du type de l’opération, ils peuvent
être :
Mr Diarra Mahamadou Algorithmique et Structure des Données 54 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Expressions et opérateurs
Une expression peut être une valeur, une variable ou une
opération constituée de variables reliées par des opérateurs
exemples: 1, b, a*2, a+ 3*b-c, . . .
L’évaluation de l’expression fournit une valeur unique qui est
le résultat de l’opération
Les opérateurs dépendent du type de l’opération, ils peuvent
être :
des opérateurs arithmétiques: +, -, *, /, % (modulo),
ˆ(puissance)
des opérateurs logiques: NON, OU, ET
des opérateurs relationnels: =, <, >,<=,>=
des opérateurs sur les chaı̂nes: & (concaténation)
Mr Diarra Mahamadou Algorithmique et Structure des Données 55 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Priorité des opérateurs
Mr Diarra Mahamadou Algorithmique et Structure des Données 56 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Les instructions d’entrées-sorties: lecture et écriture
Les instructions de lecture et d’écriture permettent à la
machine de communiquer avec l’utilisateur
Mr Diarra Mahamadou Algorithmique et Structure des Données 57 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Les instructions d’entrées-sorties: lecture et écriture
Les instructions de lecture et d’écriture permettent à la
machine de communiquer avec l’utilisateur
La lecture permet d’entrer des donnés à partir du clavier
Mr Diarra Mahamadou Algorithmique et Structure des Données 58 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Les instructions d’entrées-sorties: lecture et écriture
Les instructions de lecture et d’écriture permettent à la
machine de communiquer avec l’utilisateur
La lecture permet d’entrer des donnés à partir du clavier
En pseudo-code, on note: lire (var)
la machine met la valeur entrée au clavier dans la zone
mémoire nommée var
Mr Diarra Mahamadou Algorithmique et Structure des Données 59 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Les instructions d’entrées-sorties: lecture et écriture
L’écriture permet d’afficher des résultats à l’écran (ou de les
écrire dans un fichier)
Mr Diarra Mahamadou Algorithmique et Structure des Données 60 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Les instructions d’entrées-sorties: lecture et écriture
L’écriture permet d’afficher des résultats à l’écran (ou de les
écrire dans un fichier)
En pseudo-code, on note: écrire (var)
la machine affiche le contenu de la zone mémoire var
Mr Diarra Mahamadou Algorithmique et Structure des Données 61 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Exemple (lecture et écriture)
Ecrire un algorithme qui demande un nombre entier à l’utilisateur,
puis qui calcule et affiche le double de ce nombre
Algorithme :Calcul double
variables A, B : entier Début
écrire(”entrer le nombre ”)
lire(A)
B ← 2*A
écrire(”le double de ”, A, ”est :”, B)
Fin
Mr Diarra Mahamadou Algorithmique et Structure des Données 62 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Exercice (lecture et écriture)
Ecrire un algorithme qui vous demande de saisir votre nom puis
votre prénom et qui affiche ensuite votre nom complet
Mr Diarra Mahamadou Algorithmique et Structure des Données 63 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Exercice (lecture et écriture)
Ecrire un algorithme qui vous demande de saisir votre nom puis
votre prénom et qui affiche ensuite votre nom complet
Algorithme :AffichageNomComplet
variables Nom, Prenom, Nom Complet : chaı̂ne de caractères
Début
écrire(”entrez votre nom”)
lire(Nom)
écrire(”entrez votre prénom”)
lire(Prenom)
Nom Complet ← Nom & Prenom
écrire(”Votre nom complet est : ”, Nom Complet)
Fin
Mr Diarra Mahamadou Algorithmique et Structure des Données 64 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Description graphique: Organigramme
Lecture de données
Exemple: Lire (n, m)
Ecriture de résultats:
Exemple: écrire (x1, x2)
Affectation:
Exemple: s ← n + m
Début de l’algorithme
Fin de l’algorithme
Mr Diarra Mahamadou Algorithmique et Structure des Données 65 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Organigramme 1: Calcul de la somme de deux entiers
Algorithme: Somme de deux entiers
Variables n, m, s : entiers
Début
écrire(”Donnez la valeur de n et m ”)
Lire (n, m)
s←n+m
écrire(s)
écrire(”A bientôt !”)
Fin
Mr Diarra Mahamadou Algorithmique et Structure des Données 66 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Organigramme 2: Calcul de la somme de deux entiers
Algorithme: résoudre une équation A.x +
B=0
Variables A, B, x : réels
Début
Lire(A, B)
x ← -B/A
écrire(x)
Fin
Mr Diarra Mahamadou Algorithmique et Structure des Données 67 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
instructions conditionnelles ou alternatives
Les instructions conditionnelles servent à n’exécuter une instruction
ou une séquence d’instructions que si une condition est vérifiée
Mr Diarra Mahamadou Algorithmique et Structure des Données 68 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
instructions conditionnelles ou alternatives
Si(condition) alors
instruction ou suite
d’instructions1
Sinon
instruction ou suite
d’instructions2
Finsi
Mr Diarra Mahamadou Algorithmique et Structure des Données 69 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
instructions conditionnelles ou alternatives
Algorithme: résoudre une
équation A.x + B = 0
Variables A,B,x : réels
Début
Lire (A, B)
Si(A6=0) Alors
x ← B/A
écrire(x)
Sinon
écrire(”Pas de solution”)
FinSi
Fin
Mr Diarra Mahamadou Algorithmique et Structure des Données 70 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
instructions conditionnelles ou alternatives
Algorithme: la valeur absolue
Variables x,y : réels
Début
Lire (x)
Si(x<0) Alors
y←-x
Sinon
y←x
FinSI
écrire(y)
Fin
Mr Diarra Mahamadou Algorithmique et Structure des Données 71 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
instructions conditionnelles ou alternatives
Alternative simple
Si(condition) alors
instruction ou suite
d’instructions1
Finsi
Mr Diarra Mahamadou Algorithmique et Structure des Données 72 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
instructions conditionnelles ou alternatives
Alternative simple
Algorithme AffichageValeurAbsolue
Variable x,y : réel
Début
Ecrire (” Entrez un réel : “)
Lire (x)
y← x
Si (x < 0) alors
y ← -x
Finsi
Ecrire (”la valeur absolue de ”, x, ”est:”,y)
Fin
Mr Diarra Mahamadou Algorithmique et Structure des Données 73 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Exercice
Ecrire un algorithme qui demande un nombre entier à l’utilisateur,
puis qui teste et affiche s’il est divisible par 3 et donnez son
organigramme.
Mr Diarra Mahamadou Algorithmique et Structure des Données 74 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Conditions composées
Comme on l’a évoqué plus haut, l’informatique met à notre
disposition quatre opérateurs logiques : ET, OU, NON, et
XOR.
Mr Diarra Mahamadou Algorithmique et Structure des Données 75 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Conditions composées
Comme on l’a évoqué plus haut, l’informatique met à notre
disposition quatre opérateurs logiques : ET, OU, NON, et
XOR.
On représente fréquemment tout ceci dans des tables de vérité
(C1 et C2 représentent deux conditions, et on envisage à
chaque fois les quatre cas possibles)
Mr Diarra Mahamadou Algorithmique et Structure des Données 76 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
tables de vérité
Mr Diarra Mahamadou Algorithmique et Structure des Données 77 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
tables de vérité
Mr Diarra Mahamadou Algorithmique et Structure des Données 78 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
tables de vérité
Mr Diarra Mahamadou Algorithmique et Structure des Données 79 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
tables de vérité
Mr Diarra Mahamadou Algorithmique et Structure des Données 80 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Exemple
Algorithme : opérateur logique
Variables A, B, C, D, E : Booléen
X : Entier
Début
Lire(X)
A ← X > 12
B←X>2
C←X <6
D ← (A ET B) OU C
E ← A ET (B OU C)
Ecrire(D, E)
Fin
Mr Diarra Mahamadou Algorithmique et Structure des Données 81 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Exercice 1
Ecrire un algorithme qui demande deux nombres à l’utilisateur et
l’informe ensuite si leur produit est négatif ou positif (on laisse de
côté le cas où le produit est nul).
Attention toutefois : on ne doit pas calculer le produit des deux
nombres.
Mr Diarra Mahamadou Algorithmique et Structure des Données 82 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Exercice 2
Ecrire un algorithme qui demande trois noms à l’utilisateur et
l’informe ensuite s’ils sont rangés ou non dans l’ordre alphabétique.
Mr Diarra Mahamadou Algorithmique et Structure des Données 83 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Exercice 3
Les habitants de Bamako paient l’impôt selon les règles suivantes :
les hommes de plus de 20 ans paient l’impôt
les femmes paient l’impôt si elles ont entre 18 et 35 ans
les autres ne paient pas d’impôt
Le programme demandera donc l’âge et le sexe du Bamakois, et se
prononcera donc ensuite sur le fait que l’habitant est imposable.
Mr Diarra Mahamadou Algorithmique et Structure des Données 84 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Instructions itératives: les boucles
Les boucles servent à répéter l’exécution d’un groupe
d’instructions un certain nombre de fois
Mr Diarra Mahamadou Algorithmique et Structure des Données 85 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Instructions itératives: les boucles
Les boucles servent à répéter l’exécution d’un groupe
d’instructions un certain nombre de fois
Mr Diarra Mahamadou Algorithmique et Structure des Données 86 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Instructions itératives: les boucles
Les boucles servent à répéter l’exécution d’un groupe
d’instructions un certain nombre de fois
On distingue trois sortes de boucles en langages de
programmation :
Mr Diarra Mahamadou Algorithmique et Structure des Données 87 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Instructions itératives: les boucles
Les boucles servent à répéter l’exécution d’un groupe
d’instructions un certain nombre de fois
On distingue trois sortes de boucles en langages de
programmation :
Les boucles tant que : on y répète des instructions tant qu’une
certaine condition est réalisée
Mr Diarra Mahamadou Algorithmique et Structure des Données 88 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Instructions itératives: les boucles
Les boucles servent à répéter l’exécution d’un groupe
d’instructions un certain nombre de fois
On distingue trois sortes de boucles en langages de
programmation :
Les boucles tant que : on y répète des instructions tant qu’une
certaine condition est réalisée
Les boucles répéter . . . .. jusqu’à : on y répète des instructions
jusqu’à ce qu’une certaine condition soit réalisée
Mr Diarra Mahamadou Algorithmique et Structure des Données 89 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Instructions itératives: les boucles
Les boucles servent à répéter l’exécution d’un groupe
d’instructions un certain nombre de fois
On distingue trois sortes de boucles en langages de
programmation :
Les boucles tant que : on y répète des instructions tant qu’une
certaine condition est réalisée
Les boucles répéter . . . .. jusqu’à : on y répète des instructions
jusqu’à ce qu’une certaine condition soit réalisée
Les boucles pour ou avec compteur : on y répète des
instructions en faisant évoluer un compteur (variable
particulière) entre une valeur initiale et une valeur finale
Mr Diarra Mahamadou Algorithmique et Structure des Données 90 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Les boucles Tant que
TantQue(condition)
instructions
FinTantQue
Mr Diarra Mahamadou Algorithmique et Structure des Données 91 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Les boucles Pour
Pour compteur allant de
initiale à finale par pas valeur
du pas
instructions
FinPour
Mr Diarra Mahamadou Algorithmique et Structure des Données 92 / 93
Exemples introductifs
Objectifs Définition
Généralité Notion de variable
Langage Algorithmique L’instruction d’affectation
Les boucles Répéter . . . jusqu’à . . .
Répéter
instructions
Jusqu’à(condition)
Mr Diarra Mahamadou Algorithmique et Structure des Données 93 / 93