Vous êtes sur la page 1sur 45

Généralités sur l’algorithmique

Science des algorithmes utilisée notamment en Informatique

Objectifs

▪ Connaitre le vocabulaire de base en programmation


▪ Comprendre la démarche de programmation
Ordinateur et programmation
logiciels

Applicatons S’exécutent Ordinateur

S’exécutent
Informatique
Technologie de l’information et de la communication

Algorithmique Programmes
Science des algorithme
Unités de mesure

Le bit : sa valeur est 0 ou 1

Le byte (octet) : ensemble de 8bits

Les longueurs couramment utilisées sont des ensembles de


8,16, 32 ou 64 bits
Kilo-octet Méga-octet

Ko = 1000octets Mo = 1000 Ko

Unités de mesure
(utilisées pour indiquer les tailles de mémoire)

To = 1000 Go Go = 1000 Mo
Téraoctet Giga-octet
Algorithme

Ensemble d’étapes ou instructions nécessaire pour compléter


une tâche ou résoudre un problème

Une déclaration assez clair


du problème

===➔
===➔
Un algorithme :
Définir les entrées Définir les sorties
(input) (output)
Entrées/Sorties Résultat

Algorithme correct

Etapes ordonnées
Limite dans le temps
et distinctes
Représentation graphique
organigramme
Utilisé pour les déclarations et les calculs

Utilisé pour la lecture et l’affichage

Utilisé pour le début et la fin

Utilisé pour représenter des tests


Exemple d’algorithme
DEBUT

Ecrire un algorithme pour calculer VAR


la moyenne de 3 notes note1, note2, note3, moyenne : ENTIER

ALGO Moyenne entrer les notes


VAR note1, note2, note3, moyenne : entier
DEBUT note1, note2, note3
Afficher “entrer des notes”
Saisir note1, note2, note3
moyenne (note1+note2+note3)/3 moyenne (note1+note2+note3)/3
Afficher “la moyenne est : “, moyenne
FIN
La moyenne est : , moyenne

FIN
Etapes de résolution d’un problèmes
Etapes de résolution d’un problèmes

1. Comprendre l ’énoncé du problème.


2. Décomposer le problème en sous problèmes plus simples à 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 en partant d’un ensemble de définition
4. Elaborer l’algorithme
Langage de programmation
C/C++ Python

Langage de programmation

Java Fortran, Pascal

Le langage Pascal (Python pour les curieux) est le langage de


programmation utilisé dans ce cours
Exemple

Ecrire et exécuter le programme Pascal, puis Python qui


demande à l’utilisateur d’entrer la longueur et la largeur
et affiche la surface et le périmètre d’un rectangle
ALGO Rectangle
VAR longueur, largeur, surface, perimetre : REEL
DEBUT
Afficher”entrer la largeur”
Saisir largeur
Afficher”entrer la longueur”
Saisir longueur Algorithme
surface largeur*longueur
perimetre (longueur+largeur)*2
Afficher”la surface est ”, surface
Afficher”le périmetre est ”, perimetre
FIN
Program Rectangle;
uses crt;
Var
longueur, largeur, surface, perimetre : REEL;
Debut
Write(’entrer la largeur’);
Read (largeur);
Pascal
Write(’entrer la longueur’);
Read (longueur);
surface := largeur*longueur;
perimetre := (longueur+largeur)*2
write(‘la surface est ‘, surface);
write(‘le périmetre est ‘, perimetre);
End.
#saisie un réel au clavier
largeur=float(input("entrer la largeur :"))
#saisie un réel au clavier
longueur=float(input("entrer la longueur :"))
#calcul de la surface
surface=longueur*largeur
#calcul du périmètre Code en Python
perimetre=(longueur+largeur)*2
#affichage à l'écran de la surface
print("la surface est ", surface)
#affichage à l'écran du périmètre
print("le périmètre est ",perimetre)
Codage : systèmes de numérisation

Binaire : base 2

Décimal : base 10

Octal : base 8

Héxadécimal : base 16
Base décimale

La base est 10

Les chiffres utilisés sont 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Ecriture d’un nombre décimal 𝑁 = 𝑎𝑛 10𝑛 + 𝑎𝑛−1 10𝑛−1 + 𝑎𝑛−2 10𝑛−2 + … +


𝑎0 100 + 𝑎−1 10−1 + ⋯ + 𝑎−𝑝 10−𝑝

Exemple : 123,45 = 1 × 102 + 2 × 101 + 3 × 100 + 4 × 10−1 + 5 × 10−2


Base binaire

La base est 2

Les chiffres utilisés sont 0, 1

Ecriture d’un nombre décimal 𝑁 = 𝑎𝑛 2𝑛 + 𝑎𝑛−1 2𝑛−1 + 𝑎𝑛−2 2𝑛−2 + … + 𝑎0 20 + 𝑎−1 2−1 +
⋯ + 𝑎−𝑝 2−𝑝

Exemple : 1010,101 = 1 × 23 + 0 × 22 + 1 × 21 + 0 × 21 + 1 × 2−1 + 0 × 2−2 + 1 × 2−3


Base octale

La base est 8

Les chiffres utilisés sont 0, 1, 2, 3, 4, 5, 6, 7


Base hexadécimale

La base est 16

Les chiffres utilisés sont 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F


(A correspond à 10, B à 11, F à 15)
Table de correspondance entre les bases
Décimal Binaire Octal Hexadécimal

0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 1OO 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
Conversion base b – base décimale

On développe le nombre suivant les puissances de la base b.

Exemple : 10011101 = 1 × 20 + 0 × 21 + 1 × 22 + 1 × 23 + 1 ×
24 + 0 × 25 + 0 × 26 + 1 × 27 = 157(base10)
Conversion base décimale – base b

On applique le principe de la division euclidienne.

Exemple : 125, 157, traduire en base 2


Les variables

Une variable algorithmique est une entité abstraite composée par :

▪ Un identificateur.
▪ Un valeur appartenant à un domaine de définition

Elle désigne un emplacement mémoire dont la valeur peut changer


au cours du programme
Les variables : types

Le type entier : souvent codé sur un octet. Le premier bit est utilisé
pour le coder le signe du nombre. Pour les 7bits restant, nous avons
27 = 128 .

Ainsi, on a de 0 à 127 pour les nombres positifs.


Pour les nombres négatifs, nous avons de −1 à − 128.

Avec 1bit pour le signe, on codera tous les entiers entre


− 128 𝑒𝑡 127.

Remarque : Si on essaie dans ce cas de calculer 200 + 200 qui


dépasse 127, il se produira un erreur.
Les variables : types

De ce fait, on peut aussi coder les entiers sur plusieurs octets selon les
machines et le logiciel utilisé.
Sur 𝑛 bits, les nombres représentables sont [−2𝑛−1 ; 2𝑛−1 − 1].

Pour 𝑛 = 8𝑏𝑖𝑡𝑠, 1𝑜𝑐𝑡𝑒𝑡 , 𝑜𝑛 𝑎 ∶ −128; 127


Pour 𝑛 = 16𝑏𝑖𝑡𝑠, 2𝑜𝑐𝑡𝑒𝑡𝑠, 𝑜𝑛 𝑎 ∶ −32768, 32767
Pour 𝑛 = 32𝑏𝑖𝑡𝑠, 4𝑜𝑐𝑡𝑒𝑡𝑠, 𝑜𝑛 𝑎: [−2 147 483 648, 2 147 483 647]
Les variables : type entier

les opérations possibles associées aux entiers :


Comparaison
Addition (+)
Division (/)
Division entière (DIV)
Modulo (le reste de la division)
Les variables : types

Le type réel : souvent codé sur 4 octets ou sur 8 octets.

les opérations possibles associées aux réels :


Comparaison
Addition (+)
Division (/)
Partie entière
Soustraction
Les variables : types
Le type booléen : les deux valeurs possibles sont true et false

Quelques opérations associées aux booléens :

Comparaison
Non , OU, ET

Le type caractère : les caractères alphanumériques écrits entre des


quotes (‘ ‘)
Quelques opérations associées aux booléens :

Comparaison
Conversion (code )
Les variables : types

Le type chaîne de caractères : ensemble de caractères

Quelques opérations associées aux chaînes de caractères

Comparaison
Extraction
Concaténation
Longueur
Conventions syntaxiques

• Une variable ne doit pas commencer par un chiffre

• Une variable ne doit pas avoir en son sein un espace

• Une variable ne doit pas avoir en son sein un caractère spécial

• Une variable ne peut pas être en deux mots


Déclaration de variables

Pour déclarer une variable, on utilise le mot clé VAR.

𝑉𝐴𝑅 𝑛𝑜𝑚: 𝑐ℎ𝑎î𝑛𝑒 𝑑𝑒 𝑐𝑎𝑟𝑎𝑐𝑡è𝑟𝑒𝑠


𝑎𝑔𝑒 ∶ 𝑒𝑛𝑡𝑖𝑒𝑟
𝑓𝑎𝑙𝑠𝑒: 𝑏𝑜𝑜𝑙𝑒𝑒𝑛
𝑙𝑜𝑛𝑔𝑢𝑒𝑢𝑟: 𝑟é𝑒𝑙
Syntaxe d’un algorithme

ALGO Addition
𝐴𝐿𝐺𝑂 [𝑛𝑜𝑚_𝑝𝑟𝑜𝑔𝑟𝑎𝑚𝑚𝑒] VAR a,b : ENTIER (*declarations*)
{déclarations} DEBUT
DEBUT
{instructions } a 2 (*instructions*)
FIN b 3
Afficher”la somme a+b est ”, a+b
FIN
Instructions de base : affectation

Pour affecter une valeur à une variable, on utilise la flèche

Format : [identificateur] [valeur]


Instructions d’entrées/sorties

Saisie au clavier (lecture au clavier) : Saisir [variable]


Affichage à l’écran (l’écriture à l’écran) : Afficher « chaîne de caractères »
Structure alternative réduite

Si « condition »
Alors « Instruction »
FIN Si

Instruction est exécutée que si la condition est vraie


Structure alternative complète

Si « condition »
Alors « Instruction1 »
Sinon « Instruction2 »
FIN Si

Instruction1 est exécutée que si la condition est vraie et


Instruction2 est exécutée si condition est fausse
Structure alternative de choix

Suivant « variable ou expression » Faire


« Valeur1 » : « instruction1 »
« Valeur2 » : « instruction2 »
« ValeurN » : « instructionN »

FIN Suivant
Structures répétitives

Elles sont répétées jusqu’à ce que la condition est vérifiée

Syntaxe :
Répéter
« instructions »
Jusqu’à « condition »
Structures répétitives

Elles sont répétées jusqu’à ce que la condition est vérifiée

Syntaxe :
Pour « variable» de « expression début » à « expression fin »
« instructions »
Fin Pour

Vous aimerez peut-être aussi