0% ont trouvé ce document utile (0 vote)
85 vues69 pages

Cours Algorithmique Partie 1

Langage de Programmation ✓ Pour résoudre un problème informatique, on crée souvent un programme pour le résoudre. ✓ Pour créer ce programme, on a recours au: Langage de programmation (C,C++,JAVA,Python,Java Script, etc…) La logique de la programmation est tout simplement l’algorithme

Transféré par

azizennadery
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)
85 vues69 pages

Cours Algorithmique Partie 1

Langage de Programmation ✓ Pour résoudre un problème informatique, on crée souvent un programme pour le résoudre. ✓ Pour créer ce programme, on a recours au: Langage de programmation (C,C++,JAVA,Python,Java Script, etc…) La logique de la programmation est tout simplement l’algorithme

Transféré par

azizennadery
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

SUPTECH SANTE

École Supérieure de Génie Biomédical et des Techniques de Santé.

Algorithmique
Semestre 1

Pr. MAHA REZZAI


[email protected]

Année universitaire: 2023- 2024


Qu’est ce qu’un algorithme?
✓ Il faut savoir que les algorithmes sont présents partout: dans les
ordinateurs, les smartphones, les voitures, la machine à laver,
etc.

✓ A l’apparition de l’informatique et la fabrication des ordinateurs,


l’humain ne traite plus les problèmes d’une façon manuelle, ils
sont traités d’une façon automatique (ordinateurs).

✓ L’ordinateur doit d’abord identifier les instructions et les actions


à réaliser.

Il faut écrire un algorithme


Qu’est ce qu’un algorithme?
✓ Un algorithme, est une suite d'opérations élémentaires, dites
instructions, qui une fois exécutée correctement, conduit à un
résultat donné.

✓ Vous exécutez toujours des algorithmes dans votre vie quotidienne:

• Quand vous faites vos courses au marché;


• Quand vous montrez un chemin à un touriste;
• Quand vous exécutez une recette de cuisine.

Vous créez et exécutez toujours des algorithmes


Langage de Programmation

✓ Pour résoudre un problème informatique, on crée souvent un


programme pour le résoudre.

✓ Pour créer ce programme, on a recours au:

Langage de programmation
(C,C++,JAVA,Python,Java Script, etc…)
Langage de Programmation

✓ Malgré qu’il existe de nombreux langages de programmation, ils


partagent tous le même point commun « la logique ».

La logique de la programmation est tout simplement


l’algorithme
Qu’est ce qu’un algorithme?

✓ Un algorithme est indépendant des langages de programmation.


✓ Il n’est pas destiné à être exécuté par la machine.
✓ Il constitue une ébauche/ schéma détaillé d’un futur programme.
✓ Il peut être représenté sous forme de:
▪ Organigramme: représentation graphique avec des symboles
(carrés, losanges, etc.)
▪ Pseudo-code: représentation textuelle. Il est plus utilisé car il est
plus proche de la structure d’un vrai programme.
Qu’est ce qu’un algorithme?

✓ Exemple:
Ecrire un algorithme qui calcule la division de deux nombre A et B
Qu’est ce qu’un algorithme?
✓ Exemple:
Qu’est ce qu’un algorithme?
✓ Exemple:
Résumé

✓ L'algorithmique est l'étude des algorithmes.


✓ Un algorithme est indépendant de tout langage de
programmation informatique.
✓ Il s'agit d'une suite logique d'opérations (appelées instructions)
qui, exécutées correctement, donnent le résultat attendu.
✓ Un algorithme peut s'écrire sous forme de pseudo-code ou
organigramme.
Objectif du cours

✓ Découvrir les bases de l’algorithmique (variables, opérateurs,


structures conditionnelle et itératives, chaine de caractères,
tableaux,….)

✓ Apprendre á écrire des algorithmes fonctionnels et optimisés.


ALGORITHMIQUE
Les variables et les types

12
Variables /Types de variables

✓ Une variable est une entité dont la valeur peut changer, d’où le nom de
« Variable ».
✓ On peut imaginer que les variables sont des boites qui ont toutes des noms
uniques.
✓ Le contenu de la boite contient tout simplement la valeur de la variable.
✓ En réalité, les boites (variables) sont des cases mémoires.
✓ Avant de manipuler une variable, il faut définir son type.
✓ Le type représente la taille et les caractéristiques de la boite.
Variables /Types de variables

Règles á retenir

✓ Une variable doit être déclarée avant d’être utilisée.


✓ Elle est caractérisée par :
• Un nom (Identifiant),
• Un type qui indique l’ensemble des valeurs que peut prendre la
variable (entier, réel, booléen, caractère, chaîne de caractères, …),
• Une valeur.
Variables /Types de variables

✓ Le nom de la variable (l’identifiant) doit commencer par un caractère


alphabétique.

✓ Conseil
Pour la lisibilité du code, on choisit des noms significatifs qui décrivent les
données manipulées.

✓ Exemples:
Var123
NoteEtudiant
Prenom
numero_de_telephone
Variables /Types de variables
✓ Les entiers sont des nombres qui s’expriment sans virgule.
✓ Ils peuvent être positifs ou négatifs.

✓ Les réels sont des nombres qui s’expriment avec une virgule (virgule flottante).

✓ Les booléens représentent un type qui n’accepte que l’une des deux valeurs
« vrai » ou « faux », soit 1 ou 0.

✓ Type caractère représente les lettres majuscules, minuscules, chiffres,


symboles,..
Exemples : ’A’, ’b’, ’1’, ’?’

✓ Les chaines de caractères représentent une suite de caractères.


✓ Il s’agit tout simplement d’un texte.
Exemples: " " , " Nom, Prénom", "code postale: 1000"
Déclaration des variables

✓ Rappel: toute variable utilisée dans un programme doit faire l’objet


d’une déclaration au préalable.

✓ En pseudo-code, la déclaration de variables est effectuée de la


manière suivante :
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
Constante

✓ 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.
✓ Par convention, les noms de constantes sont en majuscules.
✓ En pseudo-code:
Constante identificateur=valeur : type
✓ Une constante doit toujours recevoir une valeur dès sa déclaration.
✓ Exemple
Pour calculer la surface des cercles, la valeur de pi est une constante mais le rayon
est une variable.
Constante PI=3.14 : réel
Déclaration des variables

Algorithme Nom_de_l_algo
Variables
variable1, variable2 : type
variable3, variable4 :type
Début
LISTE DES INSTRUCTIONS
Fin
Résumé

✓ Dans un algorithme (ou programme informatique), les variables servent à


stocker des données (ou valeurs).
✓ Avant d'utiliser une variable au sein d'un algorithme on doit définir son
type qui peut être entier, réel, booléen ou chaîne de caractères.
✓ L'identifiant de la variable peut être composé de caractères alphabétiques,
numériques et doit commencer par un caractères alphabétique
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 operateurs + et -
Les types d’opérateurs

✓ Opérateurs d’assignation/ d’affectation.


✓ Opérateurs de calcul / arithmétiques.
✓ Opérateurs de comparaison.
✓ Opérateurs logiques.
Opérateurs d’affectation

✓ L’affectation consiste à attribuer une valeur à une variable (c’est-


à-dire remplir ou modifier le contenu d'une zone mémoire).

✓ En pseudo-code, l'affectation est notée par le signe ←


Var← e : attribue la valeur de e à la variable Var
o e peut être une valeur, une autre variable ou une expression
o Var et e doivent être de même type
o l’affectation ne modifie que ce qui est à gauche de la flèche
✓ Exemples i ←1 j ←i k ←i+j
x ←10.3 OK ←FAUX ch1 ←"SMI"
ch2 ←ch1 x ←4 x ←j
(avec i, j, k : entier; x :réel; ok :booléen; ch1,ch2 :chaine de caractères)
Opérateurs d’affectation
Opérateurs d’affectation

✓ Exercice 1:
Donnez les valeurs des variables A, B et C après exécution des instructions
suivantes:

Variables
A, B, C: Entier
Début
A←7
B ← 17
A←B
B ← A+5 C ← A + B C ← B – A
Fin
Opérateurs d’affectation

✓ Exercice 2:
Donnez les valeurs des variables A et B après exécution des instructions
suivantes:

Variables A, B : Entier
Début
A←6
B←2
A←B
B←A
Fin
Les deux dernières instructions permettent-elles d’échanger les valeurs de A et
B?
Opérateurs d’affectation

✓ Exercice 3:
Écrire un algorithme permettant d’échanger les valeurs de deux
variables A et B ?

Réponse :
on utilise une variable auxiliaire C et on écrit les instructions suivantes :
C←A, A←B, B← C,
Opérateurs arithmétiques

+ Addition
- Soustraction
* Produit
/ Division
% Modulo (reste de la division)
div Division entière (retourne le résultat sous forme entière)
^ Puissance (2 ^ 3 vaut 8)
Opérateurs arithmétiques

✓ Exercice:
Donnez les valeurs des variables A, B et C après exécution des instructions
suivantes:

Variables A, B, C : Entier
Début
A ← 10
B←2
C ← A+B
C ←A / B
C ← A%B
Fin
Opérateurs arithmétiques

✓ Exercice:
Donnez La valeur de la variable A après exécution des instructions suivantes:

Variables A: Entier
Début
A ← 10
A ← A+1
A ← 10+2*5-1
A ←10+2*(5-1)
Fin
Opérateurs arithmétiques
Remarque
✓ On ne peut pas additionner un entier et un caractère.
✓ La signification d’un opérateur peut changer en fonction du type
des opérandes:
l’opérateur + avec des entiers effectue l’addition➔ 3+6 vaut 9
l’opérateur + avec des chaînes de caractères effectue la
concaténation ➔ "bonjour" + " tout le monde" vaut "bonjour tout
le monde"
Opérateurs de comparaison

= Egalité des valeurs


< Strictement inférieur
> Strictement supérieur
<= Inférieur ou égal
>= Supérieur ou égal
<> Diffèrent
Opérateurs logiques

✓ Les opérateurs logiques quand à eux permettent d’exécuter les


opérations logiques sur des variables ou expressions booléenne.
✓ Les opérateurs logiques utilisés en algorithmique sont:
ET (&&), OU (||) et NON (!)

✓ Exemple: A ←10 B ←2
A>B ET A<20 (VRAI)
Opérateurs logiques
Résumé

✓ Les opérateurs dans un algorithme sont des symboles qui permettent


d'effectuer des opérations.
✓ En algorithmique, il y a les opérateurs d'assignation (ou d'affectation), les
opérateurs de calcul (ou arithmétiques), les opérateurs de comparaison et les
opérateurs logiques.
✓ Les opérateurs utilisés dans les langages de programmation informatiques sont
presque les mêmes quelque soit le langage.
✓ L'affectation (ou assignation) permet d'assigner (affecter) une valeur à une
variable.
Lecture et écriture

✓ Il s’agit d’un algorithme qui exécute une


opération d’addition.
✓ Cet algorithme ne sert pas à grand-
chose, car on connait très bien que la
valeur de C est toujours 30.
✓ Un programme informatique est
vraiment utile quand il peut interagir et
dialoguer avec l’utilisateur.
✓ Un Utilisateur c’est la personne qui
exécute le programme, il ne s’agit pas
forcément du programmeur.
Lecture et écriture

✓ Cette interaction est traduite de la façon suivante:


o Le programme affiche des messages à l’écran pour que
l’utilisateur puisse les lire.
o L’utilisateur soumet au programme des données qu’il a saisi,
afin de les traiter.
✓ Un algorithme prend en charge ces deux fonctions: la lecture et
l’écriture.
Lecture et écriture

✓ Supposons maintenant qu’on veut améliorer l’algorithme qu’on


vient de voir ➔ L’utilisateur doit saisir la valeur de A et B .

✓ Dans ce cas la valeur de C changera en fonction des entrées de


l’utilisateur.

✓ Première étape consiste à demander à l’utilisateur de fournir les


données nécessaires à l’exécution de l’opération souhaitée.
Lecture et écriture

✓ Les instructions de lecture et d'écriture permettent à la machine de


communiquer avec l'utilisateur.
✓ L'écriture permet d'afficher des message à l'écran.
✓ En pseudo-code, on note: écrire (liste d’expressions).
✓ La machine affiche les valeurs des expressions décrite dans la liste.
✓ Ces instructions peuvent être des variables ayant des valeurs, des nombres ou
des commentaires sous forme de chaines de caractères.
✓ Exemple: Ecrire (‘veuillez entrer un nombre entier:’)
Lecture et écriture

✓ La lecture permet d'entrer des donnés à partir du clavier.


✓ Une fois la valeur demandée est soumise au programme celui-ci doit la
récupérer => on fait appel à la fonction lire:
✓ En pseudo-code, on note: lire (var).
✓ La machine met la valeur entrée au clavier dans la zone mémoire
nommée var.
Lecture et écriture

Remarque
1. 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 saisir.
2. Pour évaluer une variable, c’est-à-dire pour la remplacer par sa valeur lors de
l’affichage, il faut toujours la mettre en dehors des simples quotes.
Ecrire(C) // Le programme va afficher la valeur affectée à la variable C,
ecrire (‘C’) // Le programme va afficher la lettre C,
Lecture et écriture

✓ Exercice
Quel résultat produit l’algorithme suivant ?
Lecture et écriture

✓ Exercice
1. Ecrire un algorithme qui calcule la somme de quatre nombres du type entier entrés
au clavier:
• En se servant de 5 variables (mémorisation des valeurs entrées)
• En se servant de 2 variables (perte des valeurs entrées)
2. Ecrire un algorithme qui demande deux nombres à l’utilisateur, puis qui calcule et
affiche le produit de ces deux nombres.
Résumé

✓ La lecture et l'écriture rendent un algorithme (ou programme informatique)


interactif.
✓ En algorithmique, on utilise les fonctions Lire() et Ecrire() qui permettent cette
interaction.
✓ Lire() récupère les entrées de l'utilisateur (au clavier).
✓ Ecrire() affiche des messages à l'écran.
✓ Ces deux fonctions implémentent l'interaction homme-machine dans un
algorithme.
Chaines de caractères

✓ Une chaine de caractère est un texte.


✓ Il s’agit d’une suite de caractères qui peuvent représenter des entités
comme: prénom, adresse email, citation, etc.
✓ En pseudo-code, on note:
Variables MaVariable: Chaine de caractères
Ou
Variables MaVariable: Chaine
Chaines de caractères

Exemple
✓ Ecrire un algorithme qui demande à l’utilisateur de saisir son nom et
son prénom.
✓ Affiche à l’écran le nom complet de celui-ci.
Chaines de caractères

✓ Solution
Chaines de caractères
Exemple
✓ Nous désirons maintenant d’ajouter une troisième variable à
l’exemple précèdent, nommée ‘nom-complet’.
✓ Son rôle est d’acceuillir le résultat de concaténation du nom et
prénom avec l’espace du milieu.
✓ Indication: Utilisation de l’opérateur de concaténation de chaines de
caractères : &
✓ Cet operateur est valable aussi en dehors de la fonction Ecrire.
Chaines de caractères

✓ Solution
Chaines de caractères

✓ Remarque : En langage de programmation, il existe une multitude de


fonction qui traite et manipule les chaines de caractères.
✓ En algorithmique, on aura besoin que de la fonction longueur(), qui
permet de calculer le nombre de caractères présents dans une chaine
spécifiée entre ses parenthèses.
longueur(‘bonjour') ------ renvoie la valeur7
✓ Ecrire un algorithme qui calcule et retourne la taille d’une chaine
de caractère saisie par l’utilisateur.
Chaines de caractères

✓ Solution
Résumé

✓ Une chaîne de caractères est un type de variable qui peut


représenter des entités.
✓ On peut concaténer les chaînes de caractères à l'aide de l'opérateur
de concaténation &.
✓ Pour connaitre la taille d'une chaine de caractères on utilise la
fonction longueur().
Structures de contrôle

✓ Les structures de contrôle décrivent l’enchaînement des instructions.


✓ Les structures de contrôle englobent:
o Les structures séquentielles
o Les structures conditionnelle
o Les structures itératives
Structures conditionnelles

Exemple
Une personne au volant de sa voiture, quand elle arrive à un carrefour
à feux, trois possibilités sont envisageables:
Structures conditionnelles

Le feu est vert


Le conducteur continue à rouler
Le feu est rouge
Le conducteur s’arrête
Le feu est orange
Selon la situation, le conducteur peut soit s’arrêter ou continuer
à rouler
Structures conditionnelles

Exemple (suite)
✓ Dans ce cas le conducteur doit exécuter un algorithme qui traite ces
différents cas de figures.
✓ On parle d’un traitement conditionnel dont le résultat change en
fonction de la condition qui est vrai.
Structures conditionnelles

✓ En algorithmique, on peut aussi remplacer le terme CONDITION par


PREDICAT.
✓ En pseudo-code, on écrit:
Structures conditionnelles

✓ Le mot clé SI permet d’énoncer la condition.


✓ Cette condition sera évaluée pour juger si elle est vraie ou non.
✓ Si elle est vraie, alors on exécute le Traitement 1, en d’autre terme :
l’ensemble des instructions prévues dans ce cas.
✓ Sinon, c’est-à-dire la condition n’est pas vraie, alors on exécute le
Traitement 2.
✓ On met fin à la structure conditionnelle à l’aide du mot clé FinSi.
Structures conditionnelles

Notion de PRÉDICAT
✓ Un prédicat est un énoncé ou proposition qui peut être vrai ou faux

✓ Exemple :
o (10 < 15) est un prédicat vrai
o (10 < 3) est un prédicat faux
Structures conditionnelles

Evaluation d'une expression logique


✓ Une condition est une expression de type logique.
✓ Deux valeurs possibles VRAI et FAUX.
✓ Revoir les tables de vérité.
Résumé

✓ Les conditions (ou structures conditionnelles connues sous le nom


si-sinon-finsi ).
✓ Certaines instructions ne s'exécutent que si des conditions sont
satisfaites.
✓ Les conditions peuvent être imbriquées à l'instar du reste des
structures de contrôles.
Structures conditionnelles à choix multiples

✓ Structures conditionnelles à choix multiples Selon ou Cas (ou


structures sélectives connues sous Switch case.
✓ Elle sélectionne entre plusieurs choix à la fois, et non entre deux
choix alternatifs.
✓ Représentation simplifiée des conditions imbriquées (Si –sinon si…).
Structures conditionnelles à choix multiples

✓ En pseudo-code, on écrit:
Structures conditionnelles à choix multiples

✓ Le Sélecteur représente généralement une variable.


✓ Cette variable peut avoir plusieurs valeurs.
✓ Selon la valeur qui lui est attribuée, un traitement diffèrent s‘en suit.
✓ Si aucune des valeurs n’est attribuée au Sélecteur, le bloc ‘Sinon’ est
exécuté.
Structures conditionnelles à choix multiples

✓ Exemple:
Ecrire un algorithme qui permet de représenter les chiffres de 1 à 5
sous forme de mots.
 Pour le chiffre 1 on affichera le mot ‘Un’, etc.

En utilisant le Si imbriqué et les structures à choix multiples.


Structures conditionnelles à choix multiples
Structures conditionnelles à choix multiples
Structures conditionnelles à choix multiples
Remarque
✓ On peut écrire la structure selon de différentes manières.
Résumé

✓ Les structures conditionnelles à choix multiples Selon ou Cas (ou


structures sélectives connues sous switch case) servent à:
o Remplacer les structures conditionnelles imbriquées,
o Simplifier l'écriture des instructions.
✓ Les structures sélectives permettent de vérifier le cas qui est vrai et
exécuter le traitement qui lui est associé.

Vous aimerez peut-être aussi