Académique Documents
Professionnel Documents
Culture Documents
Université de Thiès
UFR de Sciences de l’ingénieur
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
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
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
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
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
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
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
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
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
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
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
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
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
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é
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é
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
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
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
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é.
Exemple
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:
La programmation informatique
La programmation informatique
La programmation informatique
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é
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;
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;
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;
L’opération d’affectation
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 =?;
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 =?;
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;
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%.
Premier algorithme
Exercices (1)
Exercices (2)
Exercices (3)
Exercices (4)
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 ?
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
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
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
Organigramme
Si-Alors
Exemple
La boucle Pour
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.
La boucle Pour
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.
Syntaxe
Répéter
“Traitement”
Jusqu’à (condition d’arrêt)
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.
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).
Syntaxe
Tant Que (condition d’exécution) Faire
“Traitement”
FinFaire
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).
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é
Introduction
Procédures et fonctions
les Procédures qui réalisent un traitement
Fonctions qui effectuent un calcul et retournent un résultat
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
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.
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)!