Académique Documents
Professionnel Documents
Culture Documents
I- INTRODUCTION
Le langage utilisé par l’ordinateur pour traiter les informations est le langage binaire (constitué par
une suite de 0 et 1) directement compréhensible par la machine. Ce langage est appelé : langage
machine.
Il est très difficile à l’utilisateur de programmer en langage machine, c’est pourquoi des langages dis
évolués ont été créés (pascal, C, C++, Basic, Java, Python…).
Un compilateur ou interpréteur est nécessaire pour traduire un programme écrit en un langage
évolué en langage machine.
II- DEFINITIONS
1- Langage
Un langage est un ensemble de mots clés (instructions ou fonction) et des règles de syntaxe qui
permettent d’écrire un programme exécutable par l’ordinateur.
2-Programme
Un programme est une succession ordonnée d’instructions dont la formulation et la syntaxe
répandent à un langage déterminé et permet d’obtenir de l’ordinateur l’exécution d’une tâche
précise.
3- Algorithme
Un algorithme est une suite finie d'actions à appliquer dans un ordre déterminé sur des données
afin d'obtenir un résultat en un temps fini.
Exemple
L'algorithme suivant décrit l'usage d'un appareil téléphonique à pièces de monnaie pour effectuer
une communication:
Début
Décrocher l'appareil;
Insérer les pièces nécessaires;
Composer le numéro désiré;
L’interlocuteur décroche l’appareil
Parler;
Raccrocher;
Fin
Remarque :
On a une représentation de la résolution du problème sous la forme d’un algorithme. Mais certains
cas n’ont pas été prévus (numéro occupé), d’où insuffisance de la solution.
Il est nécessaire de détailler de détailler les ordres élémentaires connus par la machine et prévoir
toutes les éventualités. La machine ne peut pas intervenir dans les cas non prévus.
Représentation d’un algorithme
Un algorithme peut être représenté de deux façons :
a- Le pseudo-code:
Le pseudo-code est une représentation textuelle avec une série de conventions ressemblant à
un langage de programmation (sans les problèmes de syntaxe)
• plus pratique pour écrire un algorithme
• représentation largement utilisée
LIRE et ECRIRE
TRAITEMENT ou CALCUL
DECISION ou TEST
Revoie
III- ALGORITHMIQUE :
Etapes de réalisation d’un programme
Enoncé du problème
Analyse
Algorithme
Codage
Programme source
Compilation
Programme exécutable
Tests et modifications
Version finale et résultats
Fin
- Codage:
(Programme –Langage Python-)
prix=input("Donner le prix: ")
prix=float(prix) #conversion de la chaine en un nombre réel
quantite=input("Donner la quantité: " )
quantite=int(quantite) #conversion de la chaine en un nombre entier
Total_HT = prix * quantite
M_Tva = Total_HT * 0.2
Net = Total_HT + M_Tva
print ("Net à payer :" , Net)
La longueur du nom doit être inférieure à la taille maximale spécifiée par le langage utilisé
Exercice :
Ecrire un algorithme permettant de saisir 2 nombres puis permute leurs valeurs.
En cas de besoin (ou de doute), on utilise les parenthèses pour indiquer les opérations à
effectuer en priorité exemple: (2 + 3) * 7 vaut 35
Introduction
Un algorithme décrit une suite d'instructions dont l'exécution ne se fait pas toujours dans l'ordre de
leur écriture. Il peut y avoir dans certains cas des sauts de blocs d'instructions. Ces sauts sont
contrôlés par une structure appelée structure de contrôle.
Un algorithme peut avoir trois structures:
Structure séquentielle
Structure conditionnelle ou alternative
Structure répétitive
I- Structure séquentielle
a- Définition
On dit qu'un algorithme a une structure séquentielle lorsque les instructions s'exécutent d'une
manière linéaire une après une du début jusqu'à la fin.
b- exemple
Soit l'algorithme suivant:
Algorithme moyenne;
Variables NT1, NT2, NT3, MOY : Réel;
Début
LIRE (NT1);
LIRE (NT2);
LIRE (NT3);
MOY← (NT1+ NT2+ NT3)/3;
ECRIRE (MOY);
Fin
Cet algorithme a une structure séquentielle, les instructions s'exécutent d'une manière linéaire
(l'une après l'autre).
Algorithme ValeurAbs ;
Variable x : réel ;
Début
Ecrire(" Entrez un réel : " ) ;
Lire (x) ;
Si x < 0 alors
Ecrire ("la valeur absolue de ", x, "est:",-x) ;
Sinon
Ecrire ("la valeur absolue de ", x, "est:", x) ;
Finsi
Fin
Organigramme:
Début
X -X
Fin
Exemple (Si…Alors)
Algorithme ValeurAbs ;
Variable x,y : réel ;
Début
Ecrire (" Entrez un réel : ") ;
Lire (x) ;
y← x ;
Si x < 0 alors
y ← -x ;
Finsi
Ecrire ("la valeur absolue de ", x, "est:",y)
Fin
Exercice
Ecrire un algorithme qui permet de résoudre l’équation du premier degré de type AX = B (B<>0)
Une condition composée est une condition formée de plusieurs conditions simples reliées
par des opérateurs logiques: ET, OU, OU exclusif (XOR) et NON
Exemples :
• x compris entre 2 et 6 : (x > 2) ET (x < 6)
• n divisible par 3 ou par 2 : (n mod 3=0) OU (n mod 2=0)
• deux valeurs et deux seulement sont identiques parmi a, b et c :
(a=b) XOR (a=c) XOR (b=c)
L'évaluation d'une condition composée se fait selon des règles présentées généralement
dans ce qu'on appelle tables de vérité
C1 C2 C1 ET C2 C1 C2 C1 OU C2 C1 C2 C1 XOR C2
V V V V V V V V F
V F F V F v V F V
F V F F V v F V V
F F F F F F F F F
C1 NON C1
V F
F V
instruction n instruction n
Exercices d’application :
Voir TD1
Sonner ;
c- Représentation
1- la boucle tantQue …faire
Exemple
Ecrire un algorithme qui demande à l’utilisateur une note comprise entre 0 et 20 jusqu’à ce que la réponse
convienne.
Algorithme Programme Python
Algorithme controleSaisie ; note=input("Donner la note:")
Variable note : réel ;
Début
note=float(note)
Ecrire ("Donner la note :") ; while note<0 or note>20:
Lire(note) ; print("Erreure de saisie:")
Tantque ((note<0) ou (note>20)) faire note=input("Donner la note:")
Ecrire("Erreur de saisie") ; note=float(note)
Ecrire ("Donner la note :") ;
Lire(note) ;
Fin TantQue
Fin
Remarques :
Étant donné que la condition est évaluée avant la mise en œuvre des instructions, ce qui est
une sécurité, il est possible que celles-ci ne soient jamais exécutées.
Si une structure TantQue dans laquelle la condition ne devient jamais fausse. Le programme
tourne dans une boucle infinie et n’en sort plus.
Exemple de boucle infinie. Boucle infinie, le message
Bienvennu s’affiche à l’infinie, car
i 1 ;
la variable i qui est testée dans la
tantQue(i<=10) faire condition n’est jamais incrémentée.
Ecrire(" Bienvennu ") ;
Fin TantQue
Notion de compteur :
Exercises:
Exercice 1 : Exercice 2 :
Ecrire un algorithme qui affiche la liste : Ecrire un algorithme qui calcule pour un nombre
entier N (N>=0) saisi au clavier, la somme :
Nombre Carrée S=1+2+3+4+5+6+…..+N
1 1
2 4
3 9
4 16
6 36
7 49
8 64
9 91
10 100
Instruction(s);
FinPour
Organigramme
i ← Vi
Faux
i < vf
i ← i + pas
Vrai
Instructions
Langage Python
Exemple
Algorithme Langage Python
i : entier for i in range(1,6):
Pour i1 A 5 faire print("Bonjour") ;
Ecrire ("Bonjour")
Fin pour
Remarque :
L’instruction range fournit une liste de valeurs.
Exemples :
range(6) représente la liste des valeurs : 0,1, 2, 3, 4, 5
range (1,6) représente la liste des valeurs : 1, 2, 3, 4, 5
range (1, 6,1) représente la liste des valeurs : 1, 2, 3, 4, 5
range (1,6, 2) représente la liste des valeurs : 1,3,5
Exercices :
Voir TD2