0% ont trouvé ce document utile (0 vote)
73 vues36 pages

Fondamentaux du langage algorithmique

Cours sur l'algorithmie

Transféré par

k.pintureau
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)
73 vues36 pages

Fondamentaux du langage algorithmique

Cours sur l'algorithmie

Transféré par

k.pintureau
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

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

Vous aimerez peut-être aussi