Vous êtes sur la page 1sur 31

Initiation à l’algorithmique

1ECT – 1ECS
CPGE Nador
 Apprendre les concepts de base de l'algorithmique et de la programmation.
 Être capable de mettre en œuvre ces concepts pour analyser des
problèmes simples et écrire les programmes correspondants.

 introduction à l’algorithmique et à la programmation


 Généralités sur l’algorithmique et les langages de programmation
 Notion de variable, affectation, lecture et écriture
 Instructions conditionnels et instructions itératives
 Les Tableaux, les fonctions et procédures, la récursivité
 Introduction à la complexité des algorithmes
 Données structurées

2
 Un programme correspond à la description d’une méthode de
résolution pour un problème donné.

 Cette description est effectuée par une suite d’instructions d’un


langage de programmation .

 Ces instructions permettent de traiter et de transformer les


données (entrées) du problème à résoudre pour aboutir à des
résultats (sorties).

 Un programme n’est pas une solution en soi mais une méthode


à suivre pour trouver les solutions.

3
 Un langage informatique est un code de communication, permettant à
un être humain de dialoguer avec une machine en lui soumettant des
instructions et en analysant les données matérielles fournies par le
système.

 Le langage informatique est l’intermédiaire entre le programmeur et la


machine.

 Il permet d’écrire des programmes (suite consécutive d’instructions)


destinés à effectuer une tache donnée

Exemple : un programme de résolution d’une équation du second degré

4
 Un programme informatique permet à l’ordinateur de résoudre un
problème
 Avant de communiquer à l’ordinateur comment résoudre ce problème, il faut en
premier lieu pouvoir le résoudre nous même.

 Un algorithme peut se comparer à une recette de cuisine

 Le résultat c’est comme le plat à cuisiner


 Les données sont l’analogues des ingrédients de la recette
 Les règles de transformations se comparent aux directives ou instructions
de la recette

5
6
Algorithme = méthode de résolution
Algorithme vient du nom du célèbre mathématicien arabe
Al Khawarizmi (Abu Ja'far Mohammed Ben Mussa Al-Khwarismi)

 L’algorithmique désigne aussi la discipline qui étudie les


algorithmes et leurs applications en Informatique

 Une bonne connaissance de l’algorithmique permet d’écrire


des algorithmes exacts et efficaces

7
Pour résoudre un problème, il est vivement conseillé de
réfléchir d'abord à l'algorithme avant de programmer.

Exemple de construction d’algorithme:


Calcul des racines de l’équation du second ordre ax2+bx+c=0
- Lire a, b, c
- Calculer les racines de l’équation
- Imprimer les racines

8
La résolution d’un problème est caractérisé par 4 étapes :

1- Comprendre la nature du problème posé


2- Préciser les données fournies (Entrées)
3- Préciser les résultats que l’on désire obtenir (Sorties)
4- Déterminer le processus de transformation des
données en résultats.

9
les algorithmes sont rédigés dans un langage à mi-chemin entre le
français et les langages de programmation, dit pseudo-code .

En programmation, le pseudo-code est une façon de décrire un


algorithme sans référence à un langage de programmation
particulier. L'écriture en pseudo-code permet souvent de bien prendre
toute la mesure de la difficulté de l'implémentation de l'algorithme, et
de développer une démarche structurée dans la construction de celui-
ci.

10
Où on se rend compte qu’un ordinateur n’est qu’une succession de boites !

11
Données = ensemble des informations manipulées par
un programme

Les données d'un programme sont mémorisées en


mémoire centrale dans des variables (sortes de cases)

12
• Une variable sert à stocker la valeur d’une donnée dans un
langage de programmation
• Une variable désigne un emplacement mémoire dont le contenu
peut changer au cours d’un programme (d’où le nom de variable)

Par exemple, on peut avoir en mémoire une variable prix et une


variable quantité.

prix quantité

13
Une variable est caractérisée par son nom, sa valeur et son type.

Syntaxe:
Variable Nom_Variable : Type ;

14
Le choix du nom d’une variable 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 : E1 (1E n’est pas valide)

• doit être constitué uniquement de lettres, de chiffres et


du soulignement (« _ ») (Éviter les caractères de
ponctuation et les espaces)
Exemples :
NomEtudiant, Prix_TTC ( Nom etudiant, Prix TTC : sont non
valides)
15
Pour la lisibilité du code choisir des noms significatifs
qui décrivent les données manipulées.
Exemples: NoteEtudiant, Prix_TTC, Prix_HT

Remarque: en pseudo-code algorithmique, on va


respecter les règles citées, même si on est libre dans
la syntaxe.

16
Le nom de la variable doit être le plus représentatif possible
du contenu de celle-ci pour faciliter la lecture de l'algorithme.
En revanche, il ne doit pas non plus être trop long pour ne pas
nuire à la lisibilité de l'ensemble.

Exemple:
Je veux mémoriser l'âge d'une personne dans une variable, j'ai
le choix de l'appeler :

•a
• âge
• age
• ageDeLaPersonneDontJeSuisEntrainDeParler
17
Type Numérique Alphanumérique Booléen

Entier Réel Caractères Chaîne de


(sans la virgule) (Avec la virgule) caractères

Exemples -345 -123,56 'A' 'Bonjour’ Vrai


178 56,12 '2' 'lundi' Faux
2012 31,5 '+' 'quatre'

18
Mémoire centrale
(mémoire vive)
• Identificateur : X
• Type : entier
• Valeur : 25
X 25

• Identificateur : Y
Y 3,7
• Type : réel
• Valeur : 3,7

19
Tous les traducteurs de langages prennent en compte cette
notion de type pardes instructions de déclaration de type ;

Variable Moyenne : réel; (Moyenne en numérique)


Variable NbreEtudiant : entier; (NbreEtudiant en numérique)
Variables c1, lettre, z : caractères;
Variables nom, prenom : chaine ;

20
Une constante est un objet de valeur invariable. Elle
est la réalisation d’une valeur de type particulier :

Exemple :

Constante pi ← 3.14 : réel;


Constante max ← 100 :entier ;

21
Où l’addition devient compliquée

22
Instruction = ordre que peut exécuter l'ordinateur

exécution d'un programme :


 Échanges d'informations en mémoire
 Calculs
 Affichage des résultats

23
Les informations manipulées par les instructions peuvent prendre
plusieurs formes:
 des variables
 des constantes
 des valeurs littérales ("bonjour", 45, VRAI)
 des expressions complexes : combinaisons de variables,
constantes et valeurs littérales avec des opérateurs (2 * r * 3.14)

24
L’instruction d’affectation permet de manipuler les valeurs des
variables. Son rôle consiste à placer une valeur dans une variable.

Notation :
x ← 3;
age ← 24 ;
etat ← vrai;

Syntaxe :

Nom_Variable ← Valeur
25
Exemple :

1. Affecter une valeur à une variable


X ← 5;
On charge la variable X avec la valeur 5

2. Affecter le contenu d’une variable à une autre variable


X ← Y;
On charge X avec le contenu de Y
X et Y doivent être de même type

3. Affecter une formule à une variable


X ← X + 2 * Y;
On charge la variable X par la valeur du résultat de la formule
et on écrase sa valeur initiale.
26
+ Représentation d’un
algorithme
Un algorithme est composé de trois parties suivantes :

 L’en-tête
 La partie déclarative
 le corps de l’algorithme.

27
L’en-tête
L’en-tête est constitué du mot Algorithme, suivi d’un nom identifiant
l’algorithme.
La partie déclarative
La partie déclarative comprend une liste des variables utilisés et
manipulés dans le corps de l’algorithme.

Le corps de l’algorithme
Le corps d’un d’algorithme est une suite d’instructions ou des tâches à
exécuter.

28
Syntaxe générale de l’algorithme

Algorithme exemple /* La partie déclaration de l’algorithme */


Constantes // les constantes nécessitent une valeur dès leur
déclaration var1←20 : entier var2←"bonjour!" : chaîne
Variables // les variables proprement dites var3, var4 : réels
var5 : chaîne Début // corps de l’algorithme /* instructions */
Fin

29
Syntaxe générale de l’algorithme

ALGORITHME monExemple

/* Constantes: initialisation obligatoire */


CONST const1 <- 10 : entier
const2 <- "bonjour!" : chaîne

// les variables au sens strict


VAR varReel1, varReel2 : réels
varChaine : chaîne

DEBUT

Instruction1
Instruction2

FIN

30
Algorithme Affectation ;
Variable A : Entier;
Variable B : Entier;
Début
A 12
B A+1
A B+3
B B+A
Fin.

31

Vous aimerez peut-être aussi