Vous êtes sur la page 1sur 52

Informatique de gestion II

Algorithmique, programmation et
conception des sites web

Mounia ZAYDI, Docteur en la sécurité de l’information, gouvernance et agilité


Consultante IT: SMSI, Gestion des risques, gestion des services IT, gestion
de bases de données, Sécurité et audit SI
Membre IEEE, IAENG
Certifiée ITIL V3, ISO27001, CCNA
m.zaydi@encgsettat.ac.ma
Gestion des services informatiques
Informatique de gestion II

Algorithmique
Plan

▪ Les bases de l’algorithme;


▪ Les variables;
▪ Les opérateurs;
▪ Lecture/écriture;
▪ Les chaines de caractères;
▪ Les structures de contrôle;
▪ Les structures conditionnelles;
▪ Les structures sélectives;
▪ Structure itérative TantQue, pour, répéter;
▪ Les fonctions et les procédures;
▪ Traduction algorithme au programme informatique (langage de
M.ZAYDI 4/4/2021
programmation).
Les bases de l’algorithmique

▪ L’algorithmique est un terme d’origine arabe, comme algèbre.


Le mot "algorithme" viendrait du nom AL- KHOWÂRIZMI .
▪ Un algorithme, est un Processus décrivant étape par étape
comment résoudre un problème ;
▪ indiqué un chemin à quelqu’un ?
▪ faire chercher un objet à quelqu’un par téléphone ?
▪ Si l’algorithme est juste, le résultat est le résultat voulu,
▪ Si l’algorithme est faux, le résultat est aléatoire.
Les bases de l’algorithmique

▪ L'algorithmique est la discipline qui s'intéresse aux algorithmes.


▪ Un algorithme est une suite logique d'opérations dites
instructions, qui, une fois exécuté correctement, donne le résultat
attendu. Exemple: préparer les spaghettis
1. Prendre une casserole;
2. La remplir de l’eau;
3. La mettre sur le feu;
4. Quand l’eau devient bouillante, mettre les spaghettis;
5. Attendre 5 minutes puis les retirer,

Il s’agit d’un algorithme


Les bases de l’algorithmique

▪ Un algorithme est un ensemble de règles logiques et


chronologiques qu’on doit suivre pour aboutir à la résolution
d’un problème particulier.
▪ Ces règles sont constituées d’un nombre fini d’opérations
élémentaires (Arithmétique & Logique).
▪ Ces opérations seront exécutées dans un ordre bien déterminé.
▪ Un algorithme peut être assimilé à un raisonnement que l’on
peut traduire avec un langage que toute personne peut
comprendre :

▪ LDA : Langage de Description d’Algorithme


Les bases de l’algorithmique

▪ Le programme informatique est la traduction du LDA à un autre

langage compréhensible pour la machine (Pascal, Visual Basic, C,

C++, C#, Java, python…)

▪ Le LDA n’est pas un langage informatique.


Les bases de l’algorithmique

Langage traduisant la pensée de


manière compréhensible pour toute
personne : Algorithme

LDA
……
……
……

Raisonnement logique Programme


et chronologique C, C++,…

Langage traduisant le LDA de


manière compréhensible pour
l’ordinateur : Programme

Compilateur Programme C,
Langage Machine
C++
Les bases de l’algorithmique : choix de langage

Le choix de langage dépend souvent au domaine auquel appartient le


problème à traiter comme le domaine du web, du mobile, du réseau ou
encore de la sécurité informatique, les critères de choix se résume comme
suit:
▪ La maniabilité et portabilité du langage de programmation;
▪ La popularité de langage (support disponible);
▪ La fiabilité;
▪ La syntaxe facile et intuitive,

Le point commun entre tous les langages de programmation est la


logique de la programmation elle-même ➔ ce qu’on appelle
l’algorithme
Les bases de l’algorithmique

▪ L’algorithme est indépendant de tout langage de programmation;


▪ Il ne s’agit pas d’un code à soumettre à l’ordinateur pour l’exécuter;
▪ IL s’agit d’un esquisses ou d’un schéma détaillé des opérations qu’elles faut
entamer pour mener à bien la solution du problème posé;
▪ Une fois l’algorithme est terminé et jugé correct et adéquat, on le traduit à un
vrai programme à l’aide d’un langage de programmation pour qu’il soit
exécuté par la machine.
▪ Un algorithme ne s’écrit pas forcement sur un ordinateur, on peut l’écrire sur
un papier comme l’ébauche d’un future programme,
Les bases de l’algorithmique : Types de notation

▪Historiquement, plusieurs types de notations ont représenté des algorithmes:

▪ Il y a une représentation graphique, avec des carrés, des losanges, etc. qu’on

appelle des organigrammes.

▪On utilise généralement une série de conventions appelée « pseudo-code », qui

ressemble à un langage de programmation authentique.

▪Donc, chaque cuisinier peut faire sa sauce à sa guise, avec ses petites épices bien

à lui, sans que cela prête à conséquence.


Types de notation: organigramme

▪Algorithme de la division de a/b


✓ organigramme:
Types de notation: pseudo-code

▪Algorithme de la division de a/b


✓ Pseudo-code:

Le pseudo-code est facilement traduisible en un langage de


programmation!
Les variables et les constantes

• Les données manipulées par un algorithme (ou un programme) sont soit des
constantes ou des variables:
• Constantes : une constante est un objet contenant une valeur qui ne peut jamais
être modifiée.
Son objectif est d'éviter d'utiliser une valeur d'une manière direct. Imaginons
qu'un algorithme utilise la valeur 3.14 une dizaines de fois (le nombre
d'occurrences de la valeur 3.14 est par exemple 15) et qu'on veut modifier cette
valeur par une autre valeur plus précise : 3.14159. Dans ce cas on est amené à
modifier toutes les occurrences de 3.14.
• Par contre, si on utilise une constante PI = 3.14 on modifier une seule fois cette
constante.
Les variables et les constantes

• Les programmes doivent mémoriser les données qu’ils utilisent.


• Pour cela, les variables nous fournissent plusieurs représentations et méthodes de
stockage des informations.
• Une variable est un emplacement en mémoire principale destiné à recevoir une
• donnée. Cette zone reçoit une valeur qui peut ensuite être réutilisée.
• La mémoire de votre ordinateur est comparable à des cases alignées une à une. Ces
emplacements sont numérotés séquentiellement; il s’agit d’adresses en mémoire.

Ex.: - une donnée numérique avec une précision plus ou moins grande,
- une chaîne de caractères plus ou moins longue.
Les variables et les types

Toute les données (variable ou constante) d'un algorithme possède un type de


données (domaine de valeurs possible).
L’algorithme se contente de définir les 4 types de bases qui sont:
▪ Les entiers;
▪ Les réels;
▪ Les booléens;
▪ Les chaines de caractères.

• Avant de manipuler une variable il faut au préalable définir son type,


• Le type représente la taille et les caractéristiques.
Les variables et les types

Les entiers:
▪ Sont des nombres qui s’expriment sans virgule et peuvent être
positif ou négatif.
▪ Les entiers s’expriment sur 16 bits(entier court) ou 32 bits
(entier long),
Les réels:
▪ Sont des nombres qui s’expriment avec une virgule (dite virgule
flottante);
▪ Les réels s’expriment sur 32 bits(simple précision) ou 64 bits
(double précision).
Les variables et les types

Les booléens:
▪ Représentent un type qui n’accepte que l’une des deux valeurs
« vrai» ou « faux» (représenté aussi par 0 ou 1);
▪ Il s’agit d’un type très léger de stockage dans la mémoire,
Les caractères:
▪ Représentent un type qui accepte des caractères alphabétiques,
numériques ou symboles;
▪ Il s’agit d’un texte (nom, code, commentaire),
Les variables et les types

Résumé:
Les variables: règles de nommage

Identificateur: Le nom de la variable


Doit contenir seulement des caractères alphabétiques, numériques et
le symbole souligné,
▪ Il doit commencer par un caractère alphabétique.
Exemples:
▪ Var123;
▪ Ma_Variable (souligné),
▪ Prenom (sans accent);
▪ Numer_de_telephone(souligné et sans accent);
▪ NumDeTelephone (notation chameau).
Structure d’un algorithme

Un algorithme est constitué de trois parties :

Entête : dans cette partie on déclare le nom de l'algorithme à travers un

identificateur.

Déclarations : dans cette partie on déclare toutes les données utilisées par

l'algorithme.

Corps : représente la séquence d'actions (instructions)


Structure d’un algorithme

Pour écrire un algorithme, il faut suivre la structure suivante :

Le nom de
l’algorithme

La déclaration de variables

Le corps de l’algorithme
Déclarations

Dans la partie déclaration, on déclare toutes les données d'entrées et de sorties sous
forme de constantes et de variables:

1 Variable tva : entier

Variables
2 tva : entier
PrixTTC: réel

Variables
3 tva, quantité : entier
PrixTTC: réel
Déclarations

Écrire l’algorithme qui permet de calculer le prix TTC d’un ensemble d’articles.
Déclarations

Écrire l’algorithme qui permet de calculer le prix TTC d’un ensemble d’articles.
Exercices

Exercice 1
Quelles seront les valeurs des variables A et B après exécution des instructions
suivantes ?
Variables A, B :Entier
Début
A←1
B←A+3
A←3
Fin
Exercice 2
Quelles seront les valeurs des variables A, B et C après exécution des instructions suivantes ?
Variables A, B, C :Entier
Début
A←5
B←3
C←A+B
A←2
C←B–A
Fin
Exercices

Exercice 3
Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ?
Variables A, B : Entier
Début
A←5
B←A+4
A←A+1
B←A–4
Fin
Exercice 4

Quelles seront les valeurs des variables A, B et C après exécution des instructions suivantes ?
Variables A, B, C : Entier
Début
A←3
B ← 10
C←A+B
B←A+B
A←C
Fin
Exercices

Exercice 5
Quelles seront les valeurs des variables A et B après exécution des
instructions suivantes ?
Variables A, B :Entier
Début
A←5
B←2
A←B
B←A
Fin

Exercice 6

écrire un algorithme permettant d’échanger les valeurs de deux


variables A et B, et ce quel que soit leur contenu préalable.
Méthodes de résolution d’un problème

1. Analyse: c’est la phase d’étude, elle consiste à répondre aux 3


questions; (1) qu’est ce que j’ai? (2) qu’est ce que je veux? et (3)
comment faire?
2. Reconstruction: c’est la phase de spécifications des données et du
description du traitement.
3. Codage: c’est la phase de traduction de l’algorithme en un
programme informatique via un langage de programmation.
Les opérateurs

Les opérateurs sont des symboles qui permettent


d'effectuer des opérations.

Exemple:
L’addition et la soustraction sont des opérations,
Elles sont représentées par les opérateurs + et -.
Les opérateurs

. En algorithmique, on peut diviser les opérateurs en 4


familles basiques:
1. les opérateurs d'assignation (ou d'affectation);
2. les opérateurs de calcul (ou arithmétiques);
3. les opérateurs de comparaison;
4. les opérateurs logiques.
Les opérateurs

1. Les opérateurs d’affectation:


Les opérateurs

L’affectation:

Est l’opération par laquelle on attribue une valeur à une


variable, en utilisant l’opérateur d’affectation.

Signifie que la variable A reçoit la valeur 10


Les opérateurs

2. Les opérateurs arithmétiques:

+ : addition
- : soustraction
* : multiplication
/ : division
% : Modulo (reste de la division)
^¨^: puissance (2¨3 vaut 8)
Les opérateurs

3. Les opérateurs arithmétiques:

Le fait d’assigner une nouvelle valeur à


une variable écrase automatiquement
son ancien valeur,
Les opérateurs

3. Les opérateurs de comparaison:

strictement plus grand que… >


plus petit ou égal à… <=
plus grand ou égal à… >=
égal à… =
différent de… <>
strictement plus petit que… <
Les opérateurs

4. Les opérateurs logique:

Permettent d’exécuter des opérations logiques sur des variables ou


expressions booléennes
Les opérateurs logiques utilisés en algorithmiques sont: ET, OU et
NON,
Les opérateurs

• L’opérateur ET indique que les deux expressions


situées avant et après doivent être toutes les deux
vraies pour que l’ensemble le soit aussi.
• L’opérateur OU indique que seule l’une des deux
expressions, que ce soit celle située avant ou celle
située après, doit être vraie pour que l’expression
complète soit vraie aussi.
• Le NON est la négation. Si l’expression était vraie elle
devient fausse, et vice versa.
Les opérateurs

Que produit l’algorithme suivant ?


Variables A, B, C en Caractères
Début
A ← "423"
B ← "12"
C←A+ B
Fin

Que produit l’algorithme suivant ?


Variables A, B, C en Caractères
Début
A ← "423"
B ← "12"
C ← A ET B
Fin
Algorithmique et programmation

Pourquoi apprendre l’algorithmique pour apprendre à


programmer ?
• Parce que l’algorithmique exprime les instructions résolvant un
problème donné indépendamment des particularités de tel ou tel
langage.
• Apprendre l’algorithmique, c’est apprendre à manier la structure
logique d’un programme informatique.
• L’algorithmique utilise un ensemble de mots clés et de structures
permettant de décrire de manière complète, claire, l’ensemble des
opérations à exécuter sur des données pour obtenir des résultats.
Algorithmique et programmation

Fondamentalement, les ordinateurs, quels qu’ils soient, ne comprennent que


quatre catégories d'ordres (d'instructions). Ces quatre familles d'instructions
sont :
1. l’affectation de variables;
2. la lecture / écriture;
3. les tests;
4. les boucles,
Un algorithme informatique se ramène donc toujours à la combinaison de ces
quatre petites briques de base.
Il peut y en avoir quelques unes, quelques dizaines, et jusqu’à plusieurs
centaines de milliers.
La lecture : Instruction d’Entrées (1/3)

▪ L’instruction de lecture permet d’introduire une valeur à l’algorithme. Cette


valeur sera enregistrée dans une variable.
▪ Donc une lecture concerne une variable, puisque la valeur introduite sera mise
dans cette variable.
▪ La syntaxe de l’instruction de lecture est comme suit :
En Algorithmique : Lire(id_var) où <id_var> est un identificateur
d’une variable.
▪ On peut lire plusieurs variables à la fois, en suivant la syntaxe suivante :
En Algo : Lire(id1, id2, …, idn) où <id1>, … <idn> représentent des
identificateurs de variables qui sont séparés par des virgules.
La lecture : Instruction d’Entrées (2/3)

Soit l’exemple suivant (Algorithmique )


Lire(x) Ça veut dire quoi cette
instruction ?
Le sens de cette instruction est comme suit : Lors du déroulement de
l’algorithme, cette instruction indique au processeur qu’il doit attendre une
valeur qui sera saisie par l’utilisateur. Une fois validée, cette valeur sera
Enregistrée dans la variable x (espace mémoire).
Remarques:
Une instruction de lecture concerne uniquement une variable. Cette
dernière va recevoir la valeur saisie par l’utilisateur.
On peut jamais écrire ces instructions : Lire(5); Lire(x+y); Lire(‘a’);
Pourquoi ?
La lecture : Instruction d’Entrées (/3)

▪ Quant-est-ce que nous utiliserons l’instruction de lecture ?


Elaborer une solutions informatique (Algorithme) pour résoudre un problème passe par
plusieurs étapes. Parmi celles-ci, il y a l’étape de modélisation (établir un modèle). En général,
ce modèle est constitué d’un ensemble de variables et des formules mathématiques. Pour avoir
des résultats, on doit tout d’abord introduire les valeurs pour les variables de base (Non
calculées). Donc, nous utiliserons l’instruction de lecture pour introduire ces valeurs.
▪ Prenons comme exemple le calcul de la surface d’un cercle :
On sait que la surface S d’un cercle est calculée comme suit : S=R2
La valeur de  est connue (3.14), mais celle de R (le rayon) n’est pas connue. Donc il
faut donner la valeur de R pour pouvoir calculer la valeur de S.
On aura donc, dans l’algorithme correspondant, l’instruction Lire (R).
L’écriture : Instruction de Sortie (1/3)

▪ L’instruction de l’écriture permet à l’algorithme d’afficher une information (une


valeur fixe, valeur d’une variable ou une valeur calculée à travers une expression).
▪ La syntaxe de l’instruction de l’écriture est :
En Algorithmique :
Écrire(<valeur_fixe>|<id_var>|<expr>) où :
<valeur_fixe> : est une valeur fixe (exmple : 5, 12.5, ‘a’, ‘Erreur’, vrai,
…).
<id_var> : Identificateur d’une variable
<expr> : Expression mathématique (exemple : x + y/2 - 10)
▪ On peut écrire plusieurs objets (valeur, variable, expression) à la fois, en suivant la
syntaxe suivante :
En Algo : Ecrire(<obj1>, <obj2>, …, <objn>) où <obj1>, … <objn>
représentent soit des valeurs fixes, des variables ou des expressions.
L’écriture : Instruction de Sortie (2/3)

▪ Prenons l’exemple suivant :


Écrire (‘Test’); Le sens de cette instruction est comment
suit : Lors de l’exécution de cette instruction, le processeur affichera sur
l’écran la chaîne de caractère Test.
Écrire (a, b) Dans ce cas, le processeur affichera les
valeurs enregistrée dans les variables a et b respectivement.
Écrire (‘a = ’, a, ‘ et b = ’, b)
Si a contient la valeur 8 et b contient la valeur 10, donc aura à l’affichage : a = 8 et
b = 10
L’écriture : Instruction de Sortie (3/3)

▪ Quant-est-ce que l’instruction de l’écriture sera utilisée ?


• La résolution d’un problème donné vise à avoir des résultats (la solution du
problème).
• Ces résultats sont en générale des valeurs calculées et stockées au niveau
des variables. On doit indiquer, à travers l’algorithme qu’il faut montrer ces
résultat. Ceci sera en utilisant l’instruction de l’écriture.

Prenons l’exemple précédent de calcul de la surface d’un cercle. On a vu que la


surface S = 2R. La valeur recherchée sera enregistrée dans la variable S.
Donc, pour l’afficher on utilise l’instruction suivante :
Écrire (S);
Lecture et écriture: résumé

Les fonctions lire() et écrire() permettent de récupérer une valeur

venant de l'extérieur (lecture) ou de transmettre une valeur à l'extérieur

(écriture).

Lecture : saisie (entrée) par clavier;

Ecriture : Affichage sur écran (Moniteur);


Lecture et écriture: exercices

Exercice 1:
Quel résultat produit le programme suivant ?
Variables val, double: réels
Début
Val ← 231
Double ← Val * 2
Ecrire (Val)
Ecrire (Double)
Fin
Exercice 2:
Ecrire un programme qui demande un nombre à l’utilisateur,
puis qui calcule et affiche le carré de ce nombre.
Lecture et écriture: exercices

Exercice 2: corrigé
Ecrire un programme qui demande un nombre entier à
l’utilisateur, puis qui calcule et affiche le carré de ce nombre.

Algorithme ‘calcul du carré’


Variable a: entier
Début
Ecrire (« veuillez entrer un nombre entier »);
Lire(a);
Ecrire (« le carré est : , a*a);
Fin
Lecture et écriture: exercices

Exercice 3:
Ecrire un programme qui demande son prénom à l'utilisateur, et qui lui réponde
par un charmant « Bonjour » suivi du prénom. On aura ainsi le dialogue suivant :

machine : Quel est votre prénom ?


utilisateur : Ahmed
machine : Bonjour, Ahmed! ».

Exercice 4:
Ecrire un programme qui lit le prix HT d’un article, le nombre d’articles et le
taux de TVA, et qui fournit le prix total TTC correspondant. Faire en sorte que
des libellés apparaissent clairement.
Lecture et écriture: résumé

• L’instruction de lecture permet de réaliser les opérations des entrées de

l’algorithme. Elle concerne les variables d’entrées.

• L’instruction d’écriture permet de montrer les résultats d’un algorithme. On

affiche souvent les variables de sorties.

• L’affectation c’est une instruction qui sert à modifier la valeur d’une variable.

Cette valeur est soit fixe (initialisation) ou calculée à travers une expression.

Cette expression permet d’avoir soit le résultat final ou des résultats

intermédiaires.

Vous aimerez peut-être aussi