Vous êtes sur la page 1sur 15

ISET Sfax Département Génie Mécanique 2017-2018

Chapitre 1 : Algorithmique et structures de données

I. Définitions :

L'algorithme est le résultat d'une démarche logique de résolution d'un problème pour
la mise en œuvre pratique sur ordinateur et afin d'obtenir des résultats concrets il faut
passer par l'intermédiaire d'un langage de propagation.

Un algorithme décrit une succession d'opérations qui, si elles sont fidèlement


exécutées, produiront le résultat désiré.

Un algorithme est une suite d'actions que devra effectuer un automate pour arriver en
un temps fini, à un résultat déterminé à partir d'une situation donnée. La suite d'opérations
sera composée d'actions élémentaires appelées instructions.

a) Qu'est ce que l'Algorithmique ?


C'est la logique d'écrire des algorithmes. Pour pouvoir écrire des algorithmes, il faut
connaître la résolution manuelle du problème, connaître les capacités de l'ordinateur en
terme d'actions élémentaires qu'il peut assurer et la logique d'exécution des instructions.

b) Les étapes de résolution d'un problème


1) Comprendre l'énoncé du problème

2) Décomposer le problème en sous-problèmes plus simple à résoudre

3) Associer à chaque sous problème, une spécification :

 Les données nécessaires

 Les données résultantes

 La démarche à suivre pour arriver au résultat en partant d'un ensemble de

données.

4) Elaboration d'un algorithme.

Algorithme et SD Mme Raoudha Abid Djemal Page 1 sur 15


ISET Sfax Département Génie Mécanique 2017-2018

II. Structure d'un algorithme

ALGORITHME nom_de_l'algorithme
CONST
Définition des constantes
TYPE
Définition de types
VAR
Déclaration de variables
DEBUT
Suite d'instructions
FIN

III. Les constantes et les variables

a. Les variables

Une variable est un objet dont la valeur change c’est à dire qu’elle peut être modifiée au
cours de l’exécution. Toute variable est définie par :
- un nom qui sert à la distinguer et qui commence par une lettre,
- un type qui décrit l’utilisation possible de la valeur.
Exemple : Y : entier ; Montant : réel ; Prénom : caractère...

b. Les constantes

Une constante est un objet de valeur invariable c’est à dire qu’elle ne change pas au cours de
l’exécution.
Exemple : Y=5 ; B= "Ali"....

IV. Les types de données élémentaires

a. Le type entier

Ce type est associé aux objets prenant leurs valeurs de l’ensemble des entiers relatifs. Un
objet de type entier peut être positif, négatif ou nul.
Exemple : -69 ; +3 ; -15 ; 0 ;....

Algorithme et SD Mme Raoudha Abid Djemal Page 2 sur 15


ISET Sfax Département Génie Mécanique 2017-2018

b. Le type réel

Il correspond aux objets qui prennent leurs valeurs de l’ensemble des nombres réels.
Exemple : 36,258 ; 0,59 ; ...

c. Le type caractère

Ce type permet de définir des objets représentant un élément pris de l’ensemble des
caractères éditables (lettres majuscules, minuscules, de ponctuation...).
Exemple : ‘ C’ ; ‘ ? ‘ ; ‘ ‘ ; ...

d. Le type chaîne

Ce type est une extension du précédent. Un objet de type chaîne est constitué d’une suite
d’objets de type caractère.
Exemple : "Client" ; "Bonjour"

e. Le type logique

C’est l’ensemble des 2 valeurs logiques vrai et faux (1 ou 0). Une variable de type logique
a toujours l’une de ces deux valeurs.

V. Les opérateurs

a. Les opérateurs de comparaison (opérateurs relationnels)

Pour comparer deux variables de type alphanumérique, on utilise les opérateurs


relationnels : < ; > ; <> ; = ; <= ; >=

b. Les opérateurs logiques

Ces opérateurs sont utilisés avec les nombres binaires.


Intersection : ET ; réunion : OU ; négation : NON

c. Les opérateurs arithmétiques

On distingue les fonctions et les opérateurs.


 Les fonctions
- La fonction DIV permet de donner le résultat de la division entière d'un nombre par un
autre.
7 DIV 2 = 3

Algorithme et SD Mme Raoudha Abid Djemal Page 3 sur 15


ISET Sfax Département Génie Mécanique 2017-2018

- La fonction MOD (Modulo), permet de donner le reste de la division entière d'un entier
par un autre. 7 MOD 2 = 1
- La fonction ENT (se lit partie entière) permet d’extraire la partie entière d’un réel.
ENT (3,5) =3
- La fonction ** permet d'élever un nombre à la puissance d'un autre.
2 ** 3=8
 Les opérateurs
Addition : + ; soustraction : - ; division : / ; multiplication : *
Ordre de priorité
Les opérateurs suivants sont ordonnés du plus prioritaire au moins prioritaire dans
l'évaluation d'une expression arithmétique.
1- Les parenthèses
2- "- " le signe moins
3- Les fonctions
4- Les opérateurs de multiplication " * " et de division " / "
5- Les opérateurs d'addition " + " et de soustraction " - "
Remarque :
Si l'ordre entre les opérateurs dans une expression est le même, on évalue l'expression de
gauche à droite.
Exemples :
3**2+4 = 9+4=13
3**(2+4)=3**6 car les parenthèses sont plus prioritaires
17 MOD 10 DIV 3=(17MOD10)DIV3=7DIV3=2

Algorithme et SD Mme Raoudha Abid Djemal Page 4 sur 15


ISET Sfax Département Génie Mécanique 2017-2018

Chapitre 2 : Les actions algorithmiques simples

1) L'affichage : ECRIRE
Cette action permet de communiquer un résultat ou un message sur écran ou sur
imprimante pour l'utilisateur.
Syntaxe
ECRIRE (paramètre1 [[,paramètre2]…])
Paramètre = variable | expression | constante
Constante = nombre | message
Exemples
ECRIRE(" La valeur de 3*2 est égale à ", 3*2)
message , expression
ECRIRE(" La moyenne est = ", MOY)
Message , Variable
2) La saisie des données : LIRE
L'ordre LIRE permet à l'ordinateur d'acquérir des données à partir de l'utilisateur, dans
des cases mémoire bien définies (qui sont les variables déclarées).
Rappel : Les variables sont des cases mémoire, supposées contenir un type de
données, nommées par le nom de variable.
Syntaxe
LIRE(variable1 , variable2 …)

Remarque :
• La saisie se fait uniquement dans des variables. Ce sont les cases (cellules) qui
pourront accueillir les données correspondantes.
• La donnée à introduire doit être de même type que la variable réceptrice.

5. L'affectation
C'est l'action de charger une valeur dans une variable. Cette valeur peut elle-même être
une variable, le résultat d'une expression arithmétique ou logique ou une constante.
Syntaxe
Variable1 ← variable2 | expression | constante

A ← B se lit " A reçoit B "

Algorithme et SD Mme Raoudha Abid Djemal Page 5 sur 15


ISET Sfax Département Génie Mécanique 2017-2018

Le résultat de cette action est de mettre le contenu de la variable B dans la variable A.


Si B était une expression, elle aurait été évaluée, ensuite sa valeur est transférée dans la
variable réceptrice (à notre gauche).

Remarque
L'affectation ne vide pas la variable émettrice (à notre droite) de sa valeur. Par contre,
le contenu de la variable réceptrice est écrasé Supposons qu'on ait deux récipients A et B
où A contient un liquide coloré en jaune et B contient un liquide rouge.
Peut-on échanger les contenus de A et de B (c-à-d mettre le liquide rouge dans A et le
liquide jaune dans B).
Résultat
Cette opération n'est possible que si on utilise un troisième récipient qu'on appelle
récipient auxiliaire.
Avec des variables réelles, cette opération d'échange de contenu se fait entre cases
mémoires qui représentent les conteneurs (récipients).

Remarques Importantes
 Toute variable utilisée dans un algorithme doit être déclarée au début de
l'algorithme, une fois et une seule.
 L'affectation de valeur à une variable peut être effectuée autant de fois que l'on veut
au cours d'un algorithme. La valeur de la variable sera alors modifiée à chaque affectation.
 Lorsqu'une variable apparaît en partie droite d'une action d'affectation, c'est que
l'on suppose qu'elle contient obligatoirement une valeur. Cette valeur devra lui avoir été
affectée auparavant (par initialisation ou saisie), sinon l'on dira que la valeur est indéfinie,
et le résultat de l'affectation ne sera pas défini.
 La variable réceptrice d'une affectation doit être de même type que de la valeur à
affecter ou de type compatible. Le type est dit compatible s'il est inclus dans le type de la
variable réceptrice. Exemple : REEL  ENTIER est possible mais pas l'inverse.

Algorithme et SD Mme Raoudha Abid Djemal Page 6 sur 15


ISET Sfax Département Génie Mécanique 2017-2018

Chapitre 3 : Les structures Conditionnelles

Les structures de choix permettent d’exprimer la possibilité de choisir parmi deux ou plusieurs
possibilités en fonction des valeurs de certains paramètres.
a) Structure Si … Alors … Fin Si
Cette structure est dite alternative simplifiée.
Syntaxe :
Si <condition>
Alors
<Actions >
Fin si
Organigramme équivalent

Condition

Oui Non
Vrai
Action

Suite du programme

b) Structure Si … alors … Sinon … Fin Si


Cette structure est dite alternative imbriquée qui permet d’effectuer un choix parmi deux
possibilités.

Syntaxe :
Si <condition >
Alors
<Suite d’actions 1>
Sinon
<Suite d’actions 2>
Fin Si

Algorithme et SD Mme Raoudha Abid Djemal Page 7 sur 15


ISET Sfax Département Génie Mécanique 2017-2018

Organigramme équivalent

Condition

Oui Non
Vrai
Suite section 1 Suite section 2

Suite du programme

Application (Si … alors)


Ecrire un algorithme qui calcule et affiche le montant à payer sachant le prix du produit et la
quantité achetée, le taux de la TVA étant fixé à 22 %. Pour un achat dépassant 100 DT, une
remise de 5 % est accordée.
Solution:
ALGORITHME Remise
VAR
PU, qté : réel
Mont : réel
DEBUT
Ecrire ("Donner le prix unitaire" )
Lire (PU )
Ecrire ("Donner la qté " )
Lire (qté)
Mont (PU * qté) *1.22

Si (Mont >= 100) alors


Mont Mont * 0.95
Fin Si
Ecrire (" le montant à payer est : " , Mont)
FIN

Algorithme et SD Mme Raoudha Abid Djemal Page 8 sur 15


ISET Sfax Département Génie Mécanique 2017-2018

Application (Si … alors … Sinon)


Ecrire un algorithme qui permet de lire deux entiers, et d’afficher le maximum.
Solution:
ALGORITHME Maximum
VAR
Max, P, Q : entier
DEBUT
Ecrire ("donner 2 entiers")
Lire ( P,Q )
Si (P>Q)
Alors
Max P
Sinon
Max Q
Fin Si
Ecrire ( Max , "est le maximum" )
FIN

c) Structure de conditions multiples (l’alternative Selon)


Cette structure conditionnelle est appelée aussi à choix multiple ou sélective car elle
sélectionne un choix parmi plusieurs choix à la fois, et non entre deux choix alternatifs (le
cas de la structure SI).

Syntaxe :
SELON ( sélecteur ) Faire
cas 1 : < traitement 1>
cas 2 : < traitement 2 >
.......
cas n : < traitement n >
SINON
< Autre traitement >
FIN SELON
Le sélecteur peut être une variable de type scalaire ou une expression arithmétique ou
logique.

Algorithme et SD Mme Raoudha Abid Djemal Page 9 sur 15


ISET Sfax Département Génie Mécanique 2017-2018

La structure SELON évalue le "sélecteur", passe à comparer celui-ci respectivement avec les
valeurs dans les listes. En cas d'égalité avec une valeur, le traitement correspondant, sera
exécuté.
Devant "Cas", il peut y avoir une seule valeur, une suite de valeurs séparées par des virgules
et/ou un intervalle de valeurs. Après avoir traité la suite d'actions correspondante, l'exécution se
poursuit après le FINSELON.
Application (Selon)
Ecrire un algorithme qui permet d’afficher à partir du numéro du mois de l’année (1 à 12)
d’afficher le nom de ce mois en toute lettre.
Solution:
ALGORITHME Nom mois
VAR
Num-m : entier
DEBUT
Ecrire ("donner le numéro du mois")
Lire (Num-m)
Selon (Num-m) Faire
1 : Ecrire ("Janvier")
2 : Ecrire ("Février")
........
12 : Ecrire ("Décembre")
Sinon
Ecrire ("votre numéro est incorrect")
Fin Selon
FIN

2) Les structures itératives


L’itération c’est la répétition de l’exécution d’une action ou d’une suite d’action.
a) Structure « Pour »
Cette structure permet de répéter une séquence d’instruction un nombre de fois déterminé.
Syntaxe :
Pour cp de Vi àVf Faire
<Actions >
Fin Pour

Algorithme et SD Mme Raoudha Abid Djemal Page 10 sur 15


ISET Sfax Département Génie Mécanique 2017-2018

Les étapes d'exécution de la boucle POUR


1) Initialisation de cp par la valeur de Vi (comme si on avait cp  Vi)
2) Tester si Vi dépasse Vf , Si oui, alors la boucle s'arrête et l'exécution se poursuit après
le FINPour
3) Sinon Exécution du <Traitement>, incrémentation ou décrémentation de cp par la
valeur du pas, et retour à l'étape 2.
Remarque : La boucle POUR est utilisée lorsqu'on connaît le nombre de répétition du
traitement d'avance.

Application
Donner la somme des 15 premiers entiers naturels positive et afficher la somme.
Solution
ALGORITHME Somme
VAR
I, S: entier
DEBUT
S 0
Pour I de 1 à 15 Faire
S S+I
Fin Pour
Ecrire ("la somme est :", S )
FIN

b) Structure « Tant Que »


La structure tant que est utilisé lorsque l'on ne connaît pas à l’avance le nombre d’itérations
Syntaxe :
Tant Que < condition > Faire
<Traitement>
Fin TQ
Cette structure d'itération permet de répéter le <Traitement> zéro ou plusieurs fois et de
s'arrêter lorsque la condition d'exécution n'est plus vérifiée. En effet, lorsque la condition
d'exécution est vérifiée, le <Traitement> est exécuté, si non elle s'arrête.

Algorithme et SD Mme Raoudha Abid Djemal Page 11 sur 15


ISET Sfax Département Génie Mécanique 2017-2018

Remarque :
1. Dans cette boucle, le traitement peut ne pas être exécuté aucune fois, c'est lorsque la
condition d'exécution est fausse dés le départ.
2. Les paramètres de la condition doivent être initialisés par lecture ou par affectation
avant la boucle.
3. Il doit y avoir une action dans le <Traitement> qui modifie la valeur de la condition.
4. il est toujours possible de remplacer la structure Pour par la structure Tant que.
Application : Refaire l’exemple précédent en utilisant la boucle Tant que.
Solution :
ALGORITHME Somme
VAR
I, S: entier
DEBUT
S 0
I 1
Tant Que I <= 15 Faire
S S+I
I I +1
Fin faire
Ecrire ("la somme est :", S)
FIN
c) Structure « Répéter ...... Jusqu’à »
Cette structure est similaire à la précédente. La seule différence réside dans le fait que
l’évaluation et le test de la condition sont réalisés après l’exécution de l’action. Il en résulte
que le traitement est exécuté au moins une fois.
Syntaxe :
Répéter
<Traitement >
Jusqu’à (condition d’arrêt)

Cette structure d'itération permet de répéter le <Traitement> une ou plusieurs fois et de


s'arrêter sur une condition.
En effet, lorsque la condition est vérifiée, la boucle s'arrête, si non elle ré-exécute le
<Traitement>.

Algorithme et SD Mme Raoudha Abid Djemal Page 12 sur 15


ISET Sfax Département Génie Mécanique 2017-2018

Remarque :
1. Dans cette boucle, le traitement est exécuté au moins une fois avant l'évaluation de la
condition d'arrêt.
2. Il doit y avoir une action dans le <Traitement> qui modifie la valeur de la condition.
Application :
Refaire l’exemple précédent en utilisant la boucle Répéter .....Jusqu’à.
Solution :
ALGORITHME Somme
VAR
I, S: entier
DEBUT
S 0
I 1
Répéter
S S+I
I I +1
Jusqu’à ( I >15)
Ecrire ("la somme est :", S)
FIN

Algorithme et SD Mme Raoudha Abid Djemal Page 13 sur 15


ISET Sfax Département Génie Mécanique 2017-2018

Chapitre 4 : Les Tableaux

1) Utilité des tableaux


Imaginons que dans un programme, nous ayons besoin simultanément de 12 valeurs (par
exemple, des notes pour calculer une moyenne). Evidemment, la seule solution dont nous
disposons à l’heure actuelle consiste à déclarer douze variables, appelées par exemple Note1,
Note2, Note3, etc. Bien sûr, on peut opter pour une notation un peu simplifiée, par exemple
N1, N2, N3, etc. Mais cela ne change pas fondamentalement notre problème, car arrivé au
calcul, et après une succession de douze instructions « Lire » distinctes, cela donnera
obligatoirement :
Moy ← (N1+N2+N3+N4+N5+N6+N7+N8+N9+N10+N11+N12)/12
Ouf ! C’est tout de même laborieux. Et pour un peu que nous soyons dans un programme de
gestion avec quelques centaines ou quelques milliers de valeurs à traiter, alors là c’est le suicide
direct.
C’est pourquoi la programmation nous permet de rassembler toutes ces variables en une seule,
au sein de laquelle chaque valeur sera désignée par un numéro.

2) Les tableaux
Un ensemble de valeurs portant le même nom de variable et repérées par un nombre, s’appelle
un tableau, ou encore une variable indicée. Le nombre qui, au sein d’un tableau, sert à repérer
chaque valeur s’appelle « l’indice ». Chaque fois que l’on doit désigner un élément du
tableau, on fait figurer le nom du tableau, suivi de l’indice de l’élément, entre parenthèses.

Lorsque les données sont nombreuses et de même nature, et pour éviter de multiplier le nombre
de variable devant rester directement accessibles lors de l’exécution d’un programme, il est
plus pratique de ranger ces données dans un tableau.
Prenons l’exemple du tableau des longueurs des mois de l’année :

Le contenu de la case N°4 Le contenu de la case N°11

Mois 31 28 31 30 31 30 31 31 30 31 30 31
1 2 3 4 5 6 7 8 9 10 11 12

Nom du tableau Le rang de la case ou


l’indice de la case
• Ce tableau est de longueur 12 (composé de 12 cases),

Algorithme et SD Mme Raoudha Abid Djemal Page 14 sur 15


ISET Sfax Département Génie Mécanique 2017-2018

• Chaque case est repérée par son rang et appelé indice,


• Comme toute variable simple, un tableau doit avoir un identificateur (un nom,
• On accède à un élément d’un tableau (au contenu d’une case), en précisant le nom du
tableau suivi de l’indice (rang) de l’élément :
Nom du tableau [indice] = contenu de la case

Mois [1] = 31 ; Mois [2] = 28 ; Mois [12] = 31


Remarque :
 En aucun cas, il ne faut confondre le rang (indice) de l’élément et la valeur de
l’élément lui même. Mois [2] = 28 : 2 est l’indice et 28 est le contenu de la case N°2
 Le tableau à une seule dimension peut être nommé tableau à une seule entrée ou bien
vecteur.
 Le tableau à deux dimensions peut être nommé une matrice.
 Un tableau est une structure de données constituée d’un nombre fini d’éléments de
même type.

3) Syntaxe
Un tableau T de longueur (dimension) N (N = (b – a + 1)) est une suite de N variables
T[i]
(avec i étant l’indice et qui prend ces valeurs de [1, N]).
La valeur T[i] s’appelle élément d’indice i

T T[a] T[a+1] T[a+2] ... ... T[x-1] T[x] ... ... T[b]
a a+1 a+2 x-1 x b
Tab : TABLEAU [ a .. b] DE ENTIER
Tab : nom du tableau
a : premier indice
b : dernier indice
entier : type des contenus des cases du tableau

Algorithme et SD Mme Raoudha Abid Djemal Page 15 sur 15

Vous aimerez peut-être aussi