0% ont trouvé ce document utile (0 vote)
53 vues55 pages

Algorithmique Chapitre 1 Info

Transféré par

emalbbk.lemin
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)
53 vues55 pages

Algorithmique Chapitre 1 Info

Transféré par

emalbbk.lemin
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
Vous êtes sur la page 1/ 55

Objectif

Apprendre les concepts de base de l'algorithmique, et être autonome face aux


problématiques qui pourraient être rencontrées.

Etre capable de développer des compétences qui seront réutilisables pour


analyser des problèmes simples et écrire les algorithmes correspondants.

06/11/2022 1
Plan:

• Chapitre 1 : Les éléments de base d’un algorithme

• Chapitre 2 : Instructions conditionnelles

• Chapitre 3 : Instructions itératives

• Chapitre 4 : Tableaux

• Chapitre 5 : Algorithmes classiques de Recherche et de Tris

• Chapitre 6 : Fonctions

06/11/2022 2
Chapitre 1 : Les éléments de base d’un algorithme

Sommaire:
• Définition d’un algorithme
• Structure d’un algorithme
• Notion de variable
• constantes
• operateurs
• Action de lecture
• Action d’affectation
• Action d’affichage

06/11/2022 3
Principe (traitement des données)
Données
Ordinateur Résultats
Programmes
Un programme est une suite
Un langage de programmation est un d’instructions, écrite dans un langage
ensemble d’instructions et de règles de programmation, exécutée par un
compréhensible par l’ordinateur et ordinateur, permettant de traiter un
permettant de traduire un algorithme problème et renvoyer des résultats.
en programme.

Langage de
Algorithme programme
programmation
06/11/2022 4
Définition d'un algorithme
Un algorithme est une suite finie d’instructions à appliquer dans
un ordre déterminé à un nombre fini de données pour arriver à
un certain résultat.

Le mot algorithme provient du nom d’un mathématicien arabe


Muhammad ibn moussa al-Khawarizmi

Algorithmique : Science qui étudie l’application des algorithmes


à l’informatique

Tout programme fourni à l'ordinateur n'est que la traduction


d'un algorithme en un langage de programmation comme C,
Python, JAVA….. Portrait fictif d'Al-Khwar

06/11/2022 5
Les étapes de développement d’un algorithme :

06/11/2022 6
Exemple
Vous avez déjà fait de l'algorithmique, parce qu'on utilise des algorithmes dans
notre vie quotidienne.

Un algorithme peut se comparer à une recette de cuisine

 Le résultat c’est comme le plat à cuisiner


 Les données sont des ingrédients de la recette
 Les règles de transformations se comparent aux instructions de la
recette

06/11/2022 7
Exemple
Pour faire des crêpes, il suffit de suivre les instructions dans l’ordre

06/11/202
2
Les algorithmes sont représentés de la même façon. 9
Algorithme

Données Traitement Résultats

Ensemble d’actions
élémentaires

06/11/2022 9
Actions ou instruction

Action (ordre ou instruction) : c’est une opération élémentaire qui produit un


effet spécifié en un temps fini.

Exemples: x=2, afficher un message…

Algorithme:
Un algorithme est une suite finie d’instructions à appliquer dans un ordre
déterminé à un nombre fini de données pour arriver à un certain résultat.

06/11/2022 10
Structure générale d’un algorithme:
Un algorithme est composé de trois parties principales
L’en tête : cette partie sert à donner un nom à l’algorithme. Elle est précédée par le mot
Algorithme
La partie déclarative : dans cette partie, on déclare les différents objets que l’algorithme
utilise (constante, variable, etc..)
Le corps de l’algorithme : cette partie contient les instructions de l’algorithme. Elle est
délimitée par les mots Début et Fin.
En tête Algorithme NomAlgorithme

Partie Constante
Déclarative variable
Début
Corps de Instruction 1
……..
l’algorithme
Instruction n
Fin
06/11/2022 1
2
Structure générale d’un algorithme:
Algorithme Nom-Algorithme
Constante c1, c2 ….
Variable : v1, v2, :type
Début
Instruction 1
Instruction 2
Instruction 3
Instruction 4
Instruction 5
:::::::::::
:::::::::::
Fin.

Remarque:
L’ordre dans lequel les différentes instructions sont écrites indique l’ordre dans lequel ellesseront exécutées:
de haut en bas. Il s’agit d’une exécution séquentielle.

06/11/2022 12
Notion de variable
 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)

 Règle : Les variables doivent être caractérisées par :


 Un nom (Identificateur)
 Un type (entier, réel, caractère, chaîne de caractères, …)
 Une valeur

06/11/2022 13
Notion de variable
Déclaration des variables :

La déclaration d'une variable sert à réserver une plage


mémoire pour stocker la valeur de cette variable.

Syntaxe :

Variables identificateur : type


Règle: les variables doivent être déclarées avant d’être utilisées.

06/11/2022 14
Notion de variable
Identificateur :

Un identificateur est le nom donné à une variable. Ce nom


doit obligatoirement commencer par une lettre ou _
Il ne doit pas contenir:
• Espaces
• caractères spéciaux.

06/11/2022 15
Notion de variable

Conseil: pour la lisibilité du code choisir des noms significatifs qui décrivent
les données manipulées.

Par exemple, pour représenter le salaire d'un employé dans un algorithme, il


mieux choisir l’identificateur salaire au lieu de x ou y.
vaut06/11/2022 16
Type de données :
Le type d’une variable détermine l’ensemble des valeurs qu’elle peut prendre,
ainsi que les opérations possibles sur cette variable.
Les types de base sont: Entier, Réel, caractère et booléen.
Les différents types utilisés en algorithmique
 Type Entier : sert à manipuler les nombres entiers positifs ou négatifs. Par exemple : 5,-23, etc.

 Type réel : sert à manipuler les nombres à virgules. Par exemple : 3.14, -13.5, etc.

 Type caractère : permet de manipuler des caractères alphabétiques et numériques. Parexemple : ’a’, ‘H’, ‘1’,

 Type chaine de caractères : permet de représenter des mots ou des phrases. Parexemple : ‘’Bonjour’’, ‘

 Type logique (booléen) : utilise les expressions logiques. Il n’y a que deux valeursbooléennes : Vrai et Faux.
06/11/2022 17
Type de données :

Exemple :

Variable x : réel

Variable age: entier

Variable Nom : Chaine de caractères

Variable absent : booléen


06/11/2022 18
Opérateurs
Opérateurs
Les opérateurs permettent de produire un effet sur les variables et
constantes en effectuant des calculs, des vérifications.

On peut les classer en trois classes : arithmétiques, et relationnels


(comparaison) et logiques.

- Opérateurs arithmétiques et Opérateurs de comparaison: Ce sont des


opérateurs qui opèrent sur les types numériques.

- Opérateurs Logiques : Ce sont des opérateurs qui opèrent sur les booléens
06/11/2022 19
Opérateurs
Type Opérations possibles Symbole

Addition +
Entier Soustraction -
Multiplication *
Division entière
Div
Modulo(le reste de la
Mod ou %
division entière)
Exposant ^

06/11/202 Comparaisons <, =, >, <=, >=, (≠ou !=) 21


2
Opérateurs

Réel Addition +
Soustraction -
Multiplication *
Division /

Exposant ^
Comparaisons <, =, >, <=, >=, (≠ou !=)
Chaine de Concaténation +
caractères
Booléen Logiques ET, OU, NON et OUex

06/11/2022 21
06/11/2022 22
Opérateurs

Exemple :
5 / 2=2.5
5 Div 2 = 2
5 Mod 2 = 1
5 ^ 2 = 25
’’Bonjour’’ + ‘’ ‘’ + ‘’Ali’’ donne ’’Bonjour Ali’’
L’expression 5>2 est Vraie
L’expression 7<3 est Fausse.

06/11/2022 23
Opérateurs Logiques

Les opérations définies pour le type booléen sont :


Le ET logique (and)
Le OU logique (or)
Le NON logique (not)
Le OUex logique(XOR).

06/11/2022 24
Opérateurs Logiques

06/11/2022 25
Table de vérité

06/11/2022 26
!=

06/11/2022 27
Nom
Ali
Note1
12
Note2
14
Exemple
Marieme 6 15
Sidi 14 2
Nouh 3 5
Dia 12 15
Louly 7 13

Question Expression Résultats


Les étudiants qui ont validé Note1>=10 ET Note2>=10 Aly, Dia
deux notes?
Les étudiants qui ont validé Aly, Marieme, Sidi, Dia et
au moins une note
Note1>=10 ou Note2>=10 louly
Les étudiants qui ont validé Note1>=10 OUex Note2>=10 Marieme, Sidi et Louly
exactement
06/11/202
une seule note. 2
2 9
06/11/2022 29
Table de vérité

Remarque :

Le domaine {Faux, Vrai} est équivalent au domaine {0, 1} :

La valeur 0 correspondant à la valeur booléenne Faux


La valeur 1 correspondant à la valeur booléenne Vrai.

06/11/2022 30
Table de vérité

06/11/2022 31
Les constantes
Les constantes :
Une constante est une variable dont la valeur ne change pas au cours
de l'exécution du programme, elle peut être un nombre, un caractère,
ou une chaine de caractères ou booléen.
Syntaxe :
Constante Nom_de_la_constante valeur
Exemple :: pour calculer la surface des cercles, la valeur de pi est une
constante mais le rayon est une variable.
Constante PI=3.14 :

06/11/2022 32
Expressions

Expressions
Une expression est une combinaison de variables, de constantes et
d'opérateurs.

Les parenthèses peuvent être utilisées lors de l’écriture des expressions pour les
rendre plus lisibles.

06/11/2022 33
Expressions
-Expressions arithmétiques :
Elles sont formées par des variables, des constantes numériques et des opérateurs
arithmétiques

Exemples :
(a+b)*(c-d)/2

a div b+2*3.14*R

- Expressions logiques:
Elles sont formées par des constantes, des variables et des opérateurs logiques et relationnels.
Exemples:
(b<a)
(2<b) et (3>=b)
06/11/2022 34
Affectation
Affectation
Elle consiste à attribuer une valeur ou une expression à une variable (ça
consiste à remplir où à modifier le contenu d'une zone mémoire)
l'instruction d'affectation se note avec le signe ←.

Syntaxe :
Variable ← Expression

Expression peut être:


valeur
Expression arithmétique
Expression logique.
06/11/2022 35
Valeur des variables
 Une valeur

 La valeur d'une variable (contenu) peut varier au


cours du programme. L'ancienne valeur est tout
simplement écrasée et remplacée par la nouvelle.

 Initialisation : permet de donner une première


valeur à une variable
06/11/2022 36
06/11/2022 37
06/11/2022 38
06/11/2022 39
Les instructions d'entrées-sorties: lecture et écriture
Algorithme carré
Variable A , C: entier
Début
A ←12
C← A^2
Fin

Cet Algorithme nous donne le carré de 12. Mais si l’on veut le carré
d’un autre nombre que 12, il faut réécrire l’Algorithme.

Il existe des instructions qui permettent à la machine de dialoguer


avec l’utilisateur

06/11/2022 40
L’instruction de lecture :
L’instruction d’entrée ou de lecture:

La lecture permet d'entrer des donnés à


partir du clavier

Syntaxe :
Lire (Variable)

Exemples :
L’instruction Lire(A) permet à l’utilisateur de
saisir une valeur au clavier. La valeur saisie
sera affectée à la variable A.
06/11/2022 41
L’instruction de lecture :
Exemple:
Ecrire un algorithme qui demande un nombre entier à l'utilisateur, puis il calcule
le carré de ce nombre
Algorithme carré
Variable A , C: entier
Début
Lire(A)
C← A^2
Fin

Lorsque le programme rencontre cette instruction,


l’exécution s’arrête et attend que l’utilisateur tape
une valeur. Cette valeur est stocké en mémoire dans
06/11/2022 la variable désignée. 44
L’instruction d’écriture :

L’instruction de sortie (d’écriture) permet d’afficher des informations à l’écran.

Syntaxe :

Ecrire (expression)

Expression peut être une variable, une valeur, un message, …etc.

06/11/2022 43
L’instruction d’écriture :

Exemple:
A ←2
Ecrire (‘’La valeur de A = ‘’, A)

Cette instruction affiche à l’écran :


La valeur de A = 2.

Exemple:
Ecrire un algorithme qui affiche à l’écran la phrase: Bonjour tout le monde

06/11/2022 44
Exemple 1 (lecture et écriture)
Ecrire un algorithme qui demande un nombre entier à l'utilisateur,
puis qui calcule et affiche le double de ce nombre

Conseil: Avant de lire une variable, il est fortement conseillé d’écrire des messages à l’écran, afin
de prévenir l’utilisateur de ce qu’il doit frapper
Exemple (lecture et écriture)
Ecrire un algorithme qui calcule et affiche la somme de deux nombres
réels saisis par l’utilisateur.
Algorithme Somme
Variables a, b, somme: réel
Début
Ecrire (" Entrez a : ")
Lire (a)
Ecrire (" Entrez b : ")
Lire (b)
somme  a+b
Ecrire ("la somme de",a ,"et",b,"=",somme)
Fin

06/11/2022 46
Exemple (lecture et écriture)

06/11/2022 47
Exercices

09/11/2021 Amar
Algorithme algo 1 Algorithme algo 2 Algorithme algo 3
Exercice 1 variable a, b, c : entier variable a, b, c : entier variable a, b, c, t :
d, e : caractère debut entier
f: chaine de caractères a←2 debut
debut b ←4 a ←1
Considérons les
a←1 c ←a + b b←2
algorithmes ci-
a←a + 2 a ←1 c ←3
dessous. Quel
c ←b – 3 c ←b - a t ←a
sera le contenu
a ←a+b fin a←c
des variables
d ← ’x’ b←t
après exécution
? e ’a’ fin
f ←d+’g’
fin
Algorithme algo 4 Algorithme algo 5 Algorithme algo6
variable a, b : reel variable a, b, q,r : entier variablea, b :
c : entier c : reel entier
debut debut Début
a ←4.21 a←15 b+3← 4
b ←a * 2 b←4 A+4← 2
q ← a Div b Fin
c ←b * 2
fin r ←a Mod b
09/11/2021
c ←a / b
Exercice 2 Algorithme algo 1
variable a, b : entier
d : chaine de caracteres
Donner les affichages debut
a ←2000
produits par b ←a + 22

exécution des a ←a+b


a ←a+b
algorithmes suivants : d ← ‘’ISCAE’’
ecrire(d, b)
ecrire(‘’d’’)
fin
Algorithme algo 2
variable a, b : entier
c : réel
debut
a. ←4
b.←a * 2
ecrire (a, b)
ecrire (b * 2)
c. ←b * 2
ecrire (c)
09/11/2021
Fin Amar
Exercice 3

Concevoir un algorithme qui calcule et affiche l'aire d'un


rectangle. La longueur et la largeur du rectangle sont demandées
à l'utilisateur.

09/11/2021 Amar 5
3
Exercice 4
Soient x, y et z trois variables de type entier. Déterminer les
expressions booléennes correspondantes aux situations suivantes :

a. x et y sont toutes deux strictement supérieures à 3


b. x, y et z sont identiques
c. la valeur de x est comprise entre les valeurs de y et z
d. parmi les valeurs de x, y et z, deux valeurs au moins sont
identiques

09/11/2021 Amar 5
4
Les commentaires :

• Les commentaires :
• Lorsqu’un algorithme devient long, il est conseillé d’ajouter des lignes de
commentaires dans l’algorithme,
• Des lignes qui ont pour but de donner des indications sur les instructions
effectuées et expliquer le fonctionnement de l’algorithme sans que le
compilateur ne les prenne en compte.

// Commentaire sur une ligne


/* commentaire sur Plusieurs lignes */

06/11/2022 53
Exemple de commentaires

06/11/2022 54
RÉFÉRENCES

• Algorithmes D.E Knuth CSLI Publications 2011


• Introductipon a la science informatique G. Dowek Ed RPA 2010
• Eléments pour une histoire de l’informatique, D.E Knuth CSLI
Publications 2011
• Cours et exercices corrigés d’algorithmique- J. Julliand Ed Vuibert Fev
2010
• Algorthmique méthodes et modèles , P Lignelet Ed Masson 1988
• Cours algorithme Cécile Balkanski, Nelly Bensimon, Gérard Ligozat IUT
Orsay M

06/11/2022 55

Vous aimerez peut-être aussi