Vous êtes sur la page 1sur 18

Filière : MP

Cours
Initiation à la programmation
-PYTHON-

Professeur : ARROU ABDESSELAM


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

Sommaire

I. Notions de base : ...................................................................................... 2


1. Méthode de résolution d'un problème : ................................................ 2
2. Algorithme : ........................................................................................... 2
3. Programme : .......................................................................................... 2
4. Langage de programmation : ................................................................. 2
5. Types de langages : ................................................................................ 3
6. La compilation et l'interprétation : ........................................................ 4
II. Langage de programmation Python : ........................................................ 5
1. Historique : ............................................................................................ 5
2. Les principales caractéristiques du langage Python : ............................. 6
3. A quoi peut servir Python :..................................................................... 6
4. Télécharger et installer Python : ............................................................ 7
5. Les environnements de développements intégrés IDE : ......................... 7
III. Les bases de Python : ............................................................................. 8
1. Premier Programme :............................................................................. 8
2. Les variables :......................................................................................... 8
3. Les mots clés réservées de python : ....................................................... 8
4. Types de données : ................................................................................ 9
5. Les opérateurs : ..................................................................................... 9
6. Les instructions de base : ..................................................................... 10
7. La structure conditionnelle if : ............................................................. 13
8. Les structures répétitives : ................................................................... 14

Professeur : ARROU ABDESSELAM Page | 1


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

I. Notions de base :
1. Méthode de résolution d'un problème :

2. Algorithme :
L'algorithme est une suite d'actions ordonnées sur un ensemble fini
d'objets.il doit être défini sans ambiguïté, et son exécution doit être s'arrêter
après un nombre fini d'opération élémentaires.
Un algorithme n’est pas exécutable il doit être converti dans un langage
de programmation.
Exemple :
Résolution de l'équation : ax2+bx+c=0
3. Programme :
Un programme est une suite d’instructions permettant à un système
informatique d’exécuter une tâche donnée écrit dans un langage de
programmation compréhensible par un ordinateur (langage machine).
C’est une suite d’instructions définies dans un langage donné et qui
décrit un algorithme.
4. Langage de programmation :
Un langage est un ensemble de mots clés (instructions ou fonctions) et
des règles de syntaxe qui permettent d’écrire un programme exécutable par
l’ordinateur.
Exemple :
C\C++, Pascal, Java, VB.Net, PHP, Python, Scilab, Matlab, …

Professeur : ARROU ABDESSELAM Page | 2


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

5. Types de langages :
On classe les langages de programmation en générations :
 1ère génération : langage machine ou langage de bas-niveau (0 et 1).
 2ème génération : langage assembleur
 3ème génération : langages évolués ou langages de haut-niveau

1. Langage machine :
C’est une suite de bits (0 et 1) qui est interprétée par le processeur d'un
ordinateur exécutant un programme informatique.
C'est le langage natif d'un processeur, c'est-à-dire le seul qu'il puisse
traiter. Il est composé d'instructions et de données à traiter codées en binaire.
2. Langage assembleur :
Langage proche du langage machine qui peut être directement
interprété´ par le processeur de l’ordinateur tout en restant lisible par un
humain, crée pour faciliter le travail des programmeurs. Il consiste à
représenter les combinaisons de bits employées en langage machine par des
symboles alphanumériques.
3. Langages évolués ou de haut-niveau :
Les langages de haut niveau sont plus proches des langues naturelles, ce
qui facilite et vulgarise l'écriture des programmes. Ils sont généralement
indépendants de la machine : le même programme pourra être utilisé tel quel
sur plusieurs types d'ordinateurs, quoique les programmes puissent également
être conçus pour un système d'exploitation en particulier.
4. Langages couramment utilisés :

Langage Domaine d'application Type de langage

C Programmation système Compilé


C++ Programmation système Objet Compilé
Cobol Gestion Compilé
Fortran Calcul Compilé
Matlab Calcul mathématique Interprété
PHP Développement Web Interprété
Prolog Intelligence artificielle Interprété
Java Programmation orienté objet Compilé\interprété
Pascal Enseignement Compilé

Professeur : ARROU ABDESSELAM Page | 3


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

6. La compilation et l'interprétation :
Il est très difficile à l’utilisateur de programmer en langage machine, c’est
pourquoi des langages dis évolués ont été créés (pascal, C, C++, Basic, Java,
Python…). Un compilateur ou interpréteur est nécessaire pour traduire un
programme écrit en un langage évolué en langage machine
Il existe deux techniques de traduction :
 La compilation
 L'interprétation
A. L'interprétation :
Un programme écrit dans un langage interprété (PHP, MATLAP, …) a
besoin d'un programme auxiliaire (l'interpréteur) pour traduire au fur et à
mesure les instructions du programme.
Schéma de l'interprétation :

B. La compilation :
Un programme écrit dans un langage (C, C++, JAVA, …) dit « compilé » va
être traduit une fois pour toutes par un programme annexe,
appelé compilateur, afin de générer un nouveau fichier qui sera autonome,
c'est-à-dire qui n'aura plus besoin d'un programme autre que lui pour
s'exécuter; on dit d'ailleurs que ce fichier est exécutable.
Schéma de la compilation :

Professeur : ARROU ABDESSELAM Page | 4


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

C. Les avantages et les inconvénients de deux techniques :


 L'interprétation est idéale lorsque l'on est en phase d'apprentissage du
langage. Avec cette technique, on peut tester immédiatement toute
modification apportée au programme source, sans passer par une phase de
compilation qui demande toujours plus de temps, plus le code source n'est
pas sécurisé.
 Par contre, lorsqu'un projet comporte des fonctionnalités complexes
qui doivent s'exécuter rapidement, la compilation est préférable : il est clair
qu'un programme compilé fonctionnera toujours nettement plus vite que son
homologue interprété, puisque dans cette technique l'ordinateur n'a plus à
(re)traduire chaque instruction en code binaire avant qu'elle puisse être
exécutée et permet aussi de Garantir la sécurité de code source.
 Certains langages modernes tentent de combiner les deux techniques
afin de garder le meilleur de chacune.
Exemple :
JAVA, PYTHON, LISP, …
Schéma de deux techniques :

II. Langage de programmation Python :


1. Historique :
Python est un langage de programmation, dont la première version est
sortie en 1991, Crée par Guido Van Rossum, il a voyagé du Macintosh de son
créateur, qui travaillait à cette époque au Centrum Voor Wiskunde en
Informatica aux Pays-bas, jusqu'à se voir associer une organisation à but non
lucratif particulièrement dévoué, la PYTHON SOFTWARE FOUNDATION, créée
en 2001. Ce langage a été baptisé ainsi en hommage à la troupe de comiques
les "MONTY PYTHON Flying Circus".

Professeur : ARROU ABDESSELAM Page | 5


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

2. Les principales caractéristiques du langage Python :


 Langage open source libre et gratuit
 Langage multiplateforme (Windows, Linux, MacOs)
 Langage interprété.
 Langage très facile à apprendre(évolutif)
 Syntaxe simple, claire et cohérente.
 Langage dynamique (pas déclaration, type peut changer)
 Gestion automatique de la mémoire (Garbage collector)
 Bibliothèques très riches de modules (Math, Cmath, Scipy, Numpy…)
3. A quoi peut servir Python :
Python, est un langage de programmation très puissant, à la fois facile à
comprendre et riche en possibilités. Dès l'instant où vous l'installez sur votre
machine, vous disposez de nombreuses fonctionnalités intégrées au langage.
Il est en outre très facile d'étendre les fonctionnalités existantes. Ainsi, il
existe ce qu'on appelle des bibliothèques qui aident les développeurs à
travailler sur des projets particuliers.
Concrètement, voilà ce qu'on peut faire avec Python :
 De petits programmes très simples, appelés scripts, chargé d'une
mission très précise sur votre ordinateur.
 Des programmes complets, comme des jeux, des suites bureautiques,
des logiciels multimédias, des clients de messageries…
 Des projets très complexes, comme des progiciels (ensembles de
plusieurs logiciels pouvant fonctionner ensemble, principalement dans le
monde professionnel).

Voici quelques-unes des fonctionnalités offertes par Python et ses


bibliothèques :
 Du calcul scientifique (numpy, scipy, matplotlib)
 Du traitement du son, de la synthèse vocale
 Du traitement d'image(pil)
 Des interface graphique GUI (Tkinter, PyQt, wxPython, PyGTK, …)
 Des jeux vidéo en temps réel (Pygame)
 Des applications web (Django, Karrigell, Pyjams, …)
 Interfacer des SGBD (MySQLdb, Sqlite)
 Des applications réseau (Twisted)

Professeur : ARROU ABDESSELAM Page | 6


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

4. Télécharger et installer Python :


Python est téléchargeable à l'adresse https://www.python.org ,vous
trouverez dans la section Downloads des logiciels d’installation automatique
pour les différentes versions de Python et pour les divers systèmes
d'exploitation.

Après avoir télécharger et installer Python vous pouvez lancer


l'environnement de travail spécialisé appelée "IDLE (Python 3.5 32-bit) " afin
de dialoguer avec lui directement depuis le clavier, ce qui permet de découvrir
très vite un grand nombre de fonctionnalités du langage.
Les trois caractères "supérieur à" ou "chevrons" constituent le signal
d’invite, ou prompt principal, lequel vous indique que Python est prêt à
exécuter une commande.
5. Les environnements de développements intégrés IDE :
Un environnement de développement intégré (IDE), est un logiciel
regroupant un ensemble d’outils nécessaires au développement logiciel dans
un (ou plusieurs) langage(s) de programmation. L'outil IDE aide les
développeurs à concevoir et à documenter leurs codes comme un traitement
de texte aide à produire des documents écrits.
Les outils inclus dans un IDE :
 Éditeur de texte(Codage) destiné à la programmation
(coloration syntaxique, complétion automatique).
 Un compilateur
 Débogueur (Exécuter ligne par ligne un programme)
 Générateur d'interface graphique
Professeur : ARROU ABDESSELAM Page | 7
LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

 Un générateur de documentation
Exemple :
Pyzo, Spyder Eclipse/Pydev, NetBeans, Eric...

III. Les bases de Python :


1. Premier Programme :

2. Les variables :
Les variables sont des cases mémoires dans laquelle une valeur est
enregistrée. Cette valeur peut être modifiée tout au long du programme.
Une variable est identifiée par un nom (ou identificateur). Le nom de
variable est un mot composé de lettres et de chiffres et qui commence par une
lettre et ne doit pas comporter ni d’accents ni de caractères spéciaux. Python
est sensible à la casse (différence entre les majuscules et minuscules).
Dans Python les variables n’ont pas besoin d’être déclarées à l’avance,
mais toute variable doit avoir une valeur avec le signe d'affectation =.
Exemple :

3. Les mots clés réservées de python :

Professeur : ARROU ABDESSELAM Page | 8


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

En plus de ces règles, il faut encore ajouter que vous ne pouvez pas
utiliser comme noms de variables les 29 « mots réservés » au langage ci-
dessous :

4. Types de données :
Python est un langage typé dynamiquement c'est-à-dire le type d’une
variable est déterminé par l’interpréteur au moment de l’exécution et n’a pas
besoin d’être déclaré.
Le type d’une variable peut changer au cours du temps. On peut
connaitre le type courant d’une variable avec la fonction type ().
Les différents types de données :

int Représente les nombres entiers. 14, 18 1999


float Un float(réel) est noté avec un point décimal. 2.34
bool Deux valeurs possibles True ou False
Les chaines de caractères qui doivent être délimitée soit par des
str Apostrophes (simple quottes), soit par des guillemets (double
quottes). 'CPGE' ou "CPGE"
complex Nombre complexe - La partie imaginaire est suffixée par j. (3+2j)
Exemple :

5. Les opérateurs :

Professeur : ARROU ABDESSELAM Page | 9


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

1. Les opérateurs arithmétiques :


Division Reste de
L'addition Soustraction Multiplication Division Puissance
entiers division
+ - * / // % **
2. Les opérateurs de comparaisons :
Egalité Différence Supérieur à Supérieur ou égal à Inférieur à Inférieur ou égal à
== != > >= < <=
3. Les opérateurs logiques :
Négation Et Logique Ou logique
not and or
4. Priorités des opérations :
PEMDAS pour le mémoriser !

P pour parenthèses. Ce sont elles qui ont la plus haute priorité.


Elles vous permettent donc de forcer l'évaluation d'une expression dans
l'ordre que vous voulez. Ainsi 2*(3-1) = 4, et (1+1) **(5-2) = 8.
2. E pour exposants. Les exposants sont évalués avant les autres
opérations. Ainsi 2**1+1 = 3 (et non 4), et 3*1**10 = 3 (et non 59049 !).
3. M et D pour multiplication et division, qui ont la même priorité.
Elles sont évaluées avant l'addition A et la soustraction S, lesquelles sont
donc effectuées en dernier lieu. Ainsi 2*3-1 = 5 (plutôt que 4).
Si deux opérateurs ont la même priorité, l'évaluation est effectuée
de gauche à droite.
6. Les instructions de base :
1. Affectation ou assignation :
En Python comme dans de nombreux autres langages, l'opération
d'affectation est représentée par le signe égal = :
Exemple :

Professeur : ARROU ABDESSELAM Page | 10


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

2. L'instruction d'écriture print () :


Cette fonction affiche à l'écran un message, le contenu d'une variable ou
la valeur d’une expression.
Cette fonction réalise une conversion automatique préalable du contenu
de la variable en chaîne de caractères, car la fonction print () prend toujours en
argument une chaîne de caractères.
Exemple :

3. L'instruction de lecture input () :


La fonction input () permet de lire au clavier une valeur donnée par
l’utilisateur, et la retourné sous forme d’une chaine de caractères. Il faut donc
changer son type (transtyper) si nécessaire.
Exemple :

4. Le transtypage ou le casting :
Pour changer le type(transtyper) de la valeur retourné(string) par la
fonction input () en autre type. On utilise les fonctions : int (), float (), str (), …
Exemple :

Professeur : ARROU ABDESSELAM Page | 11


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

5. Notion de bloc d’instructions et d’indentation :


 Les blocs d’instructions sont délimités par
l'indentation, toutes les lignes d'un même
bloc doivent être indentées de la même
manière.
 L’indentation est le décalage d’un ou
plusieurs espaces ou tabulations des
instructions.
 Une indentation avec 4 espaces est le
style d’indentation le plus traditionnel.

Exercice d'application :

1-Ecrire un programme qui demande trois réels et renvoie leur


moyenne.
2-Écrire un programme qui, à partir de la saisie d’un rayon R et d’une
hauteur h, calcule puis affiche le volume d’un cône suivant cette formule :
S= (π × R2 × h) /3.
3- L'indice de masse corporelle d'une personne peut être calculé avec la
formule suivante : imc = poids / (taille2)
4-Écrire un programme qui demande à l'utilisateur les paramètres
nécessaires, calcule l'indice de masse corporelle et affiche le résultat.

Professeur : ARROU ABDESSELAM Page | 12


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

7. La structure conditionnelle if :
if condi1 :
Bloc Instructions1
Syntaxe :
Alternative Simple
Si la condition condi1 est vraie le bloc d’instructions1
est exécuté, sinon on ne fait rien.
if cond1 :
Bloc Instructions1
else :
Syntaxe : Bloc Instructions2
Alternative Compète
Si la condition cond1 est vraie, le bloc d’instructions1 est
exécutée sinon le bloc d’instructions2 est exécutée.
if cond1 :
bloc d’instructions1
elif cond2 :
bloc d’instructions2
Syntaxe :
Alternative Imbriquée else :
bloc d’instructions2
end
L’utilisation de if… elif permet de spécifier plusieurs
conditions.
Exercices :

1- Écrire un programme qui calcul de la valeur absolue d'un nombre réel.


2-Ecrire un programme qui demande un nombre entier et d'afficher si
pair ou impair.
3-Ecrire un programme qui demande deux réels et renvoie-leur ´
maximum.
4-Ecrire un programme qui lit la moyenne d'un élève et affiche le
message "Réussi" si sa moyenne>=10, dans le cas contraire affiche le message
"Non Réussi".
5-Ecrire un algorithme qui donne l’état de l’eau selon sa température :
- Si T < =0 : c'est de la glace.
- Si T > 100 : c'est de la vapeur.
- Si 0 < T < 100 : c'est du liquide.

Professeur : ARROU ABDESSELAM Page | 13


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

8. Les structures répétitives :


La structure répétitive permet de répéter une instruction ou une suite
d'instructions tant qu’une condition est vraie.
Python propose deux structures de boucles :
 La boucle while : Permet de répéter l’exécution d’un bloc
d’instructions tant qu’une condition est vérifiée.
 La boucle for : par contre permet de répéter l’exécution d’un bloc
d’instructions un nombre déterminé de fois. La fonction range(n) permet de
générer une liste d'entier de 0 à n-1.
1. La boucle while :
La boucle while permet d’exécuter un bloc d’instructions de
manière répétitive tant qu’une expression booléenne est vraie.
Syntaxe :

while Condition :
Instruction1
Instruction2
…………………
InstructionN

Exemple :

Remarque :
 La variable évaluée dans la condition doit exister au préalable (il faut qu’on lui ait
déjà affecté au moins une valeur).
 Si la condition est fausse au départ, le corps de la boucle n’est jamais exécuté.
 Si la condition reste toujours vraie, alors le corps de la boucle est répété
indéfiniment. Il faut donc veiller à ce que le corps de la boucle contienne au moins
une instruction qui change la valeur d’une variable intervenant dans la condition
évaluée par while, de manière à ce que cette condition puisse devenir fausse et la
boucle se terminer.

Professeur : ARROU ABDESSELAM Page | 14


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

Exercice d'application :
1-Ecrire un programme qui demande à l’utilisateur d’entrer un mot de
passe. Si le mot de passe égal à « admin » il affiche « connexion réussie » sinon
il affiche « connexion échouée » et demande de l'utilisateur de ressaisir à
nouveau son mot de passe.

2-Ecrire un programme qui calcul la somme suivante :

2. La boucle for :
La boucle for permet de répéter l’exécution d’un bloc d’instructions un
nombre donné de fois.
Syntaxe :
for i in range (iMin, imax, pas) Condition :
Instruction1
Instruction2
…………………
InstructionN
Exemple 01 :

La fonction range permet de créer une liste d’entiers successifs compris


dans une certaine borne dépendant du nombre de paramètres de l’instruction
(début, fin pas) :

Professeur : ARROU ABDESSELAM Page | 15


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

Exemple 02 :

3. Les instruction break, continue et pass :


Ces deux instructions permettent à l’utilisateur d’avoir un plus grand
contrôle de la boucle.
A. L'instruction break :
L'instruction break provoque une sortie brutale de la boucle, mais le
programme continue son exécution après la boucle.
Exemple :

B. L'instruction continue :
L'instruction continue permet de passer directement à l'itération
suivante en sautant les instructions qui la suivent(continue).
Exemple :

Professeur : ARROU ABDESSELAM Page | 16


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

C. L'instruction pass :
L'instruction pass ne fait rien du tout mais, comme on ne peut avoir une
expression qui n’est suivie de rien, pass peut être utilisé pour combler ce vide.
Exemple :

Exercices :

1-écrire un programme pour afficher les dizaines entre 0 et 100 par ordre
IV. Introduction
décroissant. Le résultat affiché: sera : 100 90 80 70 60 50 40 30 20 10 0
2-Ecrire un programme qui demande un nombre de départ, et qui ensuite
affiche les dix nombres
Après suivants. Par
avoir double-cliqué surexemple,
l’icône desiScilab
l'utilisateur entrelelelogiciel,
pour lancer nombre 17, le
programme affichera
l'environnement de les nombres
Scilab présentede 18
lesàfenêtres
27... suivantes :
3-Écrivez
 Console un :programme qui affiche une table de conversion de sommes
Scilab
d'argentEspace d’exécution
exprimées en euros, immédiate
en dollarsdes commandes
canadiens. Comme sousdans
Scilab.
l'exemple
 L’éditeur pour écrire
Ci-dessous : des programmes :
Permet d'écrire
 1 des programmes
euro(s) dans un fichier avec l'extension ". sce ".
= 1.65 dollar(s)
 2 euro(s)
 Navigateurs de fichiers : = 3.30 dollar(s)
 4 euro(s) = 6.60 dollar(s)
Précise le répertoire courant (celui dans lequel on travaille), et permet de
 8 euro(s) = 13.20 dollar(s)
naviguer dans le système
 etc. de fichiers.
 (S'arrêter
 Navigateurs de variables : à 300 euros)
4-Écrire un programme qui calcul le pgcd de deux nombres entiers.
5-Ecrire un programme qui demande successivement 6 nombres à
l’utilisateur, et qui lui dise ensuite quel était le plus grand parmi ces 6 nombres :
 Entrez le nombre numéro 1 : 12
 Entrez le nombre numéro 2 : 14
 …
 Entrez le nombre numéro 6 : 5
Le plus grand de ces nombres est : 14
Modifiez ensuite le programme pour quelle affiche de surcroît en quelle
position avait été saisie ce nombre :
C’était le nombre numéro 2 : 14

Professeur : ARROU ABDESSELAM Page | 17