0% ont trouvé ce document utile (0 vote)
25 vues41 pages

Initiation à l'Algorithmique

Ce document introduit les concepts de base de l'algorithmique. Il définit notamment ce qu'est un ordinateur, un programme, un algorithme et explique comment résoudre un problème de manière informatique. Il présente également des notions comme les variables, leur déclaration, leur type et les opérateurs possibles.

Transféré par

OUM
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
25 vues41 pages

Initiation à l'Algorithmique

Ce document introduit les concepts de base de l'algorithmique. Il définit notamment ce qu'est un ordinateur, un programme, un algorithme et explique comment résoudre un problème de manière informatique. Il présente également des notions comme les variables, leur déclaration, leur type et les opérateurs possibles.

Transféré par

OUM
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

FACULTE DES SCIENCES AIN CHOCK ‫عي الشق‬ ‫كلية العلوم ن‬

‫ن‬
UNIVERSITE HASSAN II DE CASABLANCA ‫الثان بالدار البيضاء‬
‫ي‬ ‫جامعة الحسن‬

Algorithmique
INITIATION À L’ALGORITHMIQUE

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 1


Introduction
 Qu’est ce qu’un ordinateur?
 une machine (dispositif électronique) qui manipule des données.
 il a la capacité de stocker, récupérer et traiter des données.
 capable d’effectuer un grand nombre de tâches.

Un système de traitement de l'information qui fonctionne par la lecture


séquentielle d'un ensemble d'instructions, organisées en programmes, qui lui font
exécuter des opérations logiques et arithmétiques.
Exécute très rapidement et sans erreurs les ordres qu'on lui donne.

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 2


Qu’est-ce qu’un programme ?
• Ensemble et enchaînement d’instructions élémentaires,
• Écrit dans un langage de programmation,
• Exécuté par un ordinateur afin de traiter les données d’un problème et renvoyer un ou plusieurs
résultats.

Données initiales Programme (Traitements) résultats

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 3


Résolution d’un problème
Pour résoudre un problème de manière informatique il y a un cheminement méthodique à
respecter :
Enoncé du problème
Spécification
Cahier des charges
Analyse
Algorithme
Traduction en langage
Programme source
Compilation

Programme exécutable
Tests et modifications
Version finale et résultats

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 4


Algorithmique
 Différentes appellations:
 langage algorithmique
 pseudo-langage de programmation
 pseudo-code
 Un algorithme correspond à la description d’un processus logique écrit en langage
naturel décrivant une succession d’opérations à exécuter dans un certain ordre et
sous certaines conditions, pour passer des données de base aux résultats.

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 5


Algorithmique
 Comment exécuter un algorithme sur un ordinateur ?

Algorithme → Programme

Il faut traduire l’algorithme à l’aide d’un langage de programmation connu par


l’ordinateur.

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 6


Organisation d’un programme
Algorithme monProgr

/* Constantes: initialisation obligatoire */


CONST CONST1 <- 10 : entier
CONST2 <- "bonjour!" : chaîne
déclarations
// les variables au sens strict
variable varReel1, varReel2 : réels
varChaine : chaîne

DEBUT
Instruction1
Instruction2 Corps du programme

FIN

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 7


Organisation d’un programme
Quelques Remarques:
• Il faut avoir une écriture rigoureuse
• Il faut avoir une écriture soignée: respecter l'indentation
• Il est important de commenter les algorithmes
• Il existe plusieurs solutions algorithmiques à un problème posé, il faut
rechercher l'efficacité de ce que l'on écrit.

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 8


Notion de variable
 Les 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).
 Une variable possède :
 une valeur contenue par la case mémoire
 un identificateur : nom unique par lequel on peut accéder à son contenu
 un type qui définit la taille de la place occupée
 Ne pas confondre la variable et son contenu
 une variable est un contenant (case ou boîte)
 le contenu d'une variable est une valeur numérique, alphanumérique…

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 9


Notion de variable
 Une variable (variable) est donc :
 une « boite/zone de mémoire » dans laquelle on met une valeur (un nombre, un
mot…)
 peux changer (si l’utilisateur modifie la valeur par exemple)
 Les variables dont la valeur ne change pas au cours de l'exécution du programme sont
appelées variables constantes (CONST)

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 10


Déclaration de variable
 Toute variable doit être déclarée avant de pouvoir l'utiliser
 Déclarer une variable :
 réserver une place en mémoire
 attribuer l'identificateur à cette place
 Si plusieurs variables ont le même type, on peut les déclarer sur la même ligne
séparées par des virgules.
Syntaxe
 La déclaration indique :
variable maVar : type
 l’identificateur
 le type

Exemple :
variable age : entier

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 11


Déclaration de variable
 À propos de l’identificateur :
 L’identificateur ou le nom de la variable (appelé aussi Etiquette) est une chaine de
caractère constituée de lettres ('a'..'z' ; 'A'..'Z'), chiffres ('0'..'9'), et du caractère '_'
(souligné / underscore)
 Le nom de la variable ne peut pas commencer avec un chiffre !
 On évitera les caractères accentués dans les noms de variables
 Le nom de la variable doit être différent d'un des mots clé
 A noter que l'on peut utiliser comme noms pour les variables a, b, c, x, etc… il reste
cependant préférable d'utiliser des noms significatifs

Exemple:
Variable V, Rayon, Surface: Réel
n : Entier
nom, prenom : Chaine de caractères

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 12


Déclaration de variable
 Types :
 Entier: les nombres entiers (ex: 2 10 205)
 Réel: les nombres réels (ex 3,14 15,2)
 Booléen: deux valeurs possible soit vrai, soit faux
 Caractère: lettres, chiffres, ponctuation, code des opérations, espace, retour
chariot,… (ex: ‘a’ ‘+’ ‘/’)
 Chaîne de caractères: suites de caractères (ex: "bonjour" )

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 13


Exemple de variables
Mémoire centrale
(mémoire vive)
◦ Identificateur : X
◦ Type : entier
◦ Valeur : 25
X 25

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

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 14


Les opérateurs
 Les opérations possibles sur les variables dépendent de leur type
 On ne peux pas multiplier des mots…
 Réels :
opérations possibles symbole ou mot clé

addition +
soustraction -
multiplication *
Division /
Comparaisons <, ≤, >, ≥, =, <> ou !=

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 15


Les opérateurs
 Les opérations possibles sur les variables dépendent de leur type
 On ne peux pas multiplier des mots…
 Entiers :

opérations possibles symbole ou mot clé


addition +
soustraction - Si on a 2 entiers, A=3, B=4
A / B =0
Multiplication *
Division entière / ou DIV Si on a 2 entiers, A=17 et B=10
Modulo MOD (ou %) A mod B = 7
Comparaisons <, ≤, >, ≥, =, <> ou !=

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 16


Les opérateurs
 Les opérations possibles sur les variables dépendent de leur type
 On ne peux pas multiplier des mots…
 Caractères :

opérations possibles symbole ou mot clé


comparaisons <, ≤, >, ≥, =, <> ou !=
(exemple ‘a’ < ‘z’)

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 17


Les opérateurs
 Les opérations possibles sur les variables dépendent de leur type
 On ne peux pas multiplier des mots…
 Chaîne de caractères :

opérations possibles symbole ou mot clé


Concaténation &
Longueur Longueur (chaîne)
Extraction Extraction (sous-ch, ch)

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 18


Les opérateurs
 Les opérations possibles sur les variables dépendent de leur type
 On ne peux pas multiplier des mots…
 Booléens :

opérations possibles symbole ou mot clé


comparaison =, <> ou !=
(9 > 7) et (3<4) est Vrai
négation NON (9 < 7) ou (3<4) est Vrai

conjonction ET
disjonction OU

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 19


Les opérateurs
 Les tables de vérité:

C1 C2 C1 ET C2 C1 C2 C1 OU C2
VRAI VRAI VRAI VRAI VRAI VRAI
VRAI FAUX FAUX VRAI FAUX VRAI
FAUX VRAI FAUX FAUX VRAI VRAI
FAUX FAUX FAUX FAUX FAUX FAUX

C1 NON C1
VRAI FAUX
FAUX VRAI

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 20


Les opérateurs
 Ordre des opérateurs:
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. Les opérateurs de multiplication " * " et de division " / " et le modulo "mod"
3. Les opérateurs d'addition " + " et de soustraction " - "
Remarque:
Si l'ordre entre les opérateurs dans une expression est le même, l'expression est évaluée de gauche à
droite.
Exemples:
• 3*2+4 = 6+4 =10
• 3*(2+4) = 3*6 =18
• 25 mod 10 * 3 =(25 mod 10) * 3= 5 * 3= 15

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 21


Les instructions
 Une Instruction est un ordre que peut exécuter l'ordinateur
 Les instructions élémentaires :
 Affectation: le fait de donner une nouvelle valeur à une variable (mettre un
nombre dans une boite).
 Saisie: Permet à l’ordinateur de récupérer ce que l’utilisateur tape au clavier.
 Affichage: Permet à l’ordinateur d’afficher sur l'écran.

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 22


Les instructions
 Une Instruction est un ordre que peut exécuter l'ordinateur
 Les instructions élémentaires :
 Affectation: Syntaxe
Exemples:
var <- valeur
x <- 10
y <- 2.5
z <- x (la variable z va prendre la valeur de la variable x)
resultat <- x * y + 100
nom <- ‘‘Mohamed’’
var <- ‘a’
test <- vrai
AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 23
Les instructions
 Une Instruction est un ordre que peut exécuter l'ordinateur
 Les instructions élémentaires :
 Saisie / Lecture: Syntaxe
lire ( var1 [,varN,…])
- Permet à un utilisateur de communiquer des données au programme
- Assigne une valeur entrée au clavier dans une variable
- Tant que l'utilisateur n'entre rien au clavier, le déroulement du programme est stoppé
Exemples:
Lire(age)
Utiliser le même programme pour des données différentes
Lire(a, b)

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 24


Les instructions
 Une Instruction est un ordre que peut exécuter l'ordinateur
 Les instructions élémentaires :
 Affichage / Ecriture: Syntaxe
ecrire ( var1 [,varN,…])

- Permet de fournir des résultats à l'utilisateur à travers l'écran


- Permet d’afficher des valeurs intermédiaires
- Permet de guider l’utilisateur
Exemples:
ecrire(age) On peut afficher plusieurs trucs
à la suite grâce à la virgule !
ecrire(a, b)
ecrire("Bonjour")
ecrire ("La somme de a et b est: ", a+b)
AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 25
Les instructions
 Exemple complet:
Algorithme bonjour

CONST bj <- "Bonjour" : chaîne


mr <- "Monsieur " : chaîne

variable varNom, ch : chaîne

DEBUT
ecrire ("Quel est votre nom ?")
lire (varNom)
ch <- mr & varNom
ecrire (bj, ch)
FIN

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 26


Les instructions
 Exemple complet:
Algorithme votreAge
Variable age: entier

DEBUT Affiche
ecrire ("Saisir votre âge:") Saisir votre âge :

lire (age) Attend que l'utilisateur rentre une valeur


exemple : 20
ecrire ("Vous avez rentré la valeur : ", age)
Affiche
FIN
Vous avez rentré la valeur : 20

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 27


TD1

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 28


Structures de contrôle

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 29


Structure alternative: Si … Alors … Sinon … Finsi
Pour exprimer le fait que des instructions vont être exécutées dans un cas alors que
d’autres instructions peuvent être exécutées dans l’autre cas, on utilise une structure
alternative.
Syntaxe
Si condition alors

Instruction 1
Instruction 2 Bloc d’instructions

Finsi

- Si la condition prend la valeur Vrai, le bloc d'instructions est exécuté.


- Si elle prend la valeur Faux, rien n'est fait.
AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 30
Structure alternative: Si … Alors … Sinon … Finsi
Pour exprimer le fait que des instructions vont être exécutées dans un cas alors que
d’autres instructions peuvent être exécutées dans l’autre cas, on utilise une structure
alternative.
Syntaxe
Si condition alors
Instruction 1
Instruction 2 Bloc d’instructions 1

Sinon
Instructions … Bloc d’instructions 2

Finsi

- Si la condition prend la valeur Vrai, le bloc d'instructions 1 est exécuté.


- Si elle prend la valeur Faux, le second bloc (bloc d'instructions 2) est exécuté
AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 31
Structure alternative: Si … Alors … Sinon … Finsi
• Exemple 1: algorithme qui affiche le résultat Admis ou Ajourné selon la note. Admis si
la note est supérieure ou égale à 10 et Ajourné dans le cas contraire.

Algorithme resultats
variable note : réel
DEBUT
Si note>=10 Alors
Ecrire("Admis")
Sinon
Ecrire("Ajourné")
Finsi
FIN

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 32


Structure alternative: Si … Alors … Sinon … Finsi
• Exemple 2 (structure alternative imbriquée): algorithme qui affiche "Mention : Très
Bien" si la note est supérieure à 16 et "Mention : passable" si elle est supérieure à 10 et
inférieure à 16.
Algorithme mention
variable note : réel
DEBUT
Si note>=16 Alors
Ecrire("Mention: très bien")
Sinon Si note>=10 Alors
Ecrire("Mention : passable")
Finsi
Finsi
FIN
AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 33
Structure alternative: Si … Alors … Sinon … Finsi
• Exercices d’application :
1- Ecrire un algorithme qui donne la valeur absolue d'un réel saisit par l'utilisateur.
Algorithme ValAbs
variable nb : réel
DEBUT
Ecrire("Saisir un nombre réel:")
Lire(nb)
Si nb>=0 Alors
Ecrire("La valeur absolue de ",nb, "est: " , nb)
Sinon
Ecrire("La valeur absolue de ",nb, "est: " , -nb)
Finsi
FIN

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 34


Structure alternative: Si … Alors … Sinon … Finsi
• Exercices d’application :
2- Ecrire un algorithme qui demande un nombre à l’utilisateur, et l’informe ensuite si ce
nombre est positif (>=0) ou négatif (<0).
Algorithme signe_nombre
variable nb : réel
DEBUT
Ecrire("Saisir un nombre réel:")
Lire(nb)
Si nb>=0 Alors
Ecrire(nb," est positif")
Sinon
Ecrire(nb," est négatif")
Finsi
FIN
AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 35
Structure alternative: Suivant Cas
L’instruction Suivant cas constitue une structure alternative à la forme en bloc [Si … Alors
…Sinon…] et permet de formuler de manière plus simple le choix du groupe d’instructions.
Syntaxe
Sivant Cas variable Faire
Cas valeur 1:
Action 1
Cas valeur 2, valeur 3, valeur 4:
Action 2
Cas valeur 5 à valeur 7:
Action 3


Sinon Cas
Action N

Fin Suivant Cas


AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 36
Structure alternative: Suivant Cas
• Remarque:
- Le sélecteur (la variable) doit avoir le même type que les valeurs devant les cas.
- Dans le cas d'utilisation d'une liste de valeurs, les listes doivent être disjointes.

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 37


Structure alternative: Suivant Cas
• Exemple: algorithme qui affiche la mention en fonction de la note.
DEBUT
Suivant Cas note Faire
Cas note >= 16:
Ecrire("Mention: très bien")
Cas note >= 14:
Ecrire("Mention : bien")
Cas note >= 12:
Ecrire("Mention : assez bien")
Cas note >= 10:
Ecrire("passable")
Sinon Cas :
Ecrire("Ajourné")
Fin suivant cas
FIN
AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 38
Structure alternative: Suivant Cas
• Exercice d’application: Ecrire l'algorithme qui permet de saisir un numéro de couleur de l'arc-
en-ciel et d'afficher la couleur correspondante :
1: rouge, 2 : orange, 3 : jaune, 4 : vert, 5 : bleu, 6 : indigo et 7 : violet.

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 39


Structure alternative: Suivant Cas
Algorithme arc_en_ciel
Variable num: entier
DEBUT
Ecrire("Saisir le numéro de la couleur:")
Lire(num)
Suivant Cas num Faire
Cas 1: Ecrire("rouge")
Cas 2: Ecrire("orange")
Cas 3: Ecrire("jaune")
Cas 4: Ecrire("vert")
Cas 5: Ecrire("bleu")
Cas 6: Ecrire("indigo")
Cas 7: Ecrire("violet")
Sinon Cas :
Ecrire("code inconnu")
Fin suivant cas
FIN
AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 40
TD2

AZBEG KEBIRA - ALGORITHMIQUE - 2022/2023 41

Vous aimerez peut-être aussi