Vous êtes sur la page 1sur 34

INF1563 Programmation I

• Qu’est-ce que la programmation ?

• Le langage Python

• Contenu et évaluation du cours

1
INF1563 – Programmation I - Prof. Daniel Yapi
Qu’est-ce que la programmation?

Programmer consiste à écrire des algorithmes dans un langage


interprétable par un ordinateur.

2
INF1563 – Programmation I
Un algorithme

workflow: ouvrir la porte

oui j’ai un non


il pleut? parapluie? attendre
5 minutes
non oui

il pleut?
non
sortir oui

3
fin INF1563 – Programmation I
Un autre algorithme:

deux entiers
A et B

A = B? non
oui

oui non
A>B?
PGCD: A
remplacer remplacer
A par A - B B par B - A
fin
4
INF1563 – Programmation I
PYTHON
C’est quoi Python?

PYTHON
Python est un langage de programmation inventé par
Guido van Rossum en 1989.
Python est un langage de programmation de haut niveau. Il est
5
proche des langues naturelles, ce qui facilite l’écriture des
programmes, en plus le programme peut faire fonctionner sans
aucune modification, sur des machines ou des systèmes
différents.
Python est un excellent langage pour les débutants car il est
facile à apprendre.

Site officiel : http://www.python.org

Se7en - Creative Powerpoint Template


PYTHON
Pourquoi préférer Python aux autres langages?

PYTHON EST GRATUIT PYTHON EST INTERPRETE


Téléchargement et installation de python est gratuit Un script Python n’a pas besoin d’être compilé pour être exécuté,
et facile contrairement à des langages comme le C ou le C++
Le code source est accessible Lecture de chaque ligne de code – interprétation - exécécution

PYTHON EST FACILE A PYTHON EST


APPRENDRE PUISSANT
La Structure et la syntaxe sont assez intuitive et facile Optionnellement
Typage dynamiquemultithreading est Orienté Objet
à saisir POURQUOI PYTHON? Python est riche en terme de bibliothèques(NumPy,
Indentation du code: Pas de begin et end explicites, SciPy …)
ni d’accolades pour les blocks d’instructions.
Très documenté PYTHON EST ORIENTÉ OBJET
il est possible de concevoir en Python des entités qui miment
celles du monde réel avec un certain nombre de règles de
PYTHON EST fonctionnement et d’interactions

PORTABLE
PYTHON EST LANGAGE DE HAUT NIVEAU
Python est portable et multiplateforme
Python demande relativement peu de connaissance sur le
fonctionnement d’un ordinateur pour être utilisé; proche du langage
naturel

Se7en - Creative Powerpoint Template


PYTHON
Qui utilise Python?

Se7en - Creative Powerpoint Template


PYTHON
Un peu d’historique

1989 1994 2000 2008 2014 2023

Création du Publication de Publication de Publication de Publication de Publication de


Python la version la version la version la version la version
par 1.0 2.0 3.0 3.4 3.12
Guido van
Rossum

Se7en - Creative Powerpoint Template


PYTHON
Installation de Python

SOUS WINDOWS:
• Visitez : https://www.python.org/downloads/

• Choisir la version qui vous convient

• Télécharger le fichier d’installation ( .MSI)


9
Installez et commencez à coder !

SOUS UNIX:
Python est pré-installé sur la plupart des
systèmes Unix, y compris Linux et MAC OS X.

Se7en - Creative Powerpoint Template


PYTHON – ENVIRONNEMENT DE RAVAIL
IDLE: Editeur pour Python

IDLE (Intergreted DeveLopement Environement)


L’environnement de développement intégré IDLE est
un logiciel spécialement conçu pour faciliter
la programmation en Python.

IDLE offre un certain nombre de fonctionnalités pour


1
vous aider à développer vos programmes Python: 0

• Le Shell Python (Interpréteur interactive).

• Le débogueur intégré avec avancement par étape.

IDLE est l’éditeur standard fourni


avec la distribution de python

Se7en - Creative Powerpoint Template


Les principes Zen de Python
Le *zen du Python* est une série de 20 aphorismes donnant les grands principes
de la programmation Python ficelé par Style Guide for Python Code (PEP 8)
>>> import this

Autres référentiels :
• Google Python Style Guide
• The Best of the Best Practices (BOBP) Guide for Python
Autres IDE python
Limites de IDLE Python?
• Il n’est pas orienté projet Il devient lourd à gérer
• Il ne permet pas le versioning des packages
• Il ne permet pas l’exécution interactive ligne par ligne du script

12
INF1563 – Programmation I
Google Colaboratory

https://www.jetbrains.com/fr-fr/lp/devecosystem-2022/python/
https://www.jetbrains.com/fr-fr/lp/devecosystem-2022/python/
Le langage Python

15
INF1563 – Programmation I
Contenu et évaluation du cours
Contenu:
Chaines de caractères
Fichiers
concepts avancés: Gestion des erreurs

Fonctions récursives
concepts Collections
tests unitaires
intermédiaires:

Concepts de base Algorithmique avec


Fonctions
bases: de la programmation contrôle de flux

16
INF1563 – Programmation I
Contenu et évaluation du cours
Examens:

Examen #3 Chaines de caractères


Fichiers
Gestion des erreurs

Examen #2
Fonctions récursives
Collections
tests unitaires

Examen #1 Concepts de base Algorithmique avec


Fonctions
de la programmation contrôle de flux

INF1563 – Programmation I 17
Contenu et évaluation du cours

Examens:
• sur papier
• exercices de lecture de code (que fait ce programme?)
• exercices de résolution de problèmes / écriture de code
• vous aurez des exemples corrigés

18
INF1563 – Programmation I
INF1563 Programmation I
Résultats
2020-2021-2022
(Alan)

19
INF1563 – Programmation I
INF1563 Programmation I
Résultats
2020-2021-2022
(Alan)

20
INF1563 – Programmation I
INF1563 Programmation I
Introduction à Python: Concepts de base

Variable

Type

Affectations

Opérations de base

Expressions

Entrées –sorties de base
Chaines de caractères
Collections Fonctions récursives Fichiers
Gestion des erreurs

Concepts de base Algorithmique de base Fonctions et


de la programmation avec contrôle de flux tests unitaires

INF1563 – Programmation I
21
Introduction à python
Enregistrez vos données dans une variable
Qu’est-ce qu’une variable?

Une variable est un contenant constitué de trois éléments :


Le typage des variables est dynamique
• Son type : détermine la catégorie de chose
• Son Nom : une idée de ce qui se trouve à l’intérieur
• Sa valeur : est le contenu à l’intérieur de la variable

Exemple: livre = "Go python"

Créer une variable: déclarer (initialiser)

22
INF1563 – Programmation I
Nommage
 Le nom des variables en Python peut être constitué de lettres minuscules (a à z), de lettres
majuscules (A à Z), de nombres (0 à 9) ou du caractère souligné (_).
 Vous ne pouvez pas utiliser d’espace dans un nom de variable.
 Par ailleurs, un nom de variable ne doit pas débuter par un chiffre et il n’est pas recommandé de
le faire débuter par le caractère _ (sauf cas très particuliers).
 Éviter d’utiliser un mot « réservé » par Python comme nom de variable. Quelques noms
réservés:

 Python est sensible à la casse, ce qui signifie que les variables TesT, test et TEST sont
différentes.
INF1563 – Programmation I 23
Modifier une variable par réaffectation/réassignation

INF1563 – Programmation I 24
Introduction à python

Règles
d’écritures
• La casse est significative
• Le typage des variables est dynamique
• Une instruction doit commencer en première colonne
• L’indentation est obligatoire pour marquer les blocks
• Si une instruction dépasse la taille d’une ligne, il est possible soit
d’écrire un caractère de continuation ou de mettre l’instruction
entre parenthèses
Exemple
if a == b and c == d and \ if (a == b and c == d and
d==e : d==e) :
print("ok ") print("ok ")

25
INF1563 – Programmation I
Les types de données
En Python on distingue deux sorte de types:
 Les types simples
 Le type entier (int)
 Le type réel (float)
 Le type booléen (bool)
 Le type complexe (complex)
 Les types composés
 Le type chaine de caractères (str)
 Le type liste (list)
 Le type tuple (tuple)
 Le type dictionnaire (dict)
 ......
26
INF1563 – Programmation I
Affectation et type

Opérations de base
• Affectation

27
INF1563 – Programmation I
Conversion entre types
• La conversion de types permet de passer d’un type à l’autre
• La règle générale est de se servir du nom du type avec des parenthèses
Syntaxe Sémantique
bool(var) Converti ’var’ en un booléen
int(var) Converti ’var’ en un entier
float(var) Converti ’var’ en un flottant
str(var) Converti ’var’ en une chaîne de caractères

• Exemple

INF1563 – Programmation I
Opérateurs mathématiques et logiques
• Opérateurs arithmétiques • Opérateurs logiques
x+y Addition not x Négation
x-y Soustraction x or y Ou-logique
x*y Multiplication x and y Et-logique
x/y Division
x // y Division entière •Exemples
print(3*2+1) ->
x%y Modulo
7
x ** y Puissance print( round(3.75))
print(3*(2+1)) -> -> 4
• Opérateurs relationnels print(round(3.75,1)
9 -> 3.8
x==y Egal print(3/5) -> 0.6
Print(3//5) -> 0
x!=y Différent
x<y Inférieur num_1 = 3
x<=y Inférieur ou égal num_2 = 2
x>y Supérieur Print(num_1>num_2) -> true
x>=y Supérieur ou égal
29
INF1563 – Programmation I
Ordre de priorité des opérations
• En Python, les opérations arithmétiques suivent l'ordre de priorité
standard: acronyme PEMDAS ou BODMAS.
• Tableau ordre décroissant de priorité des opérations

• Si vous avez des opérations avec la même priorité, elles sont exécutées de gauche à
droite.
• Exemple: Dans 5 * 2 / 3,
la multiplication est effectuée en premier car elle a la même priorité que la division, puis
la division est effectuée..
INF1563 – Programmation I
Ordre de priorité des opérations

• 2*(3-1) = 4
• (1+1)**(5-2) =8
• 2**1+1 = 3
• 3*1**10 = 3
• 2/3-1 = -0.3333...

59*100//60=98. Si la division entière était effectuée en premier,


on aurait 59 comme résultat.

31
INF1563 – Programmation I
Formatio
nEntrées – Sorties de base : input( ) – Print( )
Entrée de données :
Pour lire une entrée (donnée) dans un programme, on a besoin d’une

opération d’entrée, appelée aussi opération de lecture.

Syntaxe:

nom_variable= input (‘message’)

Message qui s’affiche avant la


saisie du contenu de la variable
Entrées-sorties- de base

print() / input()
• input(msg): permet de récupérer une chaîne de caractères tapée par
l’utilisateur (retourne une chaine)
• print(msg) : imprime à l’écran une chaîne de caractères donnée en
argument
• Exemples

33
INF1563 – Programmation I
Afficher des variables

String normal fonction f-string

INF1563 – Programmation I 34

Vous aimerez peut-être aussi