Fondamentaux du langage
algorithmique
Fonctionnement de l’Ordinateur
Mémoire Processeur
UC
UAL
Bus
...
Unités E/S Imprimante Écran
Disque
Informatisation d’un problème
Besoin non précis : Problème informel
Spécifications
Besoin précis : Problème formel
Analyse
Algorithme
Programmation
Langage de programmation : C, Python,
Compilation et
Java, …
édition des liens
Exécution programme
Exécution
Obtention des résultats
Définition d’un algorithme
Un algorithme est une suite finie de règles à appliquer ou
d’instructions à exécuter dans un ordre déterminé à un nombre fini
de données pour arriver, en un nombre fini d'étapes, à un certain
résultat, et cela indépendamment des données initiales.
Formalisme algorithmique
Pour écrire des algorithmes, il est conseillé d’adopter un formalisme donné.
Le formalisme utilisé pour la rédaction d’algorithme est un pseudo-langage
qui est conçu pour résoudre les problèmes et applications sans aucune
contrainte liée aux langages de programmation (C, Perl, Java, …) et aux
spécificités de la machine.
Ce pseudo-langage sera ensuite traduit et codé dans le langage de
programmation désiré.
Langage de programmation
On appelle langage de programmation tout ensemble fini de mots réservés
qui permet de traduire les instructions de l’algorithme afin de les exécuter
par un système informatique (Ordinateur, …).
Exemples
C, C++, C#, Java, Python, Perl, etc...
Programme source
Le programme source est le premier résultat de la
traduction d’un algorithme dans un langage évolué :
Un nouvel ensemble d’instructions non exécutables
directement par la machine
Compilateur
Un compilateur est un programme spécial qui permet de traduire un
programme source en un programme exécutable :
Le programme ainsi obtenu est appelé
programme Objet
Un programme source soumis au compilateur passe en règle générale par
deux phases :
▪ Une analyse syntaxique
▪ Une analyse sémantique
Structure générale d’un algorithme
Titre du Problème
✓ Déclaration des Constantes
Déclaration ✓ Déclaration des Variables
✓ Déclaration des Tableaux
✓ Déclaration des Procédures et Fonctions
Début
Traitement Actions
FIN
Structure générale d’un algorithme
Démarche à suivre pour résoudre un problème donné:
▪ Identifier les données du départ (entrées) et celle(s) qu’il faut obtenir
(sorties);
▪ Structurer les données (variables ou constantes, type...);
▪ Réfléchir pour déterminer les action nécessaires à l’obtention des
résultats ;
▪ Présenter les résultats.
Déclaration des Objets
Les objets manipulés
Un objet est toute partie identifiable de l’information au cours d’un
traitement.
Il est caractérisé par son nom, son type et sa valeur.
L’ensemble des objets manipulés par un algorithme est appelé:
environnement de cet algorithme
Remarque
Les objets manipulés par un ordinateur sont :
Les Constantes et Les Variables
Les constantes
Les constantes désignent des références à des valeurs invariantes
dans le programme
Syntaxe de la déclaration
Constante Nom_Constante = Valeur
Exemple
Constante Pi = 3.14
Les variables
Ce sont des références (adresses mémoires) où vont être stockées
des valeurs variables.
Les différentes valeurs d’une référence vont appartenir au type de
données auquel appartient la référence.
Remarques
1°- Le nom d’une variable suite de caractères qui permet d’identifier la variable
d’une manière unique dans un algorithme.
2°- Il existe différents types de variables.
Type Entier
C’est l’ensemble des nombres entiers positifs ou négatifs.
Syntaxe de la déclaration
ENTIER : variable1, variable2, …
Exemple
ENTIER : a, b
a et b sont, par exemple, les coefficients de l’équation : ax + b = 0
Type Réel
C’est l’ensemble des nombres réels, c’est à dire les nombres décimaux sans
limitation.
Syntaxe de la déclaration
REEL : variable1, variable2, …
Exemple
REEL : x,y
Type Chaîne de caractères
C’est une suite de caractères, c’est à dire des combinaisons
de caractères (lettres, chiffres, symboles..).
Syntaxe de la déclaration
CHAINE : variable1, variable2, …
Exemple
CHAINE : Nom, Adresse
Type Booléen
Il s’agit des objets qui ne peuvent prendre que deux valeurs vrai ou faux.
Syntaxe de la déclaration
BOOLEEN : variable1,variable2,…
Exemple
BOOLEEN : reponse
Autres objets à déclarer
Objet : Type Tableau
Un tableau permet de représenter un ensemble de valeurs ayant des
propriétés communes et appartenant toutes à un même type.
Ces variables sont identifiées par un même nom mais un numéro de
repère pour chacun d'eux, appelé indice ou index.
Autres objets à déclarer
Les Fonctions et Les Procédures
Ce sont des sous-programmes auxquels on peut faire référence à
l’intérieur d’un programme .
Ils sont conçus pour éviter les répétitions et pour découper des
programmes jugés trop longs; ce qui facilite la lisibilité du programme
principal.
Les sous-programmes sont également un outil puissant de productivité.
Manipulation et traitement des
Objets
Instructions & actions
Définition
On appelle instruction toute commande élémentaire que l’on doit
appliquer sur des objets pour avoir des sorties bien définies.
Définition
Une action est un événement qui change l’état d’un objet d’un état initial
donné à un état final désiré. Une action a une durée d’exécution finie et un
effet propre et bien défini.
Chaque action porte sur des objets sur lesquels elle s’exécute.
L'Action est une seule instruction ou un groupe d’instructions
La Structure de la partie manipulation
La partie manipulation doit commencer par le mot DEBUT et se
termine par le mot FIN
DEBUT
Instruction 1
Instruction 2
……. Action
…….
Instruction n
FIN
Les instructions d’un Algorithme
La partie manipulation utilise les différents objets déclarés dans la partie
déclaration et leur applique des opérations afin de retourner le(s) résultat(s)
attendu(s) par le programmeur.
Pour ce fait, il y a différentes actions, dites instructions, à savoir :
▪ Instructions de dialogue Homme-Machine (E/S);
▪ Instructions d’affectation ;
▪ Instructions à structure alternative ;
▪ Instructions à structure répétitive.
▪ Etc…
Instructions de dialogue Homme-Machine (E/S)
Ecriture et affichage des résultats
Pour faire comprendre qu’il faut afficher des informations à l’écran, on
utilise l’instruction écrire qui obéit à la syntaxe suivante :
AFFICHER (Variable ou "Message" )
Exemples
AFFICHER (" Saisissez la valeur de a ")
AFFICHER (" Saisissez la valeur de b ")
AFFICHER (" Saisissez les valeurs de a et b ")
AFFICHER ("Le résultat trouvé est :", result)
AFFICHER (result)
Instruction Homme-Machine
Saisie des informations
Pour indiquer dans un algorithme que telle donnée doit être lue par le
système, on utilise l’instruction de lecture "SAISIR" qui obéit à la
syntaxe suivante :
SAISIR (Variable)
Exemple
AFFICHER (" Saisissez la valeur de a : ")
SAISIR (a)
Instruction d’affectation
Définition
C’est le stockage d’une valeur à un endroit spécifique(variable).
Pour affecter une valeur à une variable, on écrit :
Variable Valeur
Exemple Variable valeur 1 + valeur 2
Variable valeur 1 * valeur 2
Variable valeur + Variable1
Remarques générales sur les constantes et les
variables
◼ Les variables sont des références (adresses mémoires) où vont être
stockées des valeurs qui peuvent changer au cours de l’exécution du
programme.
◼ Les mémoires sont repérées par des numéros ou adresses (pour
l’ordinateur) ou des noms (pour le programmeur, qui a intérêt à choisir des
noms significatifs).
◼ Chaque fois qu’on procède à une nouvelle affectation, l’ancien contenu de la
mémoire est perdu et un nouveau contenu est placé dans la mémoire.
◼ Les constantes correspondent à des zones mémoires dont le contenu ne
peut pas varier.
Application
Quels résultats produit l’algorithme suivant ? Les types de variables sont-ils
corrects
Déclarations
Titre : Calcul
ENTIER : A
REEL :C,B
CHAINE : D
BOOLEEN : E
DEBUT
A ← 30
B←A*2
AFFICHER("B=" , B)
Traitements
C ← (B + A)/4
B←C/5
D ← "Jean"
E ← (A > 40) OU (C < B)
AFFICHER('les valeurs obtenues sont : "A = " , A ,
"B = " ,B , " C = ", C , " D = ", D, " E = ", E)
FIN
États de la mémoire lors de l’exécution du
programme
Instruction A B C D E
Après l’instruction
A ← 30
30 — — — —
Après l’instruction
B ← A*2
30 60 — — —
Après l’instruction
C ← (B + A)/4
30 60 22.5 — —
Après l’instruction
B ← C/5
30 4 .5 22.5 — —
Après l’instruction
D ← ‘Amine'
30 4 .5 22.5 Amine —
Après l’instruction
E ← (A > 40 ) Ou (C< B)
30 4 .5 22.5 Amine Faux
Exercice d'application 1
Énoncé ou besoin
Écrire l’algorithme permettant le calcul de la surface d’un
cercle connaissant son rayon :
Surface = * Rayon2
Entrée : Manipulation Sortie :
La valeur du rayon La Surface calculée
Proposition d'algorithme
Titre : Surface d’un cercle
Déclaration
Constante Pi=3.14
REEL : Rayon * Donnée d’entrée*
REEL : Surface * Donnée de sortie*
Traitement
DEBUT
AFFICHER ( 'Saisir la valeur du rayon' )
SAISIR (Rayon)
Surface ⎯ Rayon * Rayon * Pi
AFFICHER (' La Surface du cercle est : ', Surface)
FIN
Exercice d'application 2
Écrire l’algorithme qui permet de déterminer le salaire mensuel d’un
commercial sachant que ce salaire comporte un montant fixe de 4000 € et
une commission qui représente 10% du chiffre d’affaire réalisé par mois.
Ce qu’il faut faire
- Analyse du problème
Recenser les données dont on dispose, celles qu’on cherche à produire
Choisir les actions à utiliser pour résoudre le problème
- Présentation de l’algorithme
* Déclarer toutes les données utilisées (variables, constantes, types)
* Organiser les actions
* Présenter les résultats
Algorithme
Titre : Commission
Déclaration :
Constante M = 4000
REEL : CA * Donnée d’entrée*
REEL : Com * Donnée intermédiaire*
REEL : Sal * Donnée de sortie*
Traitement :
DEBUT
AFFICHER ('Donner le CA mensuel en €')
SAISIR(CA)
Com ⎯ CA * 10/100
Sal ⎯ Com + M
AFFICHER ('Le salaire mensuel est de : ', Sal, ' en € ' )
FIN
Problème
Écrire un algorithme qui calcule la moyenne générale d’un étudiant
sachant que celle-ci se calcule de la manière suivante :
Moyenne = [ 3 * Note(Maths) + 2* Note(Physique) + Note(LCI)] / 6