Cours d'ALGORITHMIQUE & PROGRAMMATION
Semestre II LEM 2024-2025
GUEDDAH Hicham
École Normale Supérieure de Rabat
Université Mohammed V de Rabat
[email protected]
March 27, 2025
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 1 / 53
Objectif du cours:
Le module d'algorithmique et programmation pour les étudiants en lière
mathématiques a plusieurs objectifs pédagogiques et pratiques. Voici les
principaux :
1 Développer une pensée algorithmique
Comprendre les bases de la résolution de problèmes : Apprendre à
décomposer un problème complexe en étapes simples et structurées.
Formaliser des solutions : Traduire les solutions en étapes logiques
et précises.
2 Acquérir les bases de la programmation
Maîtriser un langage de programmation : Apprendre un langage
(comme Pascal,C,Python..) pour transformer les algorithmes en
programmes exécutables.
Utiliser des structures de contrôle : Connaître les bases comme les
boucles, les conditions, et les fonctions pour structurer le code.
3 Renforcer les compétences en mathématiques
Utiliser la programmation pour modéliser et résoudre des problèmes
mathématiques (comme les équations, les séries, ou les graphes).
Explorer les relations entre mathématiques et informatique.
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 2 / 53
Objectif du cours:
Le module d'algorithmique et programmation pour les étudiants en lière
mathématiques a plusieurs objectifs pédagogiques et pratiques. Voici les
principaux :
1 Développer une pensée algorithmique
Comprendre les bases de la résolution de problèmes : Apprendre à
décomposer un problème complexe en étapes simples et structurées.
Formaliser des solutions : Traduire les solutions en étapes logiques
et précises.
2 Acquérir les bases de la programmation
Maîtriser un langage de programmation : Apprendre un langage
(comme Pascal,C,Python..) pour transformer les algorithmes en
programmes exécutables.
Utiliser des structures de contrôle : Connaître les bases comme les
boucles, les conditions, et les fonctions pour structurer le code.
3 Renforcer les compétences en mathématiques
Utiliser la programmation pour modéliser et résoudre des problèmes
mathématiques (comme les équations, les séries, ou les graphes).
Explorer les relations entre mathématiques et informatique.
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 2 / 53
Objectif du cours:
Le module d'algorithmique et programmation pour les étudiants en lière
mathématiques a plusieurs objectifs pédagogiques et pratiques. Voici les
principaux :
1 Développer une pensée algorithmique
Comprendre les bases de la résolution de problèmes : Apprendre à
décomposer un problème complexe en étapes simples et structurées.
Formaliser des solutions : Traduire les solutions en étapes logiques
et précises.
2 Acquérir les bases de la programmation
Maîtriser un langage de programmation : Apprendre un langage
(comme Pascal,C,Python..) pour transformer les algorithmes en
programmes exécutables.
Utiliser des structures de contrôle : Connaître les bases comme les
boucles, les conditions, et les fonctions pour structurer le code.
3 Renforcer les compétences en mathématiques
Utiliser la programmation pour modéliser et résoudre des problèmes
mathématiques (comme les équations, les séries, ou les graphes).
Explorer les relations entre mathématiques et informatique.
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 2 / 53
Objectif du cours:
Le module d'algorithmique et programmation pour les étudiants en lière
mathématiques a plusieurs objectifs pédagogiques et pratiques. Voici les
principaux :
1 Développer une pensée algorithmique
Comprendre les bases de la résolution de problèmes : Apprendre à
décomposer un problème complexe en étapes simples et structurées.
Formaliser des solutions : Traduire les solutions en étapes logiques
et précises.
2 Acquérir les bases de la programmation
Maîtriser un langage de programmation : Apprendre un langage
(comme Pascal,C,Python..) pour transformer les algorithmes en
programmes exécutables.
Utiliser des structures de contrôle : Connaître les bases comme les
boucles, les conditions, et les fonctions pour structurer le code.
3 Renforcer les compétences en mathématiques
Utiliser la programmation pour modéliser et résoudre des problèmes
mathématiques (comme les équations, les séries, ou les graphes).
Explorer les relations entre mathématiques et informatique.
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 2 / 53
Plan du cours
Introduction à l'algorithmique
Notion de variable, aectation, lecture et écriture
Expressions et opérateurs
Instructions conditionnels et instructions itératives
Introduction au langage C
Les tableaux
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 3 / 53
Généralité & Dénition
Algorithme: Mot dérivé du nom du mathématicien AlKhwarizmi qui a
vécu au 9ième siécle, était membre d'un académie des sciences à Bagdad.
Al-Khawarizmi : Moh.ammad ibn Mousa
Al-Khwarizmi, né vers 783, originaire de Khiva
dans la région du Khwarezm, Ouzbékistan
actuel qui lui a donné son nom, mort vers 850
à Bagdad,
est un mathématicien, géographe, astrologue et
astronome perse, membre des Maisons de la
sagesse dont les écrits, rédigés en langue arabe,
ont permis l'introduction de l'algèbre en
Europe.
Sa vie s'est déroulée en totalité à l'époque de
la dynastie Abbasside.
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 4 / 53
Généralité & Dénition
Algorithme: Mot dérivé du nom du mathématicien AlKhwarizmi qui a
vécu au 9ième siécle, était membre d'un académie des sciences à Bagdad.
Al-Khawarizmi : Moh.ammad ibn Mousa
Al-Khwarizmi, né vers 783, originaire de Khiva
dans la région du Khwarezm, Ouzbékistan
actuel qui lui a donné son nom, mort vers 850
à Bagdad,
est un mathématicien, géographe, astrologue et
astronome perse, membre des Maisons de la
sagesse dont les écrits, rédigés en langue arabe,
ont permis l'introduction de l'algèbre en
Europe.
Sa vie s'est déroulée en totalité à l'époque de
la dynastie Abbasside.
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 4 / 53
Dénition -1-
Un algorithme est une description complète et détaillée des actions
à eectuer et de leur séquencement pour arriver à un résultat donné.
Dénition -2-
Un algorithme est une suite d'actions précises et nies qui doivent
être exécutées sur un ensemble de données dans un ordre bien déter-
miné en vue de la résolution d'un problème.
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 5 / 53
Dénition -1-
Un algorithme est une description complète et détaillée des actions
à eectuer et de leur séquencement pour arriver à un résultat donné.
Dénition -2-
Un algorithme est une suite d'actions précises et nies qui doivent
être exécutées sur un ensemble de données dans un ordre bien déter-
miné en vue de la résolution d'un problème.
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 5 / 53
Dénition -1-
Un algorithme est une description complète et détaillée des actions
à eectuer et de leur séquencement pour arriver à un résultat donné.
Dénition -2-
Un algorithme est une suite d'actions précises et nies qui doivent
être exécutées sur un ensemble de données dans un ordre bien déter-
miné en vue de la résolution d'un problème.
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 5 / 53
Algorithme = méthode de résolution
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 ecaces
Le langage algorithmique est un compromis entre le langage
naturel compris par l'être humain et un langage de
programmation compris par la machine.
C'est un pseudo-langage qui est conçu pour résoudre les
problèmes et applications sans aucune contrainte due aux langages
de programmation et aux spécicités de la machine.
Ce pseudo-langage sera ensuite traduit et codé dans le langage de
programmation désiré.
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 6 / 53
La résolution d'un problème est caractérisé par 4 étapes :
Comprendre la nature du problème posé
Préciser les données fournies (Entrées)
Préciser les résultats que l'on désire obtenir (Sorties)
Déterminer le processus de transformation des
données en résultats.
Une bonne connaissance de l'algorithmique permet
d'écrire des algorithmes exacts et ecaces
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 7 / 53
Exemple-1-
Langage naturel Langage Langage
Algorithmique Programmation
La surface d'un cercle pi ← 3.14 oat r,S,pi= 3.14;
est le produit du carré Ecrire("Entrer le printf("Entrer le
de son rayon avec π rayon r:" ) rayon r:");
Lire(r) scanf("%f",&r);
S ← pi*r*r S = pi*r*r;
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 8 / 53
Exemple-1-
Langage naturel Langage Langage
Algorithmique Programmation
La surface d'un cercle pi ← 3.14 oat r,S,pi= 3.14;
est le produit du carré Ecrire("Entrer le printf("Entrer le
de son rayon avec π rayon r:" ) rayon r:");
Lire(r) scanf("%f",&r);
S ← pi*r*r S = pi*r*r;
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 8 / 53
Exemple-1-
Langage naturel Langage Langage
Algorithmique Programmation
La surface d'un cercle pi ← 3.14 oat r,S,pi= 3.14;
est le produit du carré Ecrire("Entrer le printf("Entrer le
de son rayon avec π rayon r:" ) rayon r:");
Lire(r) scanf("%f",&r);
S ← pi*r*r S = pi*r*r;
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 8 / 53
Exemple-2-
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
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 9 / 53
Exemple -3-
Figure: Algorithme de résolution d'équation de 2ème degré
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 10 / 53
Objectifs d'un algorithme
Un algorithme sert à transmettre un savoir faire.
Il décrit les étapes à suivre pour réaliser un travail.
Il permet d'expliciter clairement les idées de solution
d'un problème indépendamment d'un langage de
programmation.
L'utilisateur d'un algorithme n'aura qu'à suivre les
instructions, dans l'ordre pour arriver au résultat que
doit donner l'algorithme.
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 11 / 53
Objectifs d'un algorithme
Un algorithme sert à transmettre un savoir faire.
Il décrit les étapes à suivre pour réaliser un travail.
Il permet d'expliciter clairement les idées de solution
d'un problème indépendamment d'un langage de
programmation.
L'utilisateur d'un algorithme n'aura qu'à suivre les
instructions, dans l'ordre pour arriver au résultat que
doit donner l'algorithme.
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 11 / 53
Propriétés d'un algorithme
Un algorithme doit:
avoir un nombre ni d'étapes,
avoir un nombre ni d'opérations par étape,
se terminer après un nombre ni d'opérations,
fournir un résultat.
les séquences (instructions, étapes) se succèdent
dans un certain ordre
Chaque opération doit être dénie rigoureusement et
sans ambiguïté
Un algorithme est caractérisé par un début et une n
Le comportement d'un algorithme est déterministe.
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 12 / 53
Propriétés d'un algorithme
Un algorithme doit:
avoir un nombre ni d'étapes,
avoir un nombre ni d'opérations par étape,
se terminer après un nombre ni d'opérations,
fournir un résultat.
les séquences (instructions, étapes) se succèdent
dans un certain ordre
Chaque opération doit être dénie rigoureusement et
sans ambiguïté
Un algorithme est caractérisé par un début et une n
Le comportement d'un algorithme est déterministe.
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 12 / 53
Algorithme et Programme
L'élaboration d'un algorithme précède l'étape de programmation
Un programme est un algorithme
Un langage de programmation est un langage compris par
l'ordinateur
Comment exécuter un algorithme sur ordinateur?
Il faut traduire cet algorithme à l'aide d'un langage de
programmation connu par l'ordinateur.
L'élaboration d'un algorithme est une démarche de résolution de
problème exigeante
La rédaction d'un algorithme est un exercice de réexion qui se fait
sur papier
L'algorithme est indépendant du langage de programmation
Par exemple, on utilisera le même algorithme pour une
implantation en Java, ou bien en C++ ou en Visual Basic
L'algorithme est la résolution brute d'un problème informatique
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 13 / 53
Représentation d'un algorithme
Historiquement, deux façons pour représenter un algorithme:
L' Organigramme : représentation graphique avec des
symboles (carrés, losanges, etc.)
Ore une vue d'ensemble de l'algorithme
Représentation quasiment abandonnée aujourd'hui.
Le Pseudo-code : 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
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 14 / 53
Représentation d'un algorithme
Historiquement, deux façons pour représenter un algorithme:
L' Organigramme : représentation graphique avec des
symboles (carrés, losanges, etc.)
Ore une vue d'ensemble de l'algorithme
Représentation quasiment abandonnée aujourd'hui.
Le Pseudo-code : 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
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 14 / 53
Figure: Pseudo-Code Figure: Organigramme
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 15 / 53
Les Problèmes Fondamentaux en Algorithmique
Complexité
En combien de temps un algorithme va -t-il atteindre le
résultat escompté?
De quel espace a-t-il besoin?
Calculabilité
Existe-t-il des tâches pour lesquelles il n'existe aucun
algorithme ?
Etant donnée une tâche, peut-on dire s'il existe un
algorithme qui la résolve ?
Correction
Peut-on être sûr qu'un algorithme réponde au problème pour
lequel il a été conçu ?
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 16 / 53
Les Problèmes Fondamentaux en Algorithmique
Complexité
En combien de temps un algorithme va -t-il atteindre le
résultat escompté?
De quel espace a-t-il besoin?
Calculabilité
Existe-t-il des tâches pour lesquelles il n'existe aucun
algorithme ?
Etant donnée une tâche, peut-on dire s'il existe un
algorithme qui la résolve ?
Correction
Peut-on être sûr qu'un algorithme réponde au problème pour
lequel il a été conçu ?
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 16 / 53
Les Problèmes Fondamentaux en Algorithmique
Complexité
En combien de temps un algorithme va -t-il atteindre le
résultat escompté?
De quel espace a-t-il besoin?
Calculabilité
Existe-t-il des tâches pour lesquelles il n'existe aucun
algorithme ?
Etant donnée une tâche, peut-on dire s'il existe un
algorithme qui la résolve ?
Correction
Peut-on être sûr qu'un algorithme réponde au problème pour
lequel il a été conçu ?
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 16 / 53
Les Problèmes Fondamentaux en Algorithmique
Complexité
En combien de temps un algorithme va -t-il atteindre le
résultat escompté?
De quel espace a-t-il besoin?
Calculabilité
Existe-t-il des tâches pour lesquelles il n'existe aucun
algorithme ?
Etant donnée une tâche, peut-on dire s'il existe un
algorithme qui la résolve ?
Correction
Peut-on être sûr qu'un algorithme réponde au problème pour
lequel il a été conçu ?
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 16 / 53
1. Algorithmique : Notions de base
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 17 / 53
1.1 Notion de variable
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 18 / 53
Notion de variable
Dans les langages de programmation une variable sert à
stocker la valeur d'une donnée
( le texte et les nombres sont des données élémentaires )
Une variable désigne en fait un
emplacement mémoire dont le contenu peut changer au cours
d'un programme (d'où le nom variable)
Règle
Les variables doivent être déclarées avant d'être utilisées , elle doivent
être caractérisées par:
un nom (Identicateur)
un type (entier, réel, caractère, chaîne de caractères, . . . )
Une valeur
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 19 / 53
Notion de variable
Dans les langages de programmation une variable sert à
stocker la valeur d'une donnée
( le texte et les nombres sont des données élémentaires )
Une variable désigne en fait un
emplacement mémoire dont le contenu peut changer au cours
d'un programme (d'où le nom variable)
Règle
Les variables doivent être déclarées avant d'être utilisées , elle doivent
être caractérisées par:
un nom (Identicateur)
un type (entier, réel, caractère, chaîne de caractères, . . . )
Une valeur
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 19 / 53
Identicateur de Variable: Régles
Le choix des identicateurs (nom) de variables est soumis à quelques
règles qui varient selon le langage, mais en général:
Règle
Un nom doit commencer par une lettre alphabétique
exemple valide: A1 exemple invalide: 1A
Doit être constitué uniquement de lettres, de chires et du
soulignement _ (Eviter les caractères de ponctuation et les
espaces) valides: Algo25, algo_25
invalides: algo 25,algo-25,algo;25
Doit être diérent des mots réservés du langage (par exemple
en C: int, oat, if,else, switch, case, for, do · · · )
La longueur de l'inditicateur doit être court.
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 20 / 53
Variable: Type de base (Primitifs)
Le type d'une variable détermine l'ensemble des valeurs qu'elle peut pren-
dre. On distingue entre:
Entier:
Pour les valeurs numériques entiers. Exemples: 0, -3, 255, -127....
Réel
Pour les valeurs numériques réels. Exemples: 1.327, 15.0, -1237.9936...
Caractère
Pour les caractères alphanumériques. Exemples: 'A' ,'Z','a','z','@','#','7', '5',..
Chaine de Caractère
suite de caractères qui repr"sente un mot ou une phrase. Exemple: "Algorithme",
"Programmation", "Semestre 2",..
Booléen
Pour les valeurs logiques. Exemples: Vrai ou Faux
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 21 / 53
Variable: Type de base (Primitifs)
Le type d'une variable détermine l'ensemble des valeurs qu'elle peut pren-
dre. On distingue entre:
Entier:
Pour les valeurs numériques entiers. Exemples: 0, -3, 255, -127....
Réel
Pour les valeurs numériques réels. Exemples: 1.327, 15.0, -1237.9936...
Caractère
Pour les caractères alphanumériques. Exemples: 'A' ,'Z','a','z','@','#','7', '5',..
Chaine de Caractère
suite de caractères qui repr"sente un mot ou une phrase. Exemple: "Algorithme",
"Programmation", "Semestre 2",..
Booléen
Pour les valeurs logiques. Exemples: Vrai ou Faux
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 21 / 53
Variable: Type de base (Primitifs)
Le type d'une variable détermine l'ensemble des valeurs qu'elle peut pren-
dre. On distingue entre:
Entier:
Pour les valeurs numériques entiers. Exemples: 0, -3, 255, -127....
Réel
Pour les valeurs numériques réels. Exemples: 1.327, 15.0, -1237.9936...
Caractère
Pour les caractères alphanumériques. Exemples: 'A' ,'Z','a','z','@','#','7', '5',..
Chaine de Caractère
suite de caractères qui repr"sente un mot ou une phrase. Exemple: "Algorithme",
"Programmation", "Semestre 2",..
Booléen
Pour les valeurs logiques. Exemples: Vrai ou Faux
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 21 / 53
Variable: Type de base (Primitifs)
Le type d'une variable détermine l'ensemble des valeurs qu'elle peut pren-
dre. On distingue entre:
Entier:
Pour les valeurs numériques entiers. Exemples: 0, -3, 255, -127....
Réel
Pour les valeurs numériques réels. Exemples: 1.327, 15.0, -1237.9936...
Caractère
Pour les caractères alphanumériques. Exemples: 'A' ,'Z','a','z','@','#','7', '5',..
Chaine de Caractère
suite de caractères qui repr"sente un mot ou une phrase. Exemple: "Algorithme",
"Programmation", "Semestre 2",..
Booléen
Pour les valeurs logiques. Exemples: Vrai ou Faux
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 21 / 53
Variable: Type de base (Primitifs)
Le type d'une variable détermine l'ensemble des valeurs qu'elle peut pren-
dre. On distingue entre:
Entier:
Pour les valeurs numériques entiers. Exemples: 0, -3, 255, -127....
Réel
Pour les valeurs numériques réels. Exemples: 1.327, 15.0, -1237.9936...
Caractère
Pour les caractères alphanumériques. Exemples: 'A' ,'Z','a','z','@','#','7', '5',..
Chaine de Caractère
suite de caractères qui repr"sente un mot ou une phrase. Exemple: "Algorithme",
"Programmation", "Semestre 2",..
Booléen
Pour les valeurs logiques. Exemples: Vrai ou Faux
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 21 / 53
Variable: Type de base (Primitifs)
Le type d'une variable détermine l'ensemble des valeurs qu'elle peut pren-
dre. On distingue entre:
Entier:
Pour les valeurs numériques entiers. Exemples: 0, -3, 255, -127....
Réel
Pour les valeurs numériques réels. Exemples: 1.327, 15.0, -1237.9936...
Caractère
Pour les caractères alphanumériques. Exemples: 'A' ,'Z','a','z','@','#','7', '5',..
Chaine de Caractère
suite de caractères qui repr"sente un mot ou une phrase. Exemple: "Algorithme",
"Programmation", "Semestre 2",..
Booléen
Pour les valeurs logiques. Exemples: Vrai ou Faux
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 21 / 53
Le type d'une variable permet de préciser 3 caractéristiques
principales:
l'ensemble de valeur que peut prendre la variable, par
exemple on ne peut pas aecter la valeur 3,14 à une
variable de type entier .
la taille mémoire réservée à la variable.
les diérents opérateurs qui peuvent agir sur les
données de ces variables.
Par exemple on ne peut pas éectuer l'addition de
deux variables de type chaine de caractères.
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 22 / 53
Déclaration des variables
Rappel: toute variable utilisée dans un programme
doit être impérativement déclarée.
En pseudo-code, on va adopter la forme suivante
pour la déclaration de variables
Variables liste d'identicateurs : type
Exemple:
Variables i, j, k : entier
x, y : réel
True, False : booléen
ch1, ch2 : chaîne de caractères
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 23 / 53
L'instruction d'aectation l'aectation consiste à
attribuer une valeur à une variable (ça consiste en
fait à remplir où à modier le contenu d'une zone
mémoire)
En pseudo-code, l'aectation se note avec le signe
←
Var ← E
: attribue la valeur E à la variable Var
E peut être une valeur, une autre variable ou une expression
Var et E doivent être de même type ou de types compatibles
l'aectation ne modie que ce qui est à gauche de la èche
Aectation valides:
i 1 , j i , k i+j , x 10.3 ,
True FAUX , ch1 "LEM" , ch2 ch1
Aectation non valides: i
10.3 , False "ENS" , j x
i 10.3 True "ENS" , j x
(voir la déclaration des variables dans le transparent précédent)
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 24 / 53
Quelques remarques
Beaucoup de langages de programmation (C/C++,
Java,Python,..) utilisent le signe égal = pour
l'aectation, (Pascal utilise := )
Attention aux confusions:
l'aectation n'est pas commutative : A=B est diérente
de B=A
l'aectation est diérente d'une équation mathématique :
A=A+1 a un sens en langages de programmation
A+1=2 n'est pas possible en langages de programmation
et n'est pas équivalente à A=1
Certains langages donnent des valeurs par défaut aux
variables déclarées.
Pour éviter tout problème il faut initialiser les
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 25 / 53
Figure: Syntaxe générale d'un Algorithme
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 26 / 53
Opérations sur des variables
GUEDDAH Hicham (UM5R) Algorithmique & Programmation ENS-Rabat 27 / 53