Sie sind auf Seite 1von 150

Algorithmique

Ouldmahraz Abdelkader
mahrazaek@yahoo.fr
Un algorithme est une suite finie d'instructions,
écrites en langage naturel, qui peuvent être
exécutées les unes à la suite des autres pour
résoudre un problème.
L'algorithme
-ne dépend pas du langage de programmation dans lequel il sera traduit,
-ni de la machine qui exécutera le programme.

Exemples d'algorithmes mis en œuvre « naturellement » tous les jours :


-recette de cuisine,
-notice de montage d'un appareil,
-tri de nombres par ordre croissant,
-recherche dans un annuaire ;
et d'algorithmes scientifiques:
-calcul de la factorielle d'un nombre entier,
-résolution d'une équation du second degré…

Un algorithme peut aussi être représenté sous forme graphique (organigramme).


Un programme informatique (appelé aussi “application”)
est une traduction de l'algorithme dans un langage de
programmation.
Donnée 01
Traitement
Etape 1 Résultat
Etape m
Donnée n
X=axa+b^2-c/2

Données : a,b,c

Resultat : X

axa (1)

b*b (2)

c/2 (3)

(1)+(2) (4)

(4)-(3) (5)
Les instructions

Simples :
Lecture
Traitement simple
Ecriture

Composées :

Traitement composé, Bloc (fonctions)


Conditionnelle (Si)
Boucles (Pour, Tant que)
Variables, données et opérateurs

Le rangement d'une donnée (un contenu)


dans une variable (un contenant) s'appelle l’affectation

a=3

a←3

a : nom de la variable

=, ← : opérateur d’affectation 3
3 : données et valeur affectée à la variable
Nommage des variables

un nom de variable doit :

- débuter par une lettre minuscule sans accent,

- ne contenir que des lettres sans accents, des chiffres et le tiret de soulignement _
(appelé tiret “underscore” ou encore “tiret du 8”),

- être aussi explicite que possible (ne pas utiliser de noms trop courts et sans signification
évidente comme v1, v2, v3, v4)

- Utilisez des noms plus explicites (comme age, longueur, nombre, nbr, somme….)
Le langage Python fait la distinction entre les
majuscules et les minuscules (distinction de casse),
de même qu'entre les caractères avec et sans
accent.
Age
Age
AGE
age
Les mots clés réservés du langage
Ne peuvent pas être utilisés comme noms de variables
On peut effacer un nom de variable avec
l'instruction del.

Par exemple :
>>> x = 3
>>> x
3
>>> del(x)
>>> x
NameError: name 'x' is not defined
Les constantes
Une constante est une variable dont la valeur ne doit pas changer au cours de l'exécution
du programme. Par convention, on la nomme en MAJUSCULES.

Exemple
NB_MAX_TP = 14 # nombre maximum d'étudiants dans un groupe TP
NOTE_MIN_UE = 8 # note minimale à obtenir pour valider une UE

Contrairement à d'autres langages, Python


n'empêche pas la modification d'une
constante. L'utilisation de la convention avec
des majuscules indique aux développeurs qu'il
ne faut pas modifier la variable concernée.
Les types de données
Chaque donnée et par conséquent chaque variable possède un certain type.
Il est important pour l'ordinateur de savoir de quel type est une variable, car cela
correspond à une certaine place à réserver en mémoire
L'instruction type(mavariable) permet de connaître le type de mavariable.

Exemples :
Déclaration et initialisation d'une variable

Dans la plupart des langages de programmation, pour pouvoir utiliser une variable, il faut
procéder en deux temps :
1) déclarer la variable avec un certain type,
2) lui affecter une valeur (et éventuellement lui réaffecter une ou plusieurs nouvelles
valeurs par la suite).
En revanche, en Python, il n'est pas nécessaire de déclarer explicitement les variables
en précisant leur type. Lors de l'opération d’affectation,
le langage associe à la variable le type de la donnée qu'elle référence.
Le transtypage ou conversion de type

On peut changer le type d'une donnée en l'indiquant entre parenthèses,


précédée du nom du nouveau type souhaité.

Ce changement de type est appelé transtypage ou


conversion de type, ou cast en anglais. Certains
transtypages ne sont pas autorisés (la valeur affectée à la
variable ne peut pas être convertie vers le type désiré) :
Les opérateurs

Afin de pouvoir effectuer des opérations sur des données, on utilise des opérateurs :
+, -, *, /, //, %, **, , ==, <=, >=, !=, and, or, not (… etc)

Voici quelques opérateurs python qui sont destinés à des données nombres entiers ou
nombres flottants :
Et pour les chaînes de caractères :
Conditionnelle SI
• a=3
• Si a==1 alors a=2;

• Si (condition1) alors action1, action2, ,,, action n


sinon action22, action 23;
Conditionnelle SELON
• Case a of :
• 1: djujdjdjd
• 2: djhjdjdjd
• 3: dhdhdh

• 100000000: hdhdhdhdhh
• Otherwise action 2
• end
Les conditions
Itération
Itération : Boucle conditionnelle
Itération : Boucle inconditionnelle POUR
Les Entrées / Sorties
Algorithmique
Ouldmahraz Abdelkader
mahrazaek@yahoo.fr
EXEMPLE 1 : CALCUL DU PRODUIT
EXEMPLE 2 : CALCUL DU PRODUIT
EXEMPLE 3 : MINIMUM
Exemple 5 : ON CONTINUE L’IMBRICATION
EXEMPLE 5 : CHOIX MULTIPLE (SELON)
Exercices

Ecrire les algorithmes suivants :

-Calcul de factoriel d’un nombre (N)

-Calcul de la sommation suivante :


Les Tableaux

UTILITÉ DES TABLEAUX : EXEMPLES


TABLEAU : DÉFINITION
TABLEAU A UNE DIMENSION

Elément 1 Elément 2 ……… Elément n-1 Elément n Elément 1

Elément 2

…………..

Nom
Elément n-1
Taille
Elément n
Type
Nom (indice élément)
TABLEAU : STRUCTURE DE STOCKAGE
TABLEAU : REMPLISSAGE
INITIALISATION D’UN TABLEAU
PERMUTATION DE 2 ÉLÉMENTS D'UN TABLEAU
RECHERCHE DU PLUS PETIT ÉLÉMENT SUR UNE PARTIE DU TABLEAU (INDICES)
TABLEAU À 2 DIMENSIONS
TABLEAU À 2 DIMENSIONS : UTILITÉ
INITIALISATION
LA MATRICE IDENTITÉ
LA MATRICE IDENTITÉ : “POUR”
https://courspython.com/tableaux-numpy.html

https://www.developpement-
informatique.com/article/229/les-matrices-en-python

http://www.ac-
grenoble.fr/disciplines/maths/pages/PM/Ressources/300/Cree
r_une_matrice_en_Python.pdf

https://courspython.com/tableaux.html
Algorithmique
Ouldmahraz Abdelkader
mahrazaek@yahoo.fr
REMARQUES
STRUCTURE ABSTRAITE : L'ENSEMBLE
ENSEMBLE VIA L’UTILISATION D'UN TABLEAU
TABLEAU DES 10 PREMIÈRES VALEURS DE LA FACTORIELLE
RELATION D'APPARTENANCE
RELATION D'APPARTENANCE
LA RELATION D'APPARTENANCE : ALGORITHME
LA RELATION D'APPARTENANCE : ALGORITHME
PEUT ON UTILISER LA BOUCLE POUR ?
OPTIMISATION : TROUVER LA VALEUR PLUTOT
APPARTENANCE PARAMÉTRÉE
https://fr.wikibooks.org/wiki/Programmation_Python/Ensembles

https://developpement-informatique.com/article/226/les-ensembles-en-python

https://oseox.fr/python/ensembles.html
Algorithmique
Les structures

Ouldmahraz Abdelkader
mahrazaek@yahoo.fr
STRUCTURE : DÉFINITION ET VOCABULAIRE
DÉCLARATION
EXEMPLE : EN ALGORITHMIQUE
DÉCLARATION D’UNE VARIABLE DE TYPE STRUCTURE
ACCÈS À UN CHAMP
UTILISATION DES STRUCTURES
Algorithmique
Ouldmahraz Abdelkader
mahrazaek@yahoo.fr
Les sets déjà vu
https://fabien-torre.fr/Enseignement/tp/Python/

https://www.tresfacile.net/tp-python-exercices-corriges-dalgorithmique-python-les-bases/

https://waytolearnx.com/2020/04/exercice-python-corrige-partie-1.html

https://waytolearnx.com/2020/04/exercice-python-corrige-partie-2.html

https://waytolearnx.com/2020/04/exercice-python-corrige-partie-3.html

Das könnte Ihnen auch gefallen