Vous êtes sur la page 1sur 8

CPGE-AGADIR MPSI-PCSI

INTRODUCTION A
L'ALGORITHMIQUE ET PROGRAMMATION

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 à un programmeur de programmer en langage machine, c’est pourquoi des
langages de programmation 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 de programmation
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épondent à 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 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.

INTRODUCTION A L'ALGORITHMIQUE -1- M.GUEROIHI


III- ALGORITHMIQUE :
 Etapes de réalisation d’un programme

Enoncé du
problème
Analyse
Algorithme
Codage
Programme

Interprétation & exécution


Résultat

La réalisation de programmes passe par l’écriture d’algorithmes, D’où l’intérêt de l’Algorithmique


L'algorithmique consiste à concevoir et mettre au point des algorithmes décrivant les
solutions d'un certain type de problèmes.

Exemple:
Problème:
Calculer le montant TTC à payer pour un lot de PC portable sachant le taux de TVA est de
20%.
- Analyse:
L'analyse du problème sert à extraire les composantes suivantes:
 Les données à fournir (données d'entré)
 Les résultats à produire (données de sortie)
 Le traitement qui permet de transformer les données en résultats.
 Données d'entré:
Données Identificateur Type Catégorie
Prix unitaire hors taxe d'un PC PU Réel Variable

Nombre de PC Nb Entier Variable

Taux de TVA TVA Réel Constante

 Données de sortie :
Données Identificateur Type Catégorie
Montant TTC MTTC Réel Variable

 Traitement:
MHT = PU * Nb
MTVA = MHT * TVA
MTTC = MHT + MTVA

INTRODUCTION A L'ALGORITHMIQUE -2- M.GUEROIHI


- Algorithme:

 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

b- Organigramme :
Un organigramme est la représentation graphique d'un algorithme.
Dans un organigramme les instructions sont représentées par des symboles graphiques normalisés qui
sont:
Symbole Instruction
DEBUT et FIN

LIRE et ECRIRE

TRAITEMENT ou CALCUL

DECISION ou TEST

Revoie

Pseudo-Code Organigramme
Algorithme Calcul;Début
Variable
PU, MHT
MTVA: ←Réel
0.02
MTVA, MTTC : Réel
"Donner le prix unitaire"
Nb : Entier
Constante
TVA ← 0.02PU
Début
"Donner le nombre de PC"
Ecrire ("Donner le prix unitaire: ")
Lire (PU);
Nb
Ecrire ("Donner le nombre de PC : ")
MHT ← PU * Nb
Lire(Nb);
MTVA ← MHT * TVA
MHT ← PU * Nb
MTTC ← MHT + MTVA
MTVA ← MHT * TVA
"Montant à payer :", MTTC
MTTC ← MHT + MTVA
Ecrire ("Montant à payer :", MTTC)
Fin Fin

INTRODUCTION A L'ALGORITHMIQUE -3- M.GUEROIHI


- Codage:
(Programme –Langage Python-)
TVA = 0.02
PU = float(input("Donner le prix: "))
Nb = int(input("Donner le nombre de PC: " ))
MHT = PU * Nb
MTVA = MHT * 0.2
MTTC = MHT + MTVA
print ("Montant à payer :" , MTTC)

- Interprétation et exécution : se font sur machine

Exercice
Problème:
On désire écrire un programme permettant de calculer la surface totale d'un cylindre.

INTRODUCTION A L'ALGORITHMIQUE -4- M.GUEROIHI


IV- Eléments de base d’un algorithme
Un algorithme est composé d'un certain nombre d'instructions ou fonctions qui manipulent
des données:

1- Données d'un algorithme:


14.25
Une donnée est caractérisée par 3 attributs: Valeur

Noteinfo
Identificateur Données
Réel
Type

a- Identificateur : Nom symbolique représentant la donnée.


Ex : Noteinfo : pour désigner la note d’informatique
Coefinfo : pour désigner le coefficient d’informatique
Remarque :
Le choix des identificateurs est soumis à quelques règles qui varient selon le langage, mais en
général:

 Un nom doit commencer par une lettre alphabétique


exemple valide: A1 exemple invalide: 1A
 doit être constitué uniquement de lettres, de chiffres et du soulignement _ (Eviter les
caractères de ponctuation et les espaces)
valides: SMI2007, SMI_2007 invalides: SMI 2007, SMI-2007, SMI;2007

 doit être différent des mots réservés du langage


(par exemple en python: int, float, else, print, if, for, lambda, …)

b- Valeur: la valeur de la donnée


Ex: la valeur de Coefinfo est 3
La valeur de Noteinfo d'un élève quelconque est 14.25
c- Type: l'ensemble de valeur que peut prendre une donnée
Les types les plus utilisés sont :
 entier pour manipuler des entiers,
 réel pour manipuler des nombres réels,
 booléen pour manipuler des valeurs booléennes vrai ou faux,
 caractère pour manipuler des caractères alphabétiques et numériques,
 chaîne pour manipuler des chaînes de caractères permettant de représenter des
mots ou des phrases.

Ex: la donnée Noteinfo est de type Réel


La donnée Coefinfo est de type Entier.

Une donnée peut être une variable ou une constante.


a- Variable.: Est une donnée dont la valeur peut être changée au cours du traitement.
Ex: Noteinfo est une variable car à chaque exécution elle peut prendre une
valeur.
b- Constante: Donnée dont la valeur ne change pas
Ex: TVA qui garde toujours la valeur 0.2

INTRODUCTION A L'ALGORITHMIQUE -5- M.GUEROIHI


2- Les instructions / Fonctions :

a- définition
Les actions élémentaires qui composent un algorithme sont appelées Instructions ou aussi
fonctions, elles représentent des ordres à exécuter dans l'algorithme.

b- fonction d'entrée : Lire (input)


Permet d’introduire des données dans la mémoire de l’ordinateur pendant l’exécution.
Algorithme Python

Syntaxe: Syntaxe:
Lire(Variable) ou Lire(Var1, Var2,…) Variable = input ("Message")

Exemple: Exemple:
Lire(Nom) Nom = input( "Entre votre nom:")
Lire(A, B, C) Age = int(input("Quel âge as-tu?"))

c- fonction de Sortie: Ecrire (print)


Permet d’écrire les résultats sur écran ou imprimante.

Algorithme Python

Syntaxe: Syntaxe:
Ecrire(Variable) print (Variable)
Ecrire(Valeur) print(Valeur)
Ecrire(Expression) print(Expression)

Exemple: Exemple:
Ecrire(A) print (A)
Ecrire(5) print (5)
Ecrire (A+5, "Fin") print (A+5, "Fin")

Autres Exemples de la fonction print( ):


On peut modifier le symbole qui les sépare en
>>> print('Bonjour') renseignant l’argument sep
Bonjour >>> print(1, 'plus', 2, sep='-')
1-plus-2
>>> print(10)
10 Pour écrire plusieurs instructions sur la même ligne:

>>> var = "salut" >>> print("Bonjour"); print("monsieur")


>>> print(var) Bonjour
salut Monsieur

Il est possible de donner plusieurs arguments à la >>> print("Bonjour


suite :>>> print(1, 'plus', 2) ",end='') ;print("monsieur")
Bonjour monsieur
1 plus 2

Pour afficher une nouvelle ligne, il suffit d’appeler la


fonction sans argument :
>>> print()

INTRODUCTION A L'ALGORITHMIQUE -6- M.GUEROIHI


c- Affectation: ← (=)
Une affectation est l'opération qui permet de ranger la valeur d'une expression dans une
variable.
Dans un algorithme l'affectation est symbolisée par : ←
En python l'affectation est symbolisée par :=
Exemples:
X←20 : La valeur 20 est affectée à la variable X
S←nbr1+nbr2 : La somme (nbr1+nbr2) est affectée à la variable S
X←y : La valeur de la variable Y est affectée à la variable X
Remarques:
- L'identificateur est toujours à gauche du symbole de l'affectation
- Si une variable contenait une valeur, elle ne conservera que la dernière valeur qu'on lui
affectée.
Exemple
N1← 20
N2← 30
N1← N2
Quelle est la valeur de N1? ........................................................................

Exercice 1:
1 A ← 10 Quelles sont les valeurs des Variables A, B, C et D après
exécution.
2 B ← 30
N° ligne A
3 C ← A+B 1
4 D ← C*A 2
5 C ← A+C 3
4
6 D ← C*A
5
6
Exercice 2:
Ecrire un algorithme permettant de saisir 2 nombres puis permute leurs valeurs.

INTRODUCTION A L'ALGORITHMIQUE -7- M.GUEROIHI


d- Expression et opérateurs
Une Expression est une combinaison d'opérandes et d'opérateurs.
Ex: 2+5-20/2 est une expression dont 2,5,20 et 2 représentent des opérandes et +,- et /
représentent des opérateurs.
Les opérateurs arithmétiques utilisés dans les algorithmes sont:
 opérateurs arithmétiques :
Opérateur Fonction Exemple Langage Python
+ Addition X+Y +
- Soustraction X-Y -
* Multiplication X*Y *
/ Division réelle 6/4 résultat : 1.5 / : division ; //division entière
div Division entière 6 div 4 résultat : 1 6/41.5 ; 6//41
^ Puissance 2^3 (=8) ** : exemple 2**38
Mod Reste division 17 mod 5 (=2) % : 17%52
Xor Ou exclusif bit à bit 5 xor 6 (=3) ^ : 5^6  3
 des opérateurs relationnels (de comparaison):
Opérateur Signification Langage Python
= Egal ==
<> ou  Différent !=
< Strictement inférieur <
> Strictement supérieur >
<= Inférieur ou égal <=
>= Supérieur ou égal >=
 des opérateurs logiques:
Opérateur signification Langage Python
NON Non logique not
OU Ou inclusif or
ET Et logique and

Ordre de priorité des opérateurs


 Pour les opérateurs arithmétiques, l'ordre de priorité est le suivant (du plus prioritaire au
moins prioritaire) :
• ^ : (élévation à la puissance)
• * , / (multiplication, division)
• mod (modulo)
• + , - (addition, soustraction)
exemple: 2 + 3 * 7 vaut 23

 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 A L'ALGORITHMIQUE -8- M.GUEROIHI

Vous aimerez peut-être aussi