Introduction à l’algorithmique
Codage et structures de contrôle
Procédures et fonctions
Cours: Informatique – L3-Géomètre-Topographe
Mor Absa LOUM
(
[email protected],
[email protected])
Université de Thiès
UFR de Sciences de l’ingénieur
October 26, 2021
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction à l’algorithmique
Codage et structures de contrôle
Procédures et fonctions
Programme: 28h (Cours + TDs/TPs)
Partie 1: Algorithmique
Chapitre 1: Introduction à l’algorithmique
Chapitre 2: Codage et structures de contrôle
Chapitre 3: Procédures et fonctions
Chapitre 4: Les tableaux
Chapitre 5: La Récursivité
Partie 2: Programmation
Chapitre 1: Introduction à la programmation (Python)
Chapitre 2: Variables et affichage
Chapitre 3: Structures de contrôle
Chapitre 4: Listes (tableaux)
Chapitre 5: Fonctions
Chapitre 6: Fichiers
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction à l’algorithmique
Codage et structures de contrôle
Procédures et fonctions
Programme: 28h (Cours + TDs/TPs)
Partie 1: Algorithmique
Chapitre 1: Introduction à l’algorithmique
Chapitre 2: Codage et structures de contrôle
Chapitre 3: Procédures et fonctions
Chapitre 4: Les tableaux
Chapitre 5: La Récursivité
Partie 2: Programmation
Chapitre 1: Introduction à la programmation (Python)
Chapitre 2: Variables et affichage
Chapitre 3: Structures de contrôle
Chapitre 4: Listes (tableaux)
Chapitre 5: Fonctions
Chapitre 6: Fichiers
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction à l’algorithmique
Codage et structures de contrôle
Procédures et fonctions
Programme: 28h (Cours + TDs/TPs)
Partie 1: Algorithmique
Chapitre 1: Introduction à l’algorithmique
Chapitre 2: Codage et structures de contrôle
Chapitre 3: Procédures et fonctions
Chapitre 4: Les tableaux
Chapitre 5: La Récursivité
Partie 2: Programmation
Chapitre 1: Introduction à la programmation (Python)
Chapitre 2: Variables et affichage
Chapitre 3: Structures de contrôle
Chapitre 4: Listes (tableaux)
Chapitre 5: Fonctions
Chapitre 6: Fichiers
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction à l’algorithmique
Codage et structures de contrôle
Procédures et fonctions
Programme: 28h (Cours + TDs/TPs)
Partie 1: Algorithmique
Chapitre 1: Introduction à l’algorithmique
Chapitre 2: Codage et structures de contrôle
Chapitre 3: Procédures et fonctions
Chapitre 4: Les tableaux
Chapitre 5: La Récursivité
Partie 2: Programmation
Chapitre 1: Introduction à la programmation (Python)
Chapitre 2: Variables et affichage
Chapitre 3: Structures de contrôle
Chapitre 4: Listes (tableaux)
Chapitre 5: Fonctions
Chapitre 6: Fichiers
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction à l’algorithmique
Codage et structures de contrôle
Procédures et fonctions
Programme: 28h (Cours + TDs/TPs)
Partie 1: Algorithmique
Chapitre 1: Introduction à l’algorithmique
Chapitre 2: Codage et structures de contrôle
Chapitre 3: Procédures et fonctions
Chapitre 4: Les tableaux
Chapitre 5: La Récursivité
Partie 2: Programmation
Chapitre 1: Introduction à la programmation (Python)
Chapitre 2: Variables et affichage
Chapitre 3: Structures de contrôle
Chapitre 4: Listes (tableaux)
Chapitre 5: Fonctions
Chapitre 6: Fichiers
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction à l’algorithmique
Codage et structures de contrôle
Procédures et fonctions
Programme: 28h (Cours + TDs/TPs)
Partie 1: Algorithmique
Chapitre 1: Introduction à l’algorithmique
Chapitre 2: Codage et structures de contrôle
Chapitre 3: Procédures et fonctions
Chapitre 4: Les tableaux
Chapitre 5: La Récursivité
Partie 2: Programmation
Chapitre 1: Introduction à la programmation (Python)
Chapitre 2: Variables et affichage
Chapitre 3: Structures de contrôle
Chapitre 4: Listes (tableaux)
Chapitre 5: Fonctions
Chapitre 6: Fichiers
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction à l’algorithmique
Codage et structures de contrôle
Procédures et fonctions
Programme: 28h (Cours + TDs/TPs)
Partie 1: Algorithmique
Chapitre 1: Introduction à l’algorithmique
Chapitre 2: Codage et structures de contrôle
Chapitre 3: Procédures et fonctions
Chapitre 4: Les tableaux
Chapitre 5: La Récursivité
Partie 2: Programmation
Chapitre 1: Introduction à la programmation (Python)
Chapitre 2: Variables et affichage
Chapitre 3: Structures de contrôle
Chapitre 4: Listes (tableaux)
Chapitre 5: Fonctions
Chapitre 6: Fichiers
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction à l’algorithmique
Codage et structures de contrôle
Procédures et fonctions
Programme: 28h (Cours + TDs/TPs)
Partie 1: Algorithmique
Chapitre 1: Introduction à l’algorithmique
Chapitre 2: Codage et structures de contrôle
Chapitre 3: Procédures et fonctions
Chapitre 4: Les tableaux
Chapitre 5: La Récursivité
Partie 2: Programmation
Chapitre 1: Introduction à la programmation (Python)
Chapitre 2: Variables et affichage
Chapitre 3: Structures de contrôle
Chapitre 4: Listes (tableaux)
Chapitre 5: Fonctions
Chapitre 6: Fichiers
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction à l’algorithmique
Codage et structures de contrôle
Procédures et fonctions
Programme: 28h (Cours + TDs/TPs)
Partie 1: Algorithmique
Chapitre 1: Introduction à l’algorithmique
Chapitre 2: Codage et structures de contrôle
Chapitre 3: Procédures et fonctions
Chapitre 4: Les tableaux
Chapitre 5: La Récursivité
Partie 2: Programmation
Chapitre 1: Introduction à la programmation (Python)
Chapitre 2: Variables et affichage
Chapitre 3: Structures de contrôle
Chapitre 4: Listes (tableaux)
Chapitre 5: Fonctions
Chapitre 6: Fichiers
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction à l’algorithmique
Codage et structures de contrôle
Procédures et fonctions
Programme: 28h (Cours + TDs/TPs)
Partie 1: Algorithmique
Chapitre 1: Introduction à l’algorithmique
Chapitre 2: Codage et structures de contrôle
Chapitre 3: Procédures et fonctions
Chapitre 4: Les tableaux
Chapitre 5: La Récursivité
Partie 2: Programmation
Chapitre 1: Introduction à la programmation (Python)
Chapitre 2: Variables et affichage
Chapitre 3: Structures de contrôle
Chapitre 4: Listes (tableaux)
Chapitre 5: Fonctions
Chapitre 6: Fichiers
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction à l’algorithmique
Codage et structures de contrôle
Procédures et fonctions
Programme: 28h (Cours + TDs/TPs)
Partie 1: Algorithmique
Chapitre 1: Introduction à l’algorithmique
Chapitre 2: Codage et structures de contrôle
Chapitre 3: Procédures et fonctions
Chapitre 4: Les tableaux
Chapitre 5: La Récursivité
Partie 2: Programmation
Chapitre 1: Introduction à la programmation (Python)
Chapitre 2: Variables et affichage
Chapitre 3: Structures de contrôle
Chapitre 4: Listes (tableaux)
Chapitre 5: Fonctions
Chapitre 6: Fichiers
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction à l’algorithmique
Codage et structures de contrôle
Procédures et fonctions
Programme: 28h (Cours + TDs/TPs)
Partie 1: Algorithmique
Chapitre 1: Introduction à l’algorithmique
Chapitre 2: Codage et structures de contrôle
Chapitre 3: Procédures et fonctions
Chapitre 4: Les tableaux
Chapitre 5: La Récursivité
Partie 2: Programmation
Chapitre 1: Introduction à la programmation (Python)
Chapitre 2: Variables et affichage
Chapitre 3: Structures de contrôle
Chapitre 4: Listes (tableaux)
Chapitre 5: Fonctions
Chapitre 6: Fichiers
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction à l’algorithmique
Codage et structures de contrôle
Procédures et fonctions
Programme: 28h (Cours + TDs/TPs)
Partie 1: Algorithmique
Chapitre 1: Introduction à l’algorithmique
Chapitre 2: Codage et structures de contrôle
Chapitre 3: Procédures et fonctions
Chapitre 4: Les tableaux
Chapitre 5: La Récursivité
Partie 2: Programmation
Chapitre 1: Introduction à la programmation (Python)
Chapitre 2: Variables et affichage
Chapitre 3: Structures de contrôle
Chapitre 4: Listes (tableaux)
Chapitre 5: Fonctions
Chapitre 6: Fichiers
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction à l’algorithmique
Codage et structures de contrôle
Procédures et fonctions
1 Introduction à l’algorithmique
Algorithme
Propriétés d’un algorithme
Représentation schématique d’un algorithme
La programmation informatique
La structure générale d’un algorithme
2 Codage et structures de contrôle
Les constantes et les variables
Les types de bases
Les opérateurs sur les types de bases
Structures conditionnelles
Structures répétitives
3 Procédures et fonctions
Introduction
Syntaxe
Applications
Récursivité
Informatique Cours: Informatique – L3-Géomètre-Topographe
Algorithme
Introduction à l’algorithmique Propriétés d’un algorithme
Codage et structures de contrôle Représentation schématique d’un algorithme
Procédures et fonctions La programmation informatique
La structure générale d’un algorithme
1 Introduction à l’algorithmique
Algorithme
Propriétés d’un algorithme
Représentation schématique d’un algorithme
La programmation informatique
La structure générale d’un algorithme
2 Codage et structures de contrôle
Les constantes et les variables
Les types de bases
Les opérateurs sur les types de bases
Structures conditionnelles
Structures répétitives
3 Procédures et fonctions
Introduction
Syntaxe
Applications
Récursivité
Informatique Cours: Informatique – L3-Géomètre-Topographe
Algorithme
Introduction à l’algorithmique Propriétés d’un algorithme
Codage et structures de contrôle Représentation schématique d’un algorithme
Procédures et fonctions La programmation informatique
La structure générale d’un algorithme
Définitions
Algorithmique
L’algorithmique est une science très ancienne dont le nom vient d’un
mathématicien arabe du XIX siècle Al-Khawarizmi. L’algorithmique désigne
actuellement la science qui étudie l’application des algorithmes à l’informatique.
Algorithme
Un algorithme est une suite d’instructions qui une fois exécuté
correctement, conduit à un résultat donné. Si l’algorithme est juste, le
résultat est le “résultat voulu”.
Un algorithme est aussi défini comme une spécification d’un schéma de
calcul, sous forme d’une suite d’opérations élémentaires obéissant à un
enchainement déterminé.
Exemple
Recette de thiébou Djieun
Utilisation d’un mode d’emploi
Informatique Cours: Informatique – L3-Géomètre-Topographe
Algorithme
Introduction à l’algorithmique Propriétés d’un algorithme
Codage et structures de contrôle Représentation schématique d’un algorithme
Procédures et fonctions La programmation informatique
La structure générale d’un algorithme
Définitions
Algorithmique
L’algorithmique est une science très ancienne dont le nom vient d’un
mathématicien arabe du XIX siècle Al-Khawarizmi. L’algorithmique désigne
actuellement la science qui étudie l’application des algorithmes à l’informatique.
Algorithme
Un algorithme est une suite d’instructions qui une fois exécuté
correctement, conduit à un résultat donné. Si l’algorithme est juste, le
résultat est le “résultat voulu”.
Un algorithme est aussi défini comme une spécification d’un schéma de
calcul, sous forme d’une suite d’opérations élémentaires obéissant à un
enchainement déterminé.
Exemple
Recette de thiébou Djieun
Utilisation d’un mode d’emploi
Informatique Cours: Informatique – L3-Géomètre-Topographe
Algorithme
Introduction à l’algorithmique Propriétés d’un algorithme
Codage et structures de contrôle Représentation schématique d’un algorithme
Procédures et fonctions La programmation informatique
La structure générale d’un algorithme
Définitions
Algorithmique
L’algorithmique est une science très ancienne dont le nom vient d’un
mathématicien arabe du XIX siècle Al-Khawarizmi. L’algorithmique désigne
actuellement la science qui étudie l’application des algorithmes à l’informatique.
Algorithme
Un algorithme est une suite d’instructions qui une fois exécuté
correctement, conduit à un résultat donné. Si l’algorithme est juste, le
résultat est le “résultat voulu”.
Un algorithme est aussi défini comme une spécification d’un schéma de
calcul, sous forme d’une suite d’opérations élémentaires obéissant à un
enchainement déterminé.
Exemple
Recette de thiébou Djieun
Utilisation d’un mode d’emploi
Informatique Cours: Informatique – L3-Géomètre-Topographe
Algorithme
Introduction à l’algorithmique Propriétés d’un algorithme
Codage et structures de contrôle Représentation schématique d’un algorithme
Procédures et fonctions La programmation informatique
La structure générale d’un algorithme
Propriétés d’un algorithme
Propriétés
Un algorithme doit être:
1. Précis: il doit indiquer
l’ordre des étapes qui le constituent
à quel moment il faut cesser une action
à quel moment il faut en commencer une autre
comment choisir entre différentes possibilités
2. Déterministe: Une suite d’exécutions à partir des mêmes données doit
produire des résultats identiques.
3. Fini dans le temps et productif: C’est-à-dire s’arrêter au bout d’un
temps fini en fournissant le résultat escompté.
Informatique Cours: Informatique – L3-Géomètre-Topographe
Algorithme
Introduction à l’algorithmique Propriétés d’un algorithme
Codage et structures de contrôle Représentation schématique d’un algorithme
Procédures et fonctions La programmation informatique
La structure générale d’un algorithme
Exemple
la résolution de l’équation du premier degré Ax + B = 0.
Lire les coefficients A et B
Si A est non nul alors
affecter à x la valeur −B/A.
Sinon
Si B est nul alors
afficher tout réel est solution
Sinon
afficher pas de solution
Informatique Cours: Informatique – L3-Géomètre-Topographe
Algorithme
Introduction à l’algorithmique Propriétés d’un algorithme
Codage et structures de contrôle Représentation schématique d’un algorithme
Procédures et fonctions La programmation informatique
La structure générale d’un algorithme
Organigramme
La représentation schématique d’un algorithme est couramment désignée par le
terme organigramme.
L’organigramme permet donc la mise en œuvre de symboles représentant des
traitements, des données, des liaisons... Il présente l’intérêt d’une visualisation
globale mais reste limité aux études peu complexes (s’il ne tient plus sur une
page, l’organigramme devient illisible · · · ). En voici quelques symboles:
Figure: Quelques symboles
Informatique Cours: Informatique – L3-Géomètre-Topographe
Algorithme
Introduction à l’algorithmique Propriétés d’un algorithme
Codage et structures de contrôle Représentation schématique d’un algorithme
Procédures et fonctions La programmation informatique
La structure générale d’un algorithme
Organigramme de la résolution de l’équation du premier degré Ax + B = 0.
Figure: Organigramme de résolution de l’équation Ax + B = 0.
Informatique Cours: Informatique – L3-Géomètre-Topographe
Algorithme
Introduction à l’algorithmique Propriétés d’un algorithme
Codage et structures de contrôle Représentation schématique d’un algorithme
Procédures et fonctions La programmation informatique
La structure générale d’un algorithme
La programmation informatique
Informatique Cours: Informatique – L3-Géomètre-Topographe
Algorithme
Introduction à l’algorithmique Propriétés d’un algorithme
Codage et structures de contrôle Représentation schématique d’un algorithme
Procédures et fonctions La programmation informatique
La structure générale d’un algorithme
La programmation informatique
Informatique Cours: Informatique – L3-Géomètre-Topographe
Algorithme
Introduction à l’algorithmique Propriétés d’un algorithme
Codage et structures de contrôle Représentation schématique d’un algorithme
Procédures et fonctions La programmation informatique
La structure générale d’un algorithme
La programmation informatique
Informatique Cours: Informatique – L3-Géomètre-Topographe
Algorithme
Introduction à l’algorithmique Propriétés d’un algorithme
Codage et structures de contrôle Représentation schématique d’un algorithme
Procédures et fonctions La programmation informatique
La structure générale d’un algorithme
La structure générale d’un algorithme
Informatique Cours: Informatique – L3-Géomètre-Topographe
Algorithme
Introduction à l’algorithmique Propriétés d’un algorithme
Codage et structures de contrôle Représentation schématique d’un algorithme
Procédures et fonctions La programmation informatique
La structure générale d’un algorithme
La structure générale d’un algorithme
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
1 Introduction à l’algorithmique
Algorithme
Propriétés d’un algorithme
Représentation schématique d’un algorithme
La programmation informatique
La structure générale d’un algorithme
2 Codage et structures de contrôle
Les constantes et les variables
Les types de bases
Les opérateurs sur les types de bases
Structures conditionnelles
Structures répétitives
3 Procédures et fonctions
Introduction
Syntaxe
Applications
Récursivité
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Les constantes et les variables
Les constantes représentent des nombres, des chiffres, des caractères et
des chaines de caractères. Une fois initialisé, leurs valeurs ne peuvent
pas être modifier tout au long de l’exécution de l’algorithme.
Mot clé: constante
Les variables représentent des nombres, des chiffres, des caractères, des
chaines de caractères. Leurs valeurs peuvent être modifiées tout au long
de l’exécution de l’algorithme.
Mot clé: variable
Caractéristiques
les constantes et les variables sont définies par deux caractéristiques
fondamentales:
l’identificateur: correspond au nom et est composé de lettres et de chiffres
le type: détermine la nature et les propriétés (opérations réalisables sur ce
type)
constante identificateur = valeur; variable identificateur : type;
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Les constantes et les variables
Les constantes représentent des nombres, des chiffres, des caractères et
des chaines de caractères. Une fois initialisé, leurs valeurs ne peuvent
pas être modifier tout au long de l’exécution de l’algorithme.
Mot clé: constante
Les variables représentent des nombres, des chiffres, des caractères, des
chaines de caractères. Leurs valeurs peuvent être modifiées tout au long
de l’exécution de l’algorithme.
Mot clé: variable
Caractéristiques
les constantes et les variables sont définies par deux caractéristiques
fondamentales:
l’identificateur: correspond au nom et est composé de lettres et de chiffres
le type: détermine la nature et les propriétés (opérations réalisables sur ce
type)
constante identificateur = valeur; variable identificateur : type;
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Les constantes et les variables
Les constantes représentent des nombres, des chiffres, des caractères et
des chaines de caractères. Une fois initialisé, leurs valeurs ne peuvent
pas être modifier tout au long de l’exécution de l’algorithme.
Mot clé: constante
Les variables représentent des nombres, des chiffres, des caractères, des
chaines de caractères. Leurs valeurs peuvent être modifiées tout au long
de l’exécution de l’algorithme.
Mot clé: variable
Caractéristiques
les constantes et les variables sont définies par deux caractéristiques
fondamentales:
l’identificateur: correspond au nom et est composé de lettres et de chiffres
le type: détermine la nature et les propriétés (opérations réalisables sur ce
type)
constante identificateur = valeur; variable identificateur : type;
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Les types de bases
Le booléen (mot clé : Booléen) VRAI ou FAUX. C’est un type logique
qui peut prendre que les valeurs VRAI ou FAUX. Il servira pour les
expressions et les conditions.
Le caractère (mot clé : Caractère) ‘a’, ‘!’, ‘8’, ‘*’, ‘B’. Il prend ses valeurs
dans l’ensemble des caractères de la table ASCII.
L’entier (mot clé : Entier) 45, −565, · · · Il prend ses valeurs dans un
sous-ensemble des entiers relatifs. C’est un ensemble dans lequel chaque
élément possède un successeur et un prédécesseur.
Le réel (mot clé : Réel) −3.67, 4.2569, 18.2e − 6. Il prend ses valeurs dans
un sous-ensemble de réels décimaux signés. Dans la plupart des langages,
cet ensemble n’est pas un ensemble fini.
La chaine de caractères (mot clé : Chaine) ‘bonjour’, ‘chaine de
caractères’. Ce type se compose d’une suite de symboles de type caractère.
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Les types de bases
Le booléen (mot clé : Booléen) VRAI ou FAUX. C’est un type logique
qui peut prendre que les valeurs VRAI ou FAUX. Il servira pour les
expressions et les conditions.
Le caractère (mot clé : Caractère) ‘a’, ‘!’, ‘8’, ‘*’, ‘B’. Il prend ses valeurs
dans l’ensemble des caractères de la table ASCII.
L’entier (mot clé : Entier) 45, −565, · · · Il prend ses valeurs dans un
sous-ensemble des entiers relatifs. C’est un ensemble dans lequel chaque
élément possède un successeur et un prédécesseur.
Le réel (mot clé : Réel) −3.67, 4.2569, 18.2e − 6. Il prend ses valeurs dans
un sous-ensemble de réels décimaux signés. Dans la plupart des langages,
cet ensemble n’est pas un ensemble fini.
La chaine de caractères (mot clé : Chaine) ‘bonjour’, ‘chaine de
caractères’. Ce type se compose d’une suite de symboles de type caractère.
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Les types de bases
Le booléen (mot clé : Booléen) VRAI ou FAUX. C’est un type logique
qui peut prendre que les valeurs VRAI ou FAUX. Il servira pour les
expressions et les conditions.
Le caractère (mot clé : Caractère) ‘a’, ‘!’, ‘8’, ‘*’, ‘B’. Il prend ses valeurs
dans l’ensemble des caractères de la table ASCII.
L’entier (mot clé : Entier) 45, −565, · · · Il prend ses valeurs dans un
sous-ensemble des entiers relatifs. C’est un ensemble dans lequel chaque
élément possède un successeur et un prédécesseur.
Le réel (mot clé : Réel) −3.67, 4.2569, 18.2e − 6. Il prend ses valeurs dans
un sous-ensemble de réels décimaux signés. Dans la plupart des langages,
cet ensemble n’est pas un ensemble fini.
La chaine de caractères (mot clé : Chaine) ‘bonjour’, ‘chaine de
caractères’. Ce type se compose d’une suite de symboles de type caractère.
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Les types de bases
Le booléen (mot clé : Booléen) VRAI ou FAUX. C’est un type logique
qui peut prendre que les valeurs VRAI ou FAUX. Il servira pour les
expressions et les conditions.
Le caractère (mot clé : Caractère) ‘a’, ‘!’, ‘8’, ‘*’, ‘B’. Il prend ses valeurs
dans l’ensemble des caractères de la table ASCII.
L’entier (mot clé : Entier) 45, −565, · · · Il prend ses valeurs dans un
sous-ensemble des entiers relatifs. C’est un ensemble dans lequel chaque
élément possède un successeur et un prédécesseur.
Le réel (mot clé : Réel) −3.67, 4.2569, 18.2e − 6. Il prend ses valeurs dans
un sous-ensemble de réels décimaux signés. Dans la plupart des langages,
cet ensemble n’est pas un ensemble fini.
La chaine de caractères (mot clé : Chaine) ‘bonjour’, ‘chaine de
caractères’. Ce type se compose d’une suite de symboles de type caractère.
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Les types de bases
Le booléen (mot clé : Booléen) VRAI ou FAUX. C’est un type logique
qui peut prendre que les valeurs VRAI ou FAUX. Il servira pour les
expressions et les conditions.
Le caractère (mot clé : Caractère) ‘a’, ‘!’, ‘8’, ‘*’, ‘B’. Il prend ses valeurs
dans l’ensemble des caractères de la table ASCII.
L’entier (mot clé : Entier) 45, −565, · · · Il prend ses valeurs dans un
sous-ensemble des entiers relatifs. C’est un ensemble dans lequel chaque
élément possède un successeur et un prédécesseur.
Le réel (mot clé : Réel) −3.67, 4.2569, 18.2e − 6. Il prend ses valeurs dans
un sous-ensemble de réels décimaux signés. Dans la plupart des langages,
cet ensemble n’est pas un ensemble fini.
La chaine de caractères (mot clé : Chaine) ‘bonjour’, ‘chaine de
caractères’. Ce type se compose d’une suite de symboles de type caractère.
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Les opérateurs sur les types de bases
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
L’opération d’affectation
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
L’opération d’affectation
Remarques
La division entière (DIV) de x par y , notée x DIV y a pour résultat la
partie entière de la division de x par y .
Le reste de la division entière (MOD) de x par y , notée x MOD y a pour
résultat x − y × (x DIV y ) .
Exercice
3 DIV 2 =?; 5 DIV 2 =?; 5 DIV 3 =?; 3 DIV 5 =?; 3 DIV 3 =?;
3 MOD 2 =?; 5 MOD 2 =?; 5 MOD 3 =?; 3 MOD 5 =?; 3 MOD 3 =?;
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
L’opération d’affectation
Remarques
La division entière (DIV) de x par y , notée x DIV y a pour résultat la
partie entière de la division de x par y .
Le reste de la division entière (MOD) de x par y , notée x MOD y a pour
résultat x − y × (x DIV y ) .
Exercice
3 DIV 2 =?; 5 DIV 2 =?; 5 DIV 3 =?; 3 DIV 5 =?; 3 DIV 3 =?;
3 MOD 2 =?; 5 MOD 2 =?; 5 MOD 3 =?; 3 MOD 5 =?; 3 MOD 3 =?;
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
L’opération d’affectation
Remarques
La division entière (DIV) de x par y , notée x DIV y a pour résultat la
partie entière de la division de x par y .
Le reste de la division entière (MOD) de x par y , notée x MOD y a pour
résultat x − y × (x DIV y ) .
Exercice
3 DIV 2 =?; 5 DIV 2 =?; 5 DIV 3 =?; 3 DIV 5 =?; 3 DIV 3 =?;
3 MOD 2 =?; 5 MOD 2 =?; 5 MOD 3 =?; 3 MOD 5 =?; 3 MOD 3 =?;
Correction
3 DIV 2 = 1; 5 DIV 2 = 2; 5 DIV 3 = 1; 3 DIV 5 = 0; 3 DIV 3 = 1;
3 MOD 2 = 1; 5 MOD 2 = 1; 5 MOD 3 = 2; 3 MOD 5 = 3;
3 MOD 3 = 0;
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Les opérations d’entrées-sorties
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Premier algorithme
Exercice
Écrire un algorithme appelé “Epicier” qui demande en entrées le nombre de kg
de choux, le prix d’un kg de choux et qui calcule le prix de l’achat. Il faut
prendre en compte les taxes à payer qui s’élève à 18.6%.
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Premier algorithme
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Exercices (1)
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Exercices (2)
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Exercices (3)
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Exercices (4)
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Notion de prédicat
Définition
Un prédicat est un énoncé ou proposition qui peut être vrai ou faux selon ce
qu’on entrain de parler. En mathématique, c’est une expression contenant une
ou plusieurs variables et qui est susceptible de devenir une proposition vraie ou
fausse selon les valeurs attribuées.
Exemple
x ← 10
x >3?
x <5?
x <= 10 ?
x < 11 ou x > 15 ?
x < 11 et x > 15 ?
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Évaluation d’une expression logique
Définition
Une condition est une expression de type logique. Ils lui correspondent deux
valeurs possibles Vraie ou Faux qu’on note par V ou F . Considérons deux
variables logiques A et B. Voyons quels les opérateurs logiques et leurs ordres
de priorités.
Les opérateurs logiques sont: Et, Ou, Non
Tableaux d’évaluation: Négation d’une condition
A Non A
Vrai Faux
Faux Vrai
Table: Négation d’une condition
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Évaluation d’une expression logique
Tableaux d’évaluation: Intersection de deux conditions (A et B)
B
Vrai Faux
A
Vrai Vrai Faux
Faux Faux Faux
Table: Intersection de deux conditions: A et B
Tableaux d’évaluation: Réunion de deux conditions (A ou B)
B
Vrai Faux
A
Vrai Vrai Vrai
Faux Vrai Faux
Table: Réunion de deux conditions: A ou B
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Exemple
x = 2, y = 5 et z = 2
Non (x == y )
x ! = y et non (z y )
x ! = y ou (z y )
Exemple
x = 2, y = 5 et z = 2
Non (x == y ) ⇒ vrai
x ! = y et non (z y ) ⇒ vrai
x ! = y ou (z y ) ⇒ vrai
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Exemple
x = 2, y = 5 et z = 2
Non (x == y )
x ! = y et non (z y )
x ! = y ou (z y )
Exemple
x = 2, y = 5 et z = 2
Non (x == y ) ⇒ vrai
x ! = y et non (z y ) ⇒ vrai
x ! = y ou (z y ) ⇒ vrai
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
La structure conditionnelle SI-Alors-Sinon
Elle permet d’effectuer tel ou tel traitement en fonction de la valeur d’une
condition.
Syntaxe
Si la condition est vraie alors le programme exécute la séquence 1 d’instructions
puis il se poursuit après l’instruction finsi, sinon (condition fausse) il exécute la
séquence 2 d’instructions.
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
La structure conditionnelle SI-Alors-Sinon
Le fonctionnement de cette structure peut se visualiser par le schéma suivant:
Organigramme
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
La structure conditionnelle SI-Alors
Remarque: Dans certain cas la séquence 2 d’instructions n’existe pas; la
syntaxe et le schéma sont alors réduits à la forme suivante:
Si-Alors
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
Exemple
Écrire un algorithme qui prend en entrée deux entiers et indique le minimum de
deux.
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
La boucle Pour
Cette structure exprime la répétition d’un traitement un nombre de fois.
Syntaxe
Pour v de vi à vf Faire
“Traitement”
FinFaire
où
v est une variable entière, qui compte le nombre de répétition du
“Traitement”,
vi la valeur initiale à laquelle v est initialisé,
vf la valeur finale à laquelle se termine v .
Remarque
La boucle Pour est utilisée lorsqu’on connait le nombre de répétition du
“Traitement” d’avance.
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
La boucle Pour
Les étapes d’exécution
1. Initialisation de v par la valeur initiale vi
2. Test si v dépasse vf , si oui, alors la boucle s’arrête et l’exécution se
poursuit après le “FinFaire” Sinon
Exécution du “Traitement”,
Incrémentation de v par 1,
Retour à l’étape 2.
Application
Écrire l’algorithme qui permet de saisir les moyennes des N étudiants de la
classe informatique et de calculer la moyenne générale de la classe.
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
La boucle Répéter · · · Jusqu’à
Syntaxe
Répéter
“Traitement”
Jusqu’à (condition d’arrêt)
Cet ordre d’itération permet de répéter le “Traitement” une ou plusieurs fois et
de s’arrêter sur une condition. En effet, lorsque la condition est vérifiée, la
boucle s’arrête, si non elle ré-exécute le “Traitement”.
Remarque
1. Dans cette boucle, le traitement est exécuté au moins une fois avant
l’évaluation de la condition d’arrêt.
2. Il doit y avoir une action dans le “Traitement” qui modifie la valeur de la
condition.
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
La boucle Répéter · · · Jusqu’à
Les étapes d’exécution
1. Exécution du “Traitement”
2. Test de la valeur de la “condition d’arrêt”. Si elle est vérifiée Alors la
boucle s’arrête. Sinon Retour à l’étape 1.
Application
Écrire un algorithme qui saisit un nombre pair et qui détermine combien de fois
il est divisible par 2. Exemple 8 est divisible 3 fois par 2 (2 ∗ 2 ∗ 2).
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
La boucle Tant Que
Syntaxe
Tant Que (condition d’exécution) Faire
“Traitement”
FinFaire
Cet ordre d’itération permet de répéter le “Traitement” zéro ou plusieurs fois et
de s’arrêter lorsque la condition d’exécution n’est plus vérifiée. En effet, lorsque
la condition d’exécution est vérifiée, le “Traitement” est exécuté, si non elle
s’arrête.
Remarque
1. Dans cette boucle, le traitement peut ne pas être exécuté aucune fois,
c’est lorsque la condition d’exécution est à faux dés le départ.
2. Les paramètres de la condition doivent être initialisés par lecture ou par
affectation avant la boucle.
3. Il doit y avoir une action dans le “Traitement” qui modifie la valeur de la
condition.
Informatique Cours: Informatique – L3-Géomètre-Topographe
Les constantes et les variables
Introduction à l’algorithmique Les types de bases
Codage et structures de contrôle Les opérateurs sur les types de bases
Procédures et fonctions Structures conditionnelles
Structures répétitives
La boucle Tant Que
Les étapes d’exécution
1. Test de la valeur de la “condition d’exécution”
2. Si elle est vérifiée Alors. Exécution du “Traitement” Retour à l’étape 1.
Sinon Arrêt de la boucle.
Application
Écrire un algorithme qui saisit un nombre pair et qui détermine combien de fois
il est divisible par 2. Exemple 8 est divisible 3 fois par 2 (2 ∗ 2 ∗ 2).
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction
Introduction à l’algorithmique
Syntaxe
Codage et structures de contrôle
Applications
Procédures et fonctions
Récursivité
1 Introduction à l’algorithmique
Algorithme
Propriétés d’un algorithme
Représentation schématique d’un algorithme
La programmation informatique
La structure générale d’un algorithme
2 Codage et structures de contrôle
Les constantes et les variables
Les types de bases
Les opérateurs sur les types de bases
Structures conditionnelles
Structures répétitives
3 Procédures et fonctions
Introduction
Syntaxe
Applications
Récursivité
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction
Introduction à l’algorithmique
Syntaxe
Codage et structures de contrôle
Applications
Procédures et fonctions
Récursivité
Introduction
Nécessité de regrouper les programmes
Lorsque l’on développe un programme et que le problème à résoudre est
complexe, le nombre d’instruction devient vite important. Il est nécessaire de
l’organiser (Modularité). Il suffit de regrouper sous un même nom les
instructions agissant dans le même but.
Procédures et fonctions
les Procédures qui réalisent un traitement
Fonctions qui effectuent un calcul et retournent un résultat
Appels des fonctions et procédures
Les fonctions et les procédures peuvent être appelées plusieurs fois à partir du
programme principal ou à partir d’autres fonctions en recevant à chaque fois
des paramètres ayant des valeurs différentes. Les Fonctions et les Procédures
sont donc des moyens de réutilisation de portions de code.
Les Fonctions et les procédures sont parfois appelées des sous-programmes
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction
Introduction à l’algorithmique
Syntaxe
Codage et structures de contrôle
Applications
Procédures et fonctions
Récursivité
Syntaxe
Syntaxe: Fonction
Fonction <nom fonction> ( <liste des paramètres>): <type de résultat>
<déclaration des objets locaux à la fonction >
Debut
<corps de la fonction>
Retourner (résultat)
Fin
Syntaxe: Procédure
Procedure <nom procedure> (<liste des paramètres>)
<déclaration des objets locaux à la procédure >
Debut
<corps de la procedure>
Fin
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction
Introduction à l’algorithmique
Syntaxe
Codage et structures de contrôle
Applications
Procédures et fonctions
Récursivité
Procédures et fonctions: Applications
Application 1
Écrire une fonction qui prend en entrées la longueur et la largeur d’un
rectangle. La fonction retournera le périmètre du rectangle en question.
Application 2
Écrire une procédure qui prend en entrées deux réels A et B et échange leurs
valeurs.
Informatique Cours: Informatique – L3-Géomètre-Topographe
Introduction
Introduction à l’algorithmique
Syntaxe
Codage et structures de contrôle
Applications
Procédures et fonctions
Récursivité
Récursivité
Définition
La récursivité consiste à remplacer une boucle par un appel à la fonction
elle-même.
Exemple: Factorielle
On considère la suite factorielle définie par:
0! = 1
n! = n(n − 1)!
Informatique Cours: Informatique – L3-Géomètre-Topographe