0% ont trouvé ce document utile (0 vote)
62 vues47 pages

Cours Algo&Programation - Séance - 1 - & - 2

Le cours d'algorithmique et programmation vise à développer la pensée algorithmique, acquérir les bases de la programmation et renforcer les compétences en mathématiques. Il aborde des concepts tels que la décomposition de problèmes, la maîtrise des langages de programmation et l'utilisation de structures de contrôle. Le cours inclut également une introduction à l'algorithmique, aux variables, aux instructions conditionnelles et itératives, ainsi qu'à la programmation en langage C.

Transféré par

ahmedsaidka5
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)
62 vues47 pages

Cours Algo&Programation - Séance - 1 - & - 2

Le cours d'algorithmique et programmation vise à développer la pensée algorithmique, acquérir les bases de la programmation et renforcer les compétences en mathématiques. Il aborde des concepts tels que la décomposition de problèmes, la maîtrise des langages de programmation et l'utilisation de structures de contrôle. Le cours inclut également une introduction à l'algorithmique, aux variables, aux instructions conditionnelles et itératives, ainsi qu'à la programmation en langage C.

Transféré par

ahmedsaidka5
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

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

Vous aimerez peut-être aussi