SlideShare une entreprise Scribd logo
1  sur  73
Télécharger pour lire hors ligne
Se7en - Creative Powerpoint Template 1
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
PYTHON
Module d’appentissage du language python
Année scolaire: 2021-2022
Se7en - Creative Powerpoint Template 2
≡≡≡ PLAN PYTHON
INTRODUCTION
CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
CHAPITRE II LE MODULE « TURTULE »
CHAPITRE III LES STRUCTURES DE CONTROLE
CHAPITRE IV LES SOUS PROGRAMMES
CHAPITRE V ALGORITHMES STANDARDS
Se7en - Creative Powerpoint Template 3
I. INTRODUCTION
1. 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
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 4
2. Qui utilise Python?
FACEBOOK GOOGLE YAHOO
NASA PANDA 3D BATTLEFIELD
I. INTRODUCTION
Se7en - Creative Powerpoint Template 5
3. Un peu d’historique
1989 1994 2000 2008 2014 2018
Création du Python
par
Guido van Rossum
Publication de la
version 1.0
Publication de la
version 2.0
Publication de la
version 3.0
Publication de la
version 3.4
Publication de la
version 3.7
I. INTRODUCTION
Se7en - Creative Powerpoint Template 6
4. Pourquoi préférer Python aux autres langages?
POURQUOI PYTHON?
PYTHON EST GRATUIT
Téléchargement et installation de python est gratuit et
facile
Le code source est accessible
PYTHON EST FACILE A APPRENDRE
La Structure et la syntaxe sont assez intuitive et facile à
saisir
Indentation du code: Pas de begin et end explicites, ni
d’accolades pour les blocks d’instructions.
Très documenté
PYTHON EST INTERPRETE
Test du quelque lignes du code sans besoin d’écrire un
programme complet
PYTHON EST PORTABLE
Python est portable et multiplateforme
PYTHON EST PUISSANT
Typage dynamique
Gestion automatique de la mémoire(ramasse-miettes)
Optionnellement multithreading est Orienté Objet
Python est riche en terme de bibliothèques(NumPy, SciPy …)
PYTHON EST JOKER
Python est utilisé pour l’administration système(Scripting)
,les applications bureau, le web, la robotique, jeux vidéo …
I. INTRODUCTION
Se7en - Creative Powerpoint Template
I. INTRODUCTION
7
5. 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)
• 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 8
6. IDLE: Editeur pour Python
I. INTRODUCTION
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
vous aider à développer vos programmes Python:
• Le Shell Python (Interpréteur interactive).
• L’éditeur de texte avec coloration syntaxique,
l’autocomplétion et l’indentation.
• Le débogueur intégré avec avancement par étape.
IDLE est l’éditeur standard fourni avec la
distribution de Python.
Se7en - Creative Powerpoint Template 9
≡≡≡ PLAN PYTHON
INTRODUCTION
CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
CHAPITRE II LE MODULE « TURTULE »
CHAPITRE III LES STRUCTURES DE CONTROLE
CHAPITRE IV LES SOUS PROGRAMMES
CHAPITRE V ALGORITHMES STANDARDS
Se7en - Creative Powerpoint Template 10
I. Les structures simples
CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
1. Opération d’entrée
Nom_variable = input (”texte”) # Le message s’affiche avant de saisir le contenu de la variable
2. Opération de sortie Syntaxe (Python)
print (”texte”) # affichage d’un texte
print (variable) # affiche du contenu d’une variable
print (”texte1”, var1, ...) # affichage mixte
print (expression) # affichage du résultat de l’expression
Syntaxe (Python)
3. Opération d’affectation Syntaxe (Python)
Nom_variable = Expression
Ecrire un programme qui permet de :
- Lire deux entiers a et b.
- Calculer la somme de ces deux entiers et affecter le résultat dans une variable s.
-Afficher la somme.
Activité n°1
Se7en - Creative Powerpoint Template 11
II. Les variables
CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
1. Déclaration
Nom_variable = Valeur_variable
Syntaxe (Python)
Remarque
Python est sensible à la casse, ce qui signifie que les variables age,Age etAGE sont différentes.
La Fonction type(nom_variable) nous permet de déterminer le type d’une variable sur Python.
Déclarer la variable age=17, puis faire appel à l’aide du nom age,Age etAGE.
Déterminer le type de la variable age.
Activité n°1
Se7en - Creative Powerpoint Template 12
III. Les types de données
CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
1. Le type int Une variable de type int est un nombre sans virgule.
Exemple: n = 20
2. Le type float
Les opérations arithmétiques et de comparaison sur les types numériques (int, float)
Une variable de type float est un nombre à virgule.
Exemple: moyenne = 15.75 moyenne = 15,75
Opérateur Syntaxe Python Exemple
Addition + 2 + 2 donne 4
Soustraction - 2.4–6.0 donne –3.6
Multiplication * 3*2 donne 6
Division / 5/2.5 donne 2.0
Puissance ** 3**3 donne 27
Division entière // 10.0//3.0 donne 3.0
Reste de la division entière % 5%2 donne 1
Syntaxe Python Signification Exemple
< Strictement inférieur à 2 < 3 donne True
<= Inférieur ou égal à 2.75 <= 2 donne False
> Strictement supérieur à 3 > 2 donne True
>= Supérieur ou égal à 2.5 >= 2 donne True
== Égal à 2.5 == 2.5 donne True
!= Différent de 2 != 2 donne False
Activité n°2
En utilisant Python IDLE, Evaluer les expressions suivantes:
15 / 2 + 13.5 // 5 <= 8
2 ** 2 * 5 % 3.5
7 + 3 // 2 != 8 % 2
Se7en - Creative Powerpoint Template 13
III. Les types de données
CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
3. Le type bool bool est un type de variable à deux états: True ou False
Exemple: p = True
Les opérateurs logiques
Activité n°3
Evaluer les expressions logiques suivantes:
not(2 < 1)
True and (5 != 6)
(2 < 1) or (7 == 7)
Python définit 3 opérateurs logiques:
not (NON logique): inverse une valeur.
and (ET logique): impose les deux expressions à True.
or (OU logique): nécessite une seule expression à True.
p q not(p) p and q p or q
False False True False False
False True True False True
True False False False True
True True False True True
Table de vérité des opérations logiques
Se7en - Creative Powerpoint Template 14
III. Les types de données
CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
4. Le type str Une donnée de type str est une suite quelconque de caractères.
Exemple: nom = "Tounsi" | prenom=‘Mohamed’
Accès aux caractères individuels d’une chaîne
Activité n°4
Soit la chaîne ch=’Bython’.
Afficher les caractères d’indices respectifs 0 et 3 dans ch.
Afficher les caractères d’indices respectifs -1 et -6 dans ch.
Essayer de remplacer le caractère ‘B’ par ‘P’.
Python offre des mécanismes permettant d'accéder séparément à chacun des caractères d'une chaîne.
L’accès aux caractères se fait par index.
Exemple:
ch = ‘B o n j o u r’
indice (positif) 0 1 2 3 4 5 6
indice (négatif) -7 -6 -5 -4 -3 -2 -1
Ou bien
ch[0] donne ‘B’
ch[5] donne ‘u’
ch[-7] donne ‘B’
ch[-5] donne ‘n’
Remarque
Les chaînes de caractères sont immuables (on ne peut pas changer leurs valeurs).
Il est donc, interdit d’écrire par exemple: ch[0]=’P’
Se7en - Creative Powerpoint Template 15
III. Les types de données
CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
4. Le type str Opérations sur les chaines de caractères
Activité n°5
Soit les chaînes de caractères suivantes:
ch1=’programmer’
ch2=’en‘
ch3=’PYTHON’
1) Concaténer ch1, ch2 et ch3 dans ch.Afficher ch.
2) Vérifier si ch2 est en majuscule.
3) Compter le nombre de ‘m’ dans ch1.
4) Donner la position du mot ‘PYTHON’ dans la chaîne ch.
Python intègre de nombreuses fonctions qui permettent d’effectuer divers traitements sur les chaînes de
caractères (conversions majuscules/minuscules, recherche de mots, découpage, etc).
Documentation Python: Fonctions sur les chaînes de caractères
Fonction Description Exemple
len(ch) Retourne la longueur de la chaîne ch len(‘Bonjour’) donne 7
+ Concaténation de deux ou plus chaînes de caractères ‘Bonjour’+’Python’ donne ‘BonjourPython’
* Répétition d’une chaîne de caractères ‘Python’*3 donne ‘PythonPythonPython’
ch.isupper() Tester si la chaîne ch est en minuscules ‘Bonjour’.isupper() donne False
ch.upper() Mettre la chaîne ch en majuscules ‘Bonjour’.upper donne ‘BONJOUR’
ch.find(s) Donne la position d’une sous chaîne s dans la chaîne ch ‘mes amis’.find(‘am’) donne 4
ch.count(s) Compte le nombre d’occurrence d’une sous chaîne s ‘Bonsoir les sersois’.count(‘oi’) donne 2
ch.replace(x,y,n) Remplace les n premières occurrences de x par y ‘Bonsour’.replace(‘s’, ‘j’, 1) donne ‘Bonjour’
Se7en - Creative Powerpoint Template 16
III. Les types de données
CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
5. Le type list Une liste est une collection ordonnée d’éléments..
Exemple: infoperso = [’Tounsi’,‘Mouhamed’,17,1.85]
Remarque
Une liste peut contenir d’éléments ayant des types variés.
Accès aux éléments d’une liste
On peut accéder aux éléments d’une liste à l’aide de leur indice associé
Exemple:
indice (positif) 0 1 2
couleurs = [ ‘Rouge’ , ‘Bleu’ , ‘Vert’ ]
indice (négatif) -3 -2 -1
Ou bien
couleurs[0] donne ‘Rouge’
couleurs[2] donne ‘Vert’
couleurs[-1] donne ‘Vert’
couleurs[-2] donne ‘Bleu’
Activité n°6
Soit la liste: couleurs= [’Rouge’,’Bleu’,’Vert’]
1) Déclarer la liste couleurs.
2)Afficher l’élément à la position 2. Y a t-il une autre méthode pour afficher cet élément.
3) Remplacer la couleur ‘Rouge’ par ‘Orange’.
4)Afficher la liste couleurs.
Remarque
En Python, les listes sont modifiables (Il est possible de changer les éléments individuels d’une liste).
Se7en - Creative Powerpoint Template 17
III. Les types de données
CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
5. Le type list Opérations sur les listes
Activité n°8
Définir la liste: noms = [’sami’, ‘ali’, ‘walid’, ‘mehdi’], puis effectuer les actions suivantes:
1)Ajouter ‘ahmed’ à la fin de la liste.
2) Supprimer ‘ali’ de la liste.
3) Trouver la position de ‘walid’ dans la liste.
4) Trier la liste.
5)Afficher la liste.
Les listes possèdent plusieurs méthodes très pratiques pour les manipuler:
Fonction Description
len(list) Retourne la longueur de la liste
list.append(elem) Ajoute un élément à la fin de la liste
list.insert(index,elem) Insère un élément à un index donné et décale les autres éléments vers la droite
list.extend(list2) Concatène la liste 2 à la fin de la liste
list.index(elem) Retourne l’index d’un élément donné dans la liste
list.remove(elem) Supprime la première occurrence d’un élément donné dans la liste
list.sort() Trie la liste
list.reverse() Renverse la liste
list.pop(index) Supprime et retourne l’élément à l’index donné
Se7en - Creative Powerpoint Template 18
III. Les types de données
CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
5. Le type list Liste des listes
Activité n°9
Soit le tableau de 2 dimensions suivant:
1) Déclarer le tableau tab2d.
2)Afficher l’élément à la deuxième ligne et troisième colonne.
3) Remplacer l’élément à la deuxième ligne et troisième colonne par 6.
4)Afficher tab2d.
On peut créer une liste de listes, qui s’apparente à un tableau à 2 dimensions (ligne, colonne).
Exemple: infopers = [ [’Tounsi’,‘Mouhamed’,17,1.85] ,
[‘Cherni’,’Ahmed’,20,1.70] ]
infopers [1][0] donne ‘Cherni’
infopers [0][2] donne 17
5 7 3
8 10 15
22 4 0
Se7en - Creative Powerpoint Template 19
III. Les types de données
CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
6. Le type tuple
Activité n°9
Soit le tuple : tuple_notes = (10, 7.5, 19, 5, 9.5)
1) Déclarer le tuple.
2)Afficher l’élément à la position 2
3) Remplacer 7.5 par 11.5
En Python le type tuple permet de créer des sortes de listes non modifiables (une fois déclaré ne peut
plus être modifié).
Exemple: tuple_1 = ( 7, ‘d’, 5, 4.5)
tuple_2 = ‘a’, ‘b’, 5, 4.5 # les parenthèses ne son pas obligatoires
list_3 = [ 9 , ‘b’, 5, 4.5]
tuple_3 = tuple(list_3)
Remarque
Le tuple permet une affectation multiple:
v1, v2 = 11, 22
On peut utiliser cette syntaxe pour permuter deux valeurs: x, y = y, x
Il permet également de renvoyer plusieurs valeurs lors d’un appel d’une fonction.
Se7en - Creative Powerpoint Template 20
III. Les types de données
CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
7. Le type dict Un dictionnaire en python est une sorte de liste mais au lieu d'utiliser des index , on utilise des clés ,
c'est à dire des valeurs autres que numériques.
Exemple: infopers= { "Nom": "Tounsi", "Prenom": "Mohamed", "Age": 25 }
print (infopers["Nom "]) # accéder à un élément d’un dictionnaire
‘ Tounsi ’
infopers["Age "] = 30 # Mettre à jour la valeur de clé “Age”
infopers[" Tél "] = 99999999 #Ajouter un nouveau élément avec la clé est “Tél”
del infopers["Age "] # Supprimer un élément avec la clé est “Age”
len (infopers) # Renvoi le nombre des éléments
infopers.keys() # Renvoi les clés
infopers.values() # Renvoi les valeurs
infopers.clear() # Supprimer tous les éléments
dir(infopers) # Renvoie les membres de la classe dict
Se7en - Creative Powerpoint Template 21
VI. Evaluation
CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
Se7en - Creative Powerpoint Template 2
2
≡≡≡ PLAN PYTHON
INTRODUCTION
CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
CHAPITRE II LE MODULE « TURTULE »
CHAPITRE III LES STRUCTURES DE CONTROLE
CHAPITRE IV LES SOUS PROGRAMMES
CHAPITRE V ALGORITHMES STANDARDS
Se7en - Creative Powerpoint Template 23
CHAPITRE II: Le module « Turtle »
1. Présentation Le module Turtle est un ensemble d’outils permettant de dessiner à l’aide d’instructions simples.
Une tortue est un petit robot qui dessine sur l’écran et on peut lui dire de se déplacer en utilisant des commandes en
Python.
2. Fonctions du module Turtle import turtle # importer le module turtle
Fonction Effet
Turtle() Créer votre tortue
forward(n) ou fd(n) Avancer de n pixels
backward(n) ou bk(n) Reculer de n pixels
left(n) ou lt(n) Tourner à droite de n degrés
right(n) ou rt(n) Tourner à gauche de n degrés
goto(x,y) Aller à l’endroit de coordonnées x et y.
color(couleur) Modifier la couleur de la ligne que la tortue trace (‘red’, ‘green’, ‘blue’, etc).
width(n) Choisir l’épaisseur du tracé
up() Relever le crayon (pour pouvoir avancer sans dessiner)
down() Baisser le crayon (dessiner lors de déplacement)
clear() Effacer l’écran
reset() Effacer l’écran, recentrer la tortue et réinitialiser ses paramètres.
circle(n) Tracer un cercle de rayon n pixels à gauche de la tortue
speed(n) Changer la vitesse de 1(lent) à 10(rapide). La valeur spéciale 0 est la plus rapide.
shape(form) Modifier la forme de la tortue ('turtle', 'circle', 'square‘, etc)
write(‘text’) Ecrire un texte
begin_fill() ……. end_fill() Colorer l’intérieur d’une courbe fermée
Exemple: le script suivant begin_fill() circle(100) end_fill() crée un disque plein
Se7en - Creative Powerpoint Template 24
CHAPITRE II: Le module « Turtle »
3. Exercices Exercice n°1
Utiliser la bibliothèque turtle, pour dessiner un carré de côté égal à 100 pixels.
Exercice n°2
Utiliser la bibliothèque turtle, pour dessiner un triangle équilatérale
de côté 150 pixels coloré en rouge.
Exercice n°3
Ecrire un programme python qui permet de :
• Calculer et d’afficher la surface d’un rectangle.
• Dessiner le rectangle en utilisant la bibliothèque turtle.
Sachant que la longueur et la largeur sont données.
Exemple :
Si la longueur =200 et la largeur =100. Le programme affiche :
La surface du rectangle est: 20000 pixels
Se7en - Creative Powerpoint Template 2
5
≡≡≡ PLAN PYTHON
INTRODUCTION
CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
CHAPITRE II LE MODULE « TURTULE »
CHAPITRE III LES STRUCTURES DE CONTROLE
CHAPITRE IV LES SOUS PROGRAMMES
CHAPITRE V ALGORITHMES STANDARDS
Se7en - Creative Powerpoint Template 26
I. Les structures de contrôle itératives
CHAPITRE III: LES STRUCTURES DE CONTROLE
1. Structure iterative complète
for e in séquence:
instruction 1
…
instruction n
# retour à la ligne sans indentation
Syntaxe (Python)
Une structure de contrôle itérative complète permet de répéter l’exécution d’une suite d’instructions un nombre
fini de fois connu à l’avance.
Remarque
Une instruction composée se compose:
- d’une ligne d’en-tête terminée par deux-points.
- d’un bloc d’instruction indenté par rapport à la ligne d’en-tête.
Toutes les instructions au même niveau d’indentation appartiennent au même bloc.
Se7en - Creative Powerpoint Template 27
I. Les structures de contrôle itératives
CHAPITRE III: LES STRUCTURES DE CONTROLE
1. Structure iterative complète Activité n°1
Écrire un script Python qui permet d’afficher la table de multiplication par 9 en utilisant la boucle for.
Activité n°2
Écrire un programme Python qui demande le côté d'un carré, puis qui dessine le carré à l'aide
d'une boucle for.
Se7en - Creative Powerpoint Template 28
I. Les structures de contrôle itératives
CHAPITRE III: LES STRUCTURES DE CONTROLE
1. Structure itérative complète
Activité n°2
Ecrire un programme python nommé SpiraleCarrée que réalise le dessin de droite.
Le premier segment mesure 10 pixels. Regarder bien la longueur que fait chaque
trait en partant du centre de la figure. Ceci peut-être écrit en 5 lignes !
Activité n°3
Saisir le programme python suivant et l’enregistrer dans un fichier ayant pour nom « fleur ».
Exécuter ce programme.
import turtle
t=turtle.Turtle()
t.color('red','pink')
t.width(4)
t.begin_fill()
for i in range(17):
t.circle(i*3, 180)
t.right(45)
t.end_fill()
Se7en - Creative Powerpoint Template 29
I. Les structures de contrôle itératives
CHAPITRE III: LES STRUCTURES DE CONTROLE
1. Structure itérative complète Activité n°4
Ecrire un programme Python qui compte le nombre de lettres z dans une chaîne de caractères.
Activité n°5
Ecrire un programme Python qui permet de dessiner un tourbillon coloré.
Se7en - Creative Powerpoint Template 30
I. Les structures de contrôle itératives
CHAPITRE III: LES STRUCTURES DE CONTROLE
2. Structure itérative
à condition d’arrêt
while condition :
instruction 1
…
instruction n
# retour à la ligne sans indentation
Syntaxe (Python)
Une structure de contrôle itérative à condition d’arrêt permet de répéter l’exécution d’une suite d’instructions
jusqu’à rencontrer la condition d’arrêt.
Cette structure est utilisée dans le cas où le nombre de répétitions est inconnu à l’avance.
Activité n°6
Écrire un programme permettant de tracer un pentagone régulier de côté 120 px à l’aide de la boucle while.
Se7en - Creative Powerpoint Template 31
I. Les structures de contrôle itératives
CHAPITRE III: LES STRUCTURES DE CONTROLE
2. Structure itérative
à condition d’arrêt
Activité n°7
Saisir le programme python suivant et l’enregistrer dans un fichier ayant pour nom « cercles aléatoires».
Tester le programme. Est que on peut déterminer le nombre de cercles à tracer à l’avance?
import turtle
import random
t = turtle.Turtle()
t.speed(0)
my_color = ['red', 'blue', 'green','yellow','black','magenta','cyan']
r=random.randint(1,110)
while r<=100:
t.up()
t.goto(random.randint(-300,300),random.randint(-300,300))
t.down()
t.color(random.choice(my_color))
t.dot(r,random.choise(my_color))
r=random.randint(1,110)
Se7en - Creative Powerpoint Template 32
II. Les structures de contrôle conditionnelles
CHAPITRE III: LES STRUCTURES DE CONTROLE
1. Forme généralisée
if condition 1:
Traitement 1
elif condition 2:
Traitement 2
…
elif condition n-1:
Traitement n-1
else:
Traitement n
# retour à la ligne sans indentation
Syntaxe (Python)
Une structure de contrôle conditionnelle est dite généralisée lorsqu’elle permet de résoudre des problèmes
comportant plus de deux traitements en fonction des conditions.
L’exécution d’un traitement entraîne automatiquement le non exécution des autres traitements.
Activité n°8
Ecrire un programme python qui permet de dessiner une forme géométrique donnée.
Ce programme ne sait dessiner que les formes suivantes: cercle, carré et triangle.
Se7en - Creative Powerpoint Template 33
II. Les structures de contrôle conditionnelles
CHAPITRE III: LES STRUCTURES DE CONTROLE
1. Forme généralisée Activité n°9
Ecrire un programme tortue_folle.py qui fonctionne de la manière suivante :
1. On fixe une variable rayon égal à 200 et une variable lm à 10.
2. On trace un cercle centré en (0,0) à l’aide des commandes circle(rayon) et goto(x,y).
3. La tortue effectue des déplacements élémentaires de taille lm et à la fin de chacun d’entre eux elle peut
tourner à gauche, à droite ou faire demi-tour (elle choisit au hasard). Ici on utilisera la commande
randint(1,3).
4. la tortue se promène ainsi et le programme s’arrête lorsqu’elle sort du cercle. Sachant que la
commande distance(0,0) renvoie la distance de la tortue à l’origine.
Vous devriez avoir une figure de ce genre :
Se7en - Creative Powerpoint Template 34
III. Evaluation
CHAPITRE III: LES STRUCTURES DE CONTROLE
Se7en - Creative Powerpoint Template 3
5
≡≡≡ PLAN PYTHON
INTRODUCTION
CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
CHAPITRE II LE MODULE « TURTULE »
CHAPITRE III LES STRUCTURES DE CONTROLE
CHAPITRE IV LES SOUS PROGRAMMES
CHAPITRE V ALGORITHMES STANDARDS
Se7en - Creative Powerpoint Template 36
I. Les fonctions
CHAPITRE IV: LES SOUS PROGRAMMES
1. Présentation et syntaxe
def nomFonction (paramètres) :
“”“ Documentation de la fonction “””
bloc d’instructions
return résultats
Syntaxe (Python)
Une fonction est un sous programme qui peut retourner plusieurs résultats.
Remarque
Le bloc d’instruction est obligatoire.
La documentation (facultative) est fortement conseillée.
Activité n°1
Ecrire une fonction majorité qui prend en paramètre le prénom et l'âge d’une personne.
La procédure affichera ensuite un message disant ‘Bonjour prénom’, puis indiquera s’il est mineur (-18) ou
s’il est majeur.
Se7en - Creative Powerpoint Template 37
I. Les fonctions
CHAPITRE IV: LES SOUS PROGRAMMES
Remarques
Pour utiliser une fonction, il suffit de l’appeler par son nom + ses paramètres s’il y en a.
nomFonction(paramètres)
L’accès à la documentation se fait avec la fonction
help(nomFonction).
1. Présentation et syntaxe
Activité n°3
Ecrire une fonction volumeSphere qui calcule le volume d’une sphère de rayon r fourni en argument.
Tester la fonction volumeSphere par un appel dans le programme principal.
NB: Volume d’une sphère = 4/3 * π * (Rayon) 3
Activité n°2
Ecrire une fonction triangle(taille) qui permet de tracer un
triangle équilatéral.
Ecrire une fonction hexagone(taille) qui trace un hexagone en
utilisant notre fonction « triangle ».
Ecrire un programme qui trace une toile d’araignée en utilisant
notre fonction « triangle ». Sachant que les toiles sont séparés les
uns des autres par 15 px.
Se7en - Creative Powerpoint Template 38
I. Les fonctions
CHAPITRE IV: LES SOUS PROGRAMMES
Activité n°4
Ecrire une fonction airePerimRect qui calcule l’aire et le périmètre d’un rectangle.
NB: aire = longeur x largeur
perim = (longeur + largeur) x 2
Remarques
En python, une fonction peut retourner plusieurs valeurs !
1. Présentation et syntaxe
Se7en - Creative Powerpoint Template 39
I. Les fonctions
CHAPITRE IV: LES SOUS PROGRAMMES
Lorsqu’une fonction est appelée, Python réserve pour elle un espace de noms. Cet espace de noms local à la fonction
est à distinguer de l’espace de noms global où se trouvait les variables du programme principal.
- Les variables locales sont définies à l’intérieur du corps d’une fonction, ces variables ne sont accessible
qu’a la fonction elle même.
- Les variables globales sont définies à l’extérieur d’une fonction et leur contenu est visible de l’intérieur
d’une fonction.
Une variable globale ne peut pas être modifiée depuis le corps d’une fonction, si elle est immutable
(int, float, bool, str, tuple).
Une variable globale peut être modifiée depuis le corps d’une fonction, si elle est mutable (list, dict, set ...)
Exemple
2. Variables locales, variables
globales
Type int (immuable) Type str (immuable) Type list (muable)
Se7en - Creative Powerpoint Template 40
I. Les fonctions
CHAPITRE IV: LES SOUS PROGRAMMES
Chaque paramètre de la définition de la fonction correspond, dans l’ordre, à un argument de l’appel.
Le (ou les) argument effectif d’entrée peut être une constante, une variable, le résultat d’une expression.
Remarques
Le nom d’une variable que nous passons comme argument n’a rien à voir avec le nom du paramètre correspondant
dans la fonction ( ces noms peuvent être différents) .
3. Passage des arguments
Se7en - Creative Powerpoint Template 41
I. Les fonctions
CHAPITRE IV: LES SOUS PROGRAMMES
Activité n°5
Ecrire une fonction supprimElementsNegatifs prenant une liste d’entiers et supprimant les entiers strictement
négatifs de cette liste.
Tester cette fonction.
Remarque
Une fonction peut agir sur leurs paramètres (peut retourner un résultat via ses paramètres).
1. Présentation et syntaxe
Se7en - Creative Powerpoint Template 42
II. Projets
CHAPITRE IV: LES SOUS PROGRAMMES
L’idée de ce projet est de créer une scène qui contient une maison, un arbre et un soleil.
Pour faciliter le travail, vous devez d’abord définir les fonctions suivantes:
• Définir une fonction dessinerRectangle(t, largeur, hauteur, couleur) pour dessiner et remplir un rectangle
avec les dimensions et la couleur sont données.
Exemple: dessinerRectangle(t, 100, 50, “blue”) donne
• Définir une fonction dessinerTriangle(t, longueur, couleur) pour dessiner et remplir un triangle rectangle
isocèle avec la longueur de l'hypoténuse et la couleur sont données.
Exemple: dessinerRectangle(t, 100, “green”) donne
• Définir une fonction dessinerParallelogram(t, largeur, hauteur, couleur) pour dessiner et remplir un
parallélogramme, avec les dimensions et la couleur sont données.
Exemple: dessinerParallelogram(t, 100, 50, “brown”) donne
• Définir une fonction dessinerRayons(t, longueur, rayon) pour dessiner quatre rayons de soleil de longueur
donnée, pour le soleil du rayon donné. La tortue commence au centre du cercle.
Exemple: dessinerRayons(t, 40, 50) donne
1. Projet: Maison pour tortue
Se7en - Creative Powerpoint Template 43
II. Projets
CHAPITRE IV: LES SOUS PROGRAMMES
Maintenant en utilisant les fonctions précédentes dessiner la scène suivante:
1. Projet: Maison pour tortue
Se7en - Creative Powerpoint Template 44
III. Evaluation
CHAPITRE IV: LES SOUS PROGRAMMES
Se7en - Creative Powerpoint Template 4
5
≡≡≡ PLAN PYTHON
INTRODUCTION
CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
CHAPITRE II LE MODULE « TURTULE »
CHAPITRE III LES STRUCTURES DE CONTROLE
CHAPITRE IV LES SOUS PROGRAMMES
CHAPITRE V ALGORITHMES STANDARDS
Se7en - Creative Powerpoint Template 46
I. Les algorithmes de recherche
CHAPITRE V: ALGORITHMES STANDARDS
1. La recherche séquentielle
La méthode de recherche séquentielle d’un élément dans un tableau consiste à parcourir le tableau élément par
élément en les comparant avec l’élément à chercher jusqu’a trouver ce dernier ou achever le tableau.
- Si on trouve l’élément recherché alors on sort par la valeur Vrai
- Si on atteint la fin du tableau sans rien trouver, on sort avec la valeur Faux
Exemple : Recherche de l’élément 5 dans le tableau t.
Principe de la recherche séquentielle
8 3 12 9 5 10 6
8 3 12 9 5 10 6
8 3 12 9 5 10 6
8 3 12 9 5 10 6
8 3 12 9 5 10 6 On a trouvé 5 donc la recherche s’arrête.
Se7en - Creative Powerpoint Template 47
I. Les algorithmes de recherche
CHAPITRE IV: ALOGORITHMES STANDARDS
2. La recherche séquentielle Activité n°1
En se basant sur le principe de la recherche séquentielle, déterminer l’algorithme de la fonction rechSeq.
Traduire la solution en un programme Python.
Algorithme
0) Def Fn rechSeq( T :Tab; n, x :entier): Booléen
1) i ← 1
Tantque ( i ≤ n et T[ i ] != x ) faire
i ← i + 1
FinTantque
2) Si ( i = n+1 ) alors
rechSeq ← Faux
Sinon
rechSeq ← Vrai
FinSi
3) Fn rechSeq
Se7en - Creative Powerpoint Template 48
I. Les algorithmes de recherche
CHAPITRE V: ALOGORITHMES STANDARDS
2. La recherche dichotomique
Comparer l’élément x recherché avec celui du milieu du tableau:
- Si x = T[ milieu ], on arrête le traitement.
- Si x < T[ milieu ], il suffit de chercher x dans la 1ère moitiè du tableau.
- Si x > T[ milieu ], il suffit de chercher x dans la 2ème moitiè du tableau.
On continue le découpage jusqu’a un sous tableau de taille 1.
Remarque : La recherche dichotomique s’applique uniquement sur un tableau trié.
Exemple : Recherche de l’élément 15 dans le tableau trié T.
Principe de la recherche dichotomique
3 5 6 8 9 12 15 19 23 51 Faux
trouve
inf sup
milieu
3 5 6 8 9 12 15 19 23 51 Faux
trouve
inf sup
milieu
3 5 6 8 9 12 15 19 23 51 Faux
trouve
inf sup
milieu
3 5 6 8 9 12 15 19 23 51 Vrai
trouve
inf sup
milieu
T[milieu] < 15
T[milieu] > 15
T[milieu] < 15
T[milieu] = 15
Se7en - Creative Powerpoint Template 49
I. Les algorithmes de recherche
CHAPITRE IV: ALOGORITHMES STANDARDS
1. La recherche dichotomique Activité n°2
En se basant sur le principe de la recherche dichotomique, déterminer l’agorithme de la fonction rechDic.
Traduire la solution en un programme Python.
Algorithme
0) Def Fn rechDic( T :Tab; n, x :entier): Booléen
1) inf ← 1
sup ← n
trouve ← Faux
Tantque ( inf ≤ sup et trouve = Faux ) faire
milieu ← (inf + sup) div 2
Si ( x < T[ milieu ] ) alors
sup ← milieu - 1
Sinon Si ( x > T[ milieu ] ) alors
inf ← milieu + 1
Sinon
trouve ← Vrai
FinSi
FinTantque
2) rechDic ← trouve
3) Fin rechDic
Se7en - Creative Powerpoint Template 50
II. Les algorithmes de tri
CHAPITRE V: ALGORITHMES STANDARDS
1. Le tri par insertion
Exemple :
Principe du tri par insertion
Ordonner les deux premiers éléments
Insérer le 3ème élément de manière à ce
que les 3 premiers éléments soient triés
Insérer le 4ème élément à sa bonne place
pour que les 4 premiers éléments soient triés
……………
Répéter le traitement jusqu’à avoir la liste
triée
Se7en - Creative Powerpoint Template 51
II. Les algorithmes de tri
CHAPITRE V: ALGORITHMES STANDARDS
1. Le tri par insertion Activité n°3
En se basant sur le principe du tri par insertion, déterminer l’agorithme de la procéduire triInsertion.
Traduire la solution en un programme Python.
Algorithme
0) Def Proc triInsertion(var T:Tab; n:entier)
1) Pour i de 2 à n faire :
x ← T[ i ]
j ← i
Tantque ( j > 1 et T[ j-1] > x ) faire
T[ j ] ← T[ j-1]
j ← j-1
Fin Tantque
T[ j ] ← x
FinPour
2) Fin triInsertion
Se7en - Creative Powerpoint Template 52
II. Les algorithmes de tri
CHAPITRE V: ALGORITHMES STANDARDS
2. Le tri à bulles
1) Comparer le premier et le deuxième élément et les permuter s’ils sont désordonnés
2) Refaire l’action 1 jusqu’a l’avant dernier élément
3) refaire les actions 1 et 2 jusqu’a ce qu’on ne peut plus permuter.
Principe du tri à bulles
Exemple :
Se7en - Creative Powerpoint Template 53
II. Les algorithmes de tri
CHAPITRE V: ALGORITHMES STANDARDS
2. Le tri à bulles Activité n°4
En se basant sur le principe du tri à bulles, déterminer l’agorithme de la procédure triBulles.
Traduire la solution en un programme Python.
Algorithme
0) Def Proc triBulles(var T :Tab; n :entier)
1) permut ← True
Tantque ( permut = True ) faire
permut ← faux
Pour i de 1 à n - 1 faire
si T[ i ] > T[ i + 1 ] alors
tmp ← T[ i ]
T[ i ] ← T[ i+1 ]
T[ i+1 ] ← tmp
permut ← vrai
Finsi
FinPour
Fin Tantque
2) Fin triBulles
Se7en - Creative Powerpoint Template 54
II. Les algorithmes de tri
CHAPITRE V: ALGORITHMES STANDARDS
3. Le tri par sélection Principe du tri par sélection
Trouver le plus petit élément et le mettre au début de la
liste
Trouver le 2ème plus petit élément et le mettre en
second position
Trouver le 3ème plus petit élément et le mettre à la
3ème place
…………..
Répéter le traitement jusqu’à avoir la liste triée
Se7en - Creative Powerpoint Template 55
II. Les algorithmes de tri
CHAPITRE V: ALGORITHMES STANDARDS
2. Le tri par sélection Activité n°4
En se basant sur le principe du tri par sélection, déterminer l’algorithme de la procédure triSelection.
Traduire la solution en un programme Python.
Algorithme
0) Def Proc triSelection(var T :Tab; n :entier)
1) Pour i de 1 à n-1 faire
posmin ← I
Pour j de i+1 à n faire
si T[ j ] < T [posmin] alors
posmin ← j
Finsi
FinPour
Si (posmin ≠ i) alors
temp ← T[ j ]
T[ j ] ← T [posmin]
T[posmin] ← temp
FinSi
Fin Pour
2) Fin triSelection
Se7en - Creative Powerpoint Template 56
III. Les algorithmes récurrents
CHAPITRE V: ALGORITHMES STANDARDS
1. Présentation
Un algorithme récurrent est un algorithme utilisant un traitement répétitif pour produire un résultat calculé.
Ce résultat peut dépendre des P résultats précédents : c’est un algorithme récurrent d’ordre P.
- Si P = 1, on parle d’algorithme récurrent d’ordre 1
- Si P = 2, on parle d’algorithme récurrent d’ordre 2
Exemple :
1) Un+1 = -2Un - 4 , algorithme récurrent d’ordre 1.
2) Un+2= Un+1 + Un , algorithme récurrent d’ordre 2.
Se7en - Creative Powerpoint Template 57
III. Les algorithmes récurrents
CHAPITRE V: ALGORITHMES STANDARDS
2. Calcul de somme Activité n°5
Ecrire un algorithme d’une fonction qui permet de calculer la somme de n premiers entiers, ainsi que la traduction en
Python.
Algorithme
0) Début Fn somme(n :entier): entier
1) s ← 0
2) Pour i de 1 à n faire
s ← s + i
Fin Pour
3) somme ← s
4) Fin somme
Remarque
Pour une valeur donnée de compteur i, la valeur de la somme est égale à la valeur ancienne incrementée de la valeur
de i ( s ← s + i ).
C’est un algorithme récurrent d’ordre 1.
Se7en - Creative Powerpoint Template 58
III. Les algorithmes récurrents
CHAPITRE V: ALGORITHMES STANDARDS
2. Calcul de somme Activité n°6
Ecrire un algorithme d’une procédure Somme1 qui permet de calculer et d’afficher la somme de n entiers saisis par
l’utilisateur.
Algorithme
0) Début Proc somme1(n :entier)
1) s ← 0
2) Pour i de 1 à n faire
lire(m)
s ← s + m
Fin Pour
3) Ecrire(”La somme est ”, s)
4) Fin somme1
Se7en - Creative Powerpoint Template 59
III. Les algorithmes récurrents
CHAPITRE V: ALGORITHMES STANDARDS
3. Recherche de munimum
et de maximum
Activité n°7
Ecrire un algorithme d’une procédure qui permet de rechercher la plus petite et la plus grande valeur dans un tableau
contenant n entiers. Traduire cet algorithme en Python.
Algorithme
0) Début Proc minMax(T :Tab; n :entier; var min, max :entier)
1) min ← T[1]; max ← T[1]
2) Pour i de 2 à n faire
Si T[ i ] < min alors
min ← T[ i ]
Fin Si
Si T[ i ] > max alors
max ← T[ i ]
Fin Si
Fin Pour
3) Fin minMax
Remarque
En Python, on peut calculer le min et le max d’une liste par:
- La fonction min(list)
- La fonction max(list)
Se7en - Creative Powerpoint Template 60
III. Les algorithmes récurrents
CHAPITRE V: ALGORITHMES STANDARDS
4. Calcul sur les suites Activité n°8
1) Ecrire un algorithme d’une procédure qui permet de calculer et d’afficher les n premiers termes de la suite U définie
par :
U0=3
Un = 2Un-1 - 4 , avec n≥1
2) Traduire cet algorithme en Python.
Algorithme
0) Début Proc termeSuite(n :entier)
1) U ← 3
2) Pour i de 1 à n faire
U ← 2*U - 4
Ecrire(U)
Fin Pour
3) Fin termeSuite
Remarque
Une valeur d’un terme donné dépend de la valeur du terme qui le précède. Il s’agit donc d’un algorithme récurrent
d’ordre 1.
Se7en - Creative Powerpoint Template 61
III. Les algorithmes récurrents
CHAPITRE V: ALGORITHMES STANDARDS
4. Calcul sur les suites Activité n°9
1) Ecrire un algorithme d’une procédure qui permet de calculer et d’afficher la valeur de Un de la suite U définie par :
U0=1 ; U1=1
Un = Un-1 + Un-2 , avec n≥2
2) Traduire cet algorithme en Python.
Algorithme
0) Début Proc calculUn(n :entier)
1) V ← 1; U ← 1
2) Pour i de 2 à n faire
tmp ← U + V
V ← U
U ← tmp
Fin Pour
3) calculUn ← U
4) Fin calculUn
Remarque
Il s’agit d’un traitement itératif. La valeur d’un terme dépend de deux termes précèdents: C’est un algorithme récurrent
d’ordre 2.
Se7en - Creative Powerpoint Template 62
VI. Les algorithmes arithmétiques
CHAPITRE V: ALGORITHMES STANDARDS
1. Le calcul de PGCD Définition
Le plus grand commun diviseur de deux entiers a et b appelé aussi PGCD est le plus grand entier permettant de diviser
a et b. On le note PGCD (a, b).
Solution
Si a = 36, b = 15.
PGCD (36, 15) = PGCD (15, 6)
= PGCD (6, 3)
= PGCD (3, 0)
= 3
Pour calculer le PGCD de deux entiers a et b, nous pouvons appliquer la méthode d’Euclide qui repose sur le principe
suivant :
- Si b ≠ 0, alors PGCD (a, b) = PGCD (b, r) où r est le reste de la division euclidienne de a par b (0≤r<b).
- Si non, alors PGCD (a, 0) = a.
Comment calculer le PGCD?
Activité n°10
Calculer le PGCD(36, 15).
Se7en - Creative Powerpoint Template 63
VI. Les algorithmes arithmétiques
CHAPITRE V: ALGORITHMES STANDARDS
1. Le calcul de PGCD Activité n°11
En se basant sur la méthode d’Euclide, écrire un algorithme d’une fonction intitulée pgcd qui permet de calculer le
PGCD de deux entiers.
Traduire cet algorithme en Python.
Algorithme
0) Début Fn pgcd(a, b :entier): entier
1) Tantque (b ≠ 0) faire
r ← a mod b
a ← b
b ← r
Fin Tantque
2) pgcd ← a
3) Fin pgcd
Se7en - Creative Powerpoint Template 64
VI. Les algorithmes arithmétiques
CHAPITRE V: ALGORITHMES STANDARDS
2. Le calcul de PPCM Définition
Le plus petit commun multiple de deux entiers a et b appelé aussi PPCM est le plus petit entier multiple à la fois de a et
de b. On le note PPCM (a,b).
Solution
Si a = 3, b = 64 alors max = 64, min=3.
64 mod 3 = 1 ≠ 0 alors max = 64+64+3-3 = 128
128 mod 3 = 2 ≠ 0 alors max = 128+64+3-3 = 192
192 mod 3 = 0 alors, on s’arrête.
PPCM = max = 193 = 3
Pour calculer le PPCM de deux entiers a et b, nous pouvons appliquer l’algorithme suivant :
1) Déterminer le minimum (min) et le maximum (max) entre a et b.
2) Calculer le reste r de la division de max par min (r = max mod min).
3) Si r = 0, alors le max est le PPCM.
4) Si non, chercher le multiple successive de max (max = max+a+b-min), refaire l’algorithme à partir
de l’étape 2) jusqu’à avoir un multiple de min (r = 0)
Comment calculer le PPCM?
Activité n°12
Calculer le PPCM(3, 64).
Se7en - Creative Powerpoint Template 65
VI. Les algorithmes arithmétiques
CHAPITRE V: ALGORITHMES STANDARDS
2. Le calcul de PPCM Activité n°13
En se basant sur la méthode du calcul de PPCM, écrire un algorithme d’une fonction intitulée ppcm qui permet de
calculer le PPCM de deux entiers.
Traduire cet algorithme en Python.
Algorithme
0) Début Fn ppcm(a, b :entier): entier
1) Si (a > b) alors
max ← a
min ← b
Sinon
max ← b
min ← a
Fin Si
2) Tantque (max mod min ≠ 0) faire
max ← max + a + b -min
Fin Tantque
3) ppcm ← max
4) Fin ppcm
Se7en - Creative Powerpoint Template 66
VI. Les algorithmes arithmétiques
CHAPITRE V: ALGORITHMES STANDARDS
3. Les nombres premiers Définition
Un entier supérieur à 1 est dit premier s’il n’est divisible que par 1 et par lui même.
Activité n°14
Ecrire un algorithme et déduire la traduction en Python d’une fonction intitulée premier qui permet de vérifier si un entier
n (n>1) est premier ou non.
Algorithme
0) Début Fn premier(a :entier): booléen
1) i ← 2
2) Tantque (n mod i ≠ 0) et (i ≤ n div 2) faire
i ← i + 1
Fin Tantque
3) Si (i > n div 2) alors
premier ← Vrai
Si non
premier ← Faux
Fin Si
4) Fin premier
Se7en - Creative Powerpoint Template 67
VI. Les algorithmes arithmétiques
CHAPITRE V: ALGORITHMES STANDARDS
4. Le calcul du factoriel Définition
La factorielle d’un entier n donné est le produit de tous les entiers de l’intervalle[1,n].
Le factoriel de n est noté n ! (n ! = n × (n - 2) × (n - 1) × ... × 4 × 3 × 2 × 1).
10 ! = 10 × 9 × 8 × 7 × 6 × 5 × 4 × 3 × 2 × 1
10 ! = 3628800
Activité n°15
Ecrire un algorithme et déduire la traduction en Python d’une fonction intitulée factoriel qui permet de calculer la
factorielle d’un entier n.
Algorithme
0) Début Fn factoriel(n :entier): entier
1) f ← 1
2) Pour i de 1 à n faire
f ← f × i
Fin Pour
3) factoriel ← f
4) Fin factoriel
Exemple :
Se7en - Creative Powerpoint Template 68
VI. Les algorithmes arithmétiques
CHAPITRE V: ALGORITHMES STANDARDS
5. La conversion entre les bases
de numération Les bases de numération sont:
- La base binaire (ou base 2) comprend 2 chiffres possibles {0 , 1}, elle est utilisée par les machines.
- La base décimale (ou base 10) comprend 10 chiffres possibles {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, c’est la base
couramment utilisée dans le calcul numérique traditionnel et la vie quotidienne.
- La base octale (ou base 8) comprend 8 chiffres {0, 1, 2, 3, 4, 5, 6, 7}.
- La base hexadécimale (ou base 16) comprend 16 symboles {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,A, B, C, D, E, F}.
Présentation des bases de numération
a. Présentation
Se7en - Creative Powerpoint Template 69
VI. Les algorithmes arithmétiques
CHAPITRE V: ALGORITHMES STANDARDS
5. La conversion entre les bases
de numération Pour convertir un nombre décimal en binaire, on suit les étapes suivantes :
1) Diviser n par 2.
2) Garder le reste et remplacer n par (n div 2).
3) Répéter les étapes 1) et 2) jusqu’à avoir n = 0.
Comment convertir du décimal en binaire ?
b. La conversion de
base 10 → base 2
Activité n°16
Convertir manuellement (38)10 en binaire.
Solution
On va dresser puis remplir le tableau suivant :
On va écrire les restes en ordre inverse de leur apparition, on obtient 100110.
En déduire que (38)10 = (100110)2
Quotient 38 19 9 4 2 1 0
reste 0 1 1 0 0 1
Se7en - Creative Powerpoint Template 70
VI. Les algorithmes arithmétiques
CHAPITRE V: ALGORITHMES STANDARDS
5. La conversion entre les bases
de numération
b. La conversion de
base 10 → base 2
Activité n°17
Ecrire un algorithme et déduire la traduction en Python d’un programme qui permet de convertir un nombre entier positif
n en binaire.
Algorithme
0) Début conversion10_2
1) Saisir(n)
2) chercher10_2(n, R, c)
3) afficher(R, c)
4) Fin conversion10_2
-----------------------------------------------------------------------------
0) Début Proc chercher10_2(n :entier; var R :Tab; var c :entier)
1) c ← 0
2) Tantque (n ≠ 0) faire
c ← c + 1
R[c] ← n mod 2
n ← n div 2
Fin Tantque
3) Fin chercher
-----------------------------------------------------------------------------
0) Début Proc afficher ( R :Tab; c :integer)
1) Pour i de c à 1 (pas -1) faire
Ecrire(R[ c ])
Fin Pour
2) Fin afficher
Se7en - Creative Powerpoint Template 71
VI. Les algorithmes arithmétiques
CHAPITRE V: ALGORITHMES STANDARDS
5. La conversion entre les bases
de numération Pour convertir un nombre décimal en hexadécimal, on suit les étapes suivantes :
1) Diviser n par 16.
2) Ranger le reste et remplacer n par (n div 16).
3) Répéter les étapes 1) et 2) jusqu’à avoir n = 0.
Comment convertir du décimal en hexadécimal ?
c. La conversion de
base 10 → base 16
Activité n°18
Convertir manuellement (142)10 en hexadécimal.
Solution
On va dresser puis remplir le tableau suivant :
On va écrire les restes en ordre inverse de leur apparition, on obtient 8E. (car 14 devient E en base 16)
En déduire que (142)10 = (8E)16
Quotient 142 8 1
reste 14 8
Se7en - Creative Powerpoint Template 72
VI. Les algorithmes arithmétiques
CHAPITRE V: ALGORITHMES STANDARDS
5. La conversion entre les bases
de numération
c. La conversion de
base 10 → base 16
Activité n°19
Ecrire un algorithme et déduire la traduction en Python d’un programme qui permet de convertir un nombre entier positif
n en hexadécimal.
Algorithme
0) Début conversion10_16
1) Saisir (n)
2) chercher(n, R, c)
3) afficher(R, c)
4) Fin conversion10_16
----------------------------------------------------------------------------------
-
0) Début Proc chercher(n :entier; var R :Tab; var c :entier)
1) c ← 0
2) Tantque (n ≠ 0) faire
c ← c + 1
R[c] ← n mod 16
n ← n div 16
Fin Tantque
3) Fin chercher
0) Début Proc afficher ( R :Tab; c :integer)
1) Pour i de c à 1 (pas -1) faire
Si (R[c] dans [0..9]) alors
Ecrire(R[c])
Sinon
Ecrire(CHR(ORD(”A”)+R[c]-10))
Fin Si
Fin Pour
2) Fin afficher
Se7en - Creative Powerpoint Template 73
VI. Les algorithmes arithmétiques
CHAPITRE V: ALGORITHMES STANDARDS
5. La conversion entre les bases
de numération
Remarque
En Python, on peut utiliser les fonctions suivantes pour convertir un nombre entier (en base 10) dans une autre base:
- Fonction bin: permet de convertir un nombre entier en un nombre binaire.
- Fonction hex: permet de convertir un nombre entier en un nombre hexadécimal.
- Fonction oct: permet de convertir un nombre entier en un nombre octal.
En Python, on peut utiliser la fonction int pour convertir les différentes bases vers la base décimal.
Exemple :
Fonction bin Fonction hex Fonction oct

Contenu connexe

Tendances

Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniShellmates
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Aziz Darouichi
 
Chapitre6: Surcharge des opérateurs
Chapitre6:  Surcharge des opérateursChapitre6:  Surcharge des opérateurs
Chapitre6: Surcharge des opérateursAziz Darouichi
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en PythonABDESSELAM ARROU
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaineAfef Ilahi
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
Serie recurrents & arithmetiques
Serie recurrents & arithmetiquesSerie recurrents & arithmetiques
Serie recurrents & arithmetiquesmohamed_SAYARI
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French CourseHaytam EL YOUSSFI
 
Initiation au langage python
Initiation au langage python Initiation au langage python
Initiation au langage python Sarah
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018salah fenni
 
Chap2 Les conteneurs en python
Chap2 Les conteneurs en pythonChap2 Les conteneurs en python
Chap2 Les conteneurs en pythonMariem ZAOUALI
 

Tendances (20)

Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El Hassani
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Recursiviteeeeeeeeee
RecursiviteeeeeeeeeeRecursiviteeeeeeeeee
Recursiviteeeeeeeeee
 
Chapitre6: Surcharge des opérateurs
Chapitre6:  Surcharge des opérateursChapitre6:  Surcharge des opérateurs
Chapitre6: Surcharge des opérateurs
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaine
 
Algorithmes de tri
Algorithmes de triAlgorithmes de tri
Algorithmes de tri
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Serie recurrents & arithmetiques
Serie recurrents & arithmetiquesSerie recurrents & arithmetiques
Serie recurrents & arithmetiques
 
Chap2fonctionscpp
Chap2fonctionscppChap2fonctionscpp
Chap2fonctionscpp
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
 
Initiation au langage python
Initiation au langage python Initiation au langage python
Initiation au langage python
 
Serie2
Serie2Serie2
Serie2
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
 
Python avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiersPython avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiers
 
Chap2 Les conteneurs en python
Chap2 Les conteneurs en pythonChap2 Les conteneurs en python
Chap2 Les conteneurs en python
 

Similaire à Formation python 3

Chap1 Introduction à python
Chap1 Introduction à pythonChap1 Introduction à python
Chap1 Introduction à pythonMariem ZAOUALI
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxbetalab
 
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES  (2022-2023)IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES  (2022-2023)
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)Tunisie collège
 
01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdfMARYAM510573
 
Formation python micro club.net
Formation python micro club.netFormation python micro club.net
Formation python micro club.netZakaria SMAHI
 
M2 INAE introduction python.pdf
M2 INAE introduction python.pdfM2 INAE introduction python.pdf
M2 INAE introduction python.pdfHajer Amdouni
 
Support Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxSupport Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxbpmana
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfHailisara
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptxolfaharrabi2
 
PPT Python.pptx
PPT Python.pptxPPT Python.pptx
PPT Python.pptxbpmana
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptxPROFPROF11
 
Cours c#
Cours c#Cours c#
Cours c#zan
 
Code Week 2014 - atelier d'initiation à la programmation avec python
Code Week 2014 - atelier d'initiation à la programmation avec pythonCode Week 2014 - atelier d'initiation à la programmation avec python
Code Week 2014 - atelier d'initiation à la programmation avec pythonbbourgois
 
Programming language python 2021
Programming language python 2021Programming language python 2021
Programming language python 2021Dalila Chouaya
 
formation python.pptx
formation python.pptxformation python.pptx
formation python.pptxbpmana
 
condition et boucle (2).pptx
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptxMohammedErritali2
 
StHack 2014 - Ninon Eyrolles Obfuscation 101
StHack 2014 - Ninon Eyrolles Obfuscation 101StHack 2014 - Ninon Eyrolles Obfuscation 101
StHack 2014 - Ninon Eyrolles Obfuscation 101StHack
 

Similaire à Formation python 3 (20)

Chap1 Introduction à python
Chap1 Introduction à pythonChap1 Introduction à python
Chap1 Introduction à python
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptx
 
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES  (2022-2023)IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES  (2022-2023)
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)
 
01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf
 
Formation python micro club.net
Formation python micro club.netFormation python micro club.net
Formation python micro club.net
 
Langage C
Langage CLangage C
Langage C
 
Formation python
Formation pythonFormation python
Formation python
 
M2 INAE introduction python.pdf
M2 INAE introduction python.pdfM2 INAE introduction python.pdf
M2 INAE introduction python.pdf
 
Support Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxSupport Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptx
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdf
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptx
 
PPT Python.pptx
PPT Python.pptxPPT Python.pptx
PPT Python.pptx
 
langage C++
langage C++langage C++
langage C++
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptx
 
Cours c#
Cours c#Cours c#
Cours c#
 
Code Week 2014 - atelier d'initiation à la programmation avec python
Code Week 2014 - atelier d'initiation à la programmation avec pythonCode Week 2014 - atelier d'initiation à la programmation avec python
Code Week 2014 - atelier d'initiation à la programmation avec python
 
Programming language python 2021
Programming language python 2021Programming language python 2021
Programming language python 2021
 
formation python.pptx
formation python.pptxformation python.pptx
formation python.pptx
 
condition et boucle (2).pptx
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptx
 
StHack 2014 - Ninon Eyrolles Obfuscation 101
StHack 2014 - Ninon Eyrolles Obfuscation 101StHack 2014 - Ninon Eyrolles Obfuscation 101
StHack 2014 - Ninon Eyrolles Obfuscation 101
 

Dernier

DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 
Aux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAmar LAKEL, PhD
 
Calendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilCalendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilfrizzole
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24BenotGeorges3
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 37
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 37
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 

Dernier (18)

DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 
Aux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècle
 
Calendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilCalendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avril
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
 
Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 

Formation python 3

  • 1. Se7en - Creative Powerpoint Template 1 REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION PYTHON Module d’appentissage du language python Année scolaire: 2021-2022
  • 2. Se7en - Creative Powerpoint Template 2 ≡≡≡ PLAN PYTHON INTRODUCTION CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES CHAPITRE II LE MODULE « TURTULE » CHAPITRE III LES STRUCTURES DE CONTROLE CHAPITRE IV LES SOUS PROGRAMMES CHAPITRE V ALGORITHMES STANDARDS
  • 3. Se7en - Creative Powerpoint Template 3 I. INTRODUCTION 1. 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 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
  • 4. Se7en - Creative Powerpoint Template 4 2. Qui utilise Python? FACEBOOK GOOGLE YAHOO NASA PANDA 3D BATTLEFIELD I. INTRODUCTION
  • 5. Se7en - Creative Powerpoint Template 5 3. Un peu d’historique 1989 1994 2000 2008 2014 2018 Création du Python par Guido van Rossum Publication de la version 1.0 Publication de la version 2.0 Publication de la version 3.0 Publication de la version 3.4 Publication de la version 3.7 I. INTRODUCTION
  • 6. Se7en - Creative Powerpoint Template 6 4. Pourquoi préférer Python aux autres langages? POURQUOI PYTHON? PYTHON EST GRATUIT Téléchargement et installation de python est gratuit et facile Le code source est accessible PYTHON EST FACILE A APPRENDRE La Structure et la syntaxe sont assez intuitive et facile à saisir Indentation du code: Pas de begin et end explicites, ni d’accolades pour les blocks d’instructions. Très documenté PYTHON EST INTERPRETE Test du quelque lignes du code sans besoin d’écrire un programme complet PYTHON EST PORTABLE Python est portable et multiplateforme PYTHON EST PUISSANT Typage dynamique Gestion automatique de la mémoire(ramasse-miettes) Optionnellement multithreading est Orienté Objet Python est riche en terme de bibliothèques(NumPy, SciPy …) PYTHON EST JOKER Python est utilisé pour l’administration système(Scripting) ,les applications bureau, le web, la robotique, jeux vidéo … I. INTRODUCTION
  • 7. Se7en - Creative Powerpoint Template I. INTRODUCTION 7 5. 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) • Installez et commencez à coder ! SOUS UNIX: Python est pré-installé sur la plupart des systèmes Unix, y compris Linux et MAC OS X.
  • 8. Se7en - Creative Powerpoint Template 8 6. IDLE: Editeur pour Python I. INTRODUCTION 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 vous aider à développer vos programmes Python: • Le Shell Python (Interpréteur interactive). • L’éditeur de texte avec coloration syntaxique, l’autocomplétion et l’indentation. • Le débogueur intégré avec avancement par étape. IDLE est l’éditeur standard fourni avec la distribution de Python.
  • 9. Se7en - Creative Powerpoint Template 9 ≡≡≡ PLAN PYTHON INTRODUCTION CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES CHAPITRE II LE MODULE « TURTULE » CHAPITRE III LES STRUCTURES DE CONTROLE CHAPITRE IV LES SOUS PROGRAMMES CHAPITRE V ALGORITHMES STANDARDS
  • 10. Se7en - Creative Powerpoint Template 10 I. Les structures simples CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 1. Opération d’entrée Nom_variable = input (”texte”) # Le message s’affiche avant de saisir le contenu de la variable 2. Opération de sortie Syntaxe (Python) print (”texte”) # affichage d’un texte print (variable) # affiche du contenu d’une variable print (”texte1”, var1, ...) # affichage mixte print (expression) # affichage du résultat de l’expression Syntaxe (Python) 3. Opération d’affectation Syntaxe (Python) Nom_variable = Expression Ecrire un programme qui permet de : - Lire deux entiers a et b. - Calculer la somme de ces deux entiers et affecter le résultat dans une variable s. -Afficher la somme. Activité n°1
  • 11. Se7en - Creative Powerpoint Template 11 II. Les variables CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 1. Déclaration Nom_variable = Valeur_variable Syntaxe (Python) Remarque Python est sensible à la casse, ce qui signifie que les variables age,Age etAGE sont différentes. La Fonction type(nom_variable) nous permet de déterminer le type d’une variable sur Python. Déclarer la variable age=17, puis faire appel à l’aide du nom age,Age etAGE. Déterminer le type de la variable age. Activité n°1
  • 12. Se7en - Creative Powerpoint Template 12 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 1. Le type int Une variable de type int est un nombre sans virgule. Exemple: n = 20 2. Le type float Les opérations arithmétiques et de comparaison sur les types numériques (int, float) Une variable de type float est un nombre à virgule. Exemple: moyenne = 15.75 moyenne = 15,75 Opérateur Syntaxe Python Exemple Addition + 2 + 2 donne 4 Soustraction - 2.4–6.0 donne –3.6 Multiplication * 3*2 donne 6 Division / 5/2.5 donne 2.0 Puissance ** 3**3 donne 27 Division entière // 10.0//3.0 donne 3.0 Reste de la division entière % 5%2 donne 1 Syntaxe Python Signification Exemple < Strictement inférieur à 2 < 3 donne True <= Inférieur ou égal à 2.75 <= 2 donne False > Strictement supérieur à 3 > 2 donne True >= Supérieur ou égal à 2.5 >= 2 donne True == Égal à 2.5 == 2.5 donne True != Différent de 2 != 2 donne False Activité n°2 En utilisant Python IDLE, Evaluer les expressions suivantes: 15 / 2 + 13.5 // 5 <= 8 2 ** 2 * 5 % 3.5 7 + 3 // 2 != 8 % 2
  • 13. Se7en - Creative Powerpoint Template 13 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 3. Le type bool bool est un type de variable à deux états: True ou False Exemple: p = True Les opérateurs logiques Activité n°3 Evaluer les expressions logiques suivantes: not(2 < 1) True and (5 != 6) (2 < 1) or (7 == 7) Python définit 3 opérateurs logiques: not (NON logique): inverse une valeur. and (ET logique): impose les deux expressions à True. or (OU logique): nécessite une seule expression à True. p q not(p) p and q p or q False False True False False False True True False True True False False False True True True False True True Table de vérité des opérations logiques
  • 14. Se7en - Creative Powerpoint Template 14 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 4. Le type str Une donnée de type str est une suite quelconque de caractères. Exemple: nom = "Tounsi" | prenom=‘Mohamed’ Accès aux caractères individuels d’une chaîne Activité n°4 Soit la chaîne ch=’Bython’. Afficher les caractères d’indices respectifs 0 et 3 dans ch. Afficher les caractères d’indices respectifs -1 et -6 dans ch. Essayer de remplacer le caractère ‘B’ par ‘P’. Python offre des mécanismes permettant d'accéder séparément à chacun des caractères d'une chaîne. L’accès aux caractères se fait par index. Exemple: ch = ‘B o n j o u r’ indice (positif) 0 1 2 3 4 5 6 indice (négatif) -7 -6 -5 -4 -3 -2 -1 Ou bien ch[0] donne ‘B’ ch[5] donne ‘u’ ch[-7] donne ‘B’ ch[-5] donne ‘n’ Remarque Les chaînes de caractères sont immuables (on ne peut pas changer leurs valeurs). Il est donc, interdit d’écrire par exemple: ch[0]=’P’
  • 15. Se7en - Creative Powerpoint Template 15 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 4. Le type str Opérations sur les chaines de caractères Activité n°5 Soit les chaînes de caractères suivantes: ch1=’programmer’ ch2=’en‘ ch3=’PYTHON’ 1) Concaténer ch1, ch2 et ch3 dans ch.Afficher ch. 2) Vérifier si ch2 est en majuscule. 3) Compter le nombre de ‘m’ dans ch1. 4) Donner la position du mot ‘PYTHON’ dans la chaîne ch. Python intègre de nombreuses fonctions qui permettent d’effectuer divers traitements sur les chaînes de caractères (conversions majuscules/minuscules, recherche de mots, découpage, etc). Documentation Python: Fonctions sur les chaînes de caractères Fonction Description Exemple len(ch) Retourne la longueur de la chaîne ch len(‘Bonjour’) donne 7 + Concaténation de deux ou plus chaînes de caractères ‘Bonjour’+’Python’ donne ‘BonjourPython’ * Répétition d’une chaîne de caractères ‘Python’*3 donne ‘PythonPythonPython’ ch.isupper() Tester si la chaîne ch est en minuscules ‘Bonjour’.isupper() donne False ch.upper() Mettre la chaîne ch en majuscules ‘Bonjour’.upper donne ‘BONJOUR’ ch.find(s) Donne la position d’une sous chaîne s dans la chaîne ch ‘mes amis’.find(‘am’) donne 4 ch.count(s) Compte le nombre d’occurrence d’une sous chaîne s ‘Bonsoir les sersois’.count(‘oi’) donne 2 ch.replace(x,y,n) Remplace les n premières occurrences de x par y ‘Bonsour’.replace(‘s’, ‘j’, 1) donne ‘Bonjour’
  • 16. Se7en - Creative Powerpoint Template 16 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 5. Le type list Une liste est une collection ordonnée d’éléments.. Exemple: infoperso = [’Tounsi’,‘Mouhamed’,17,1.85] Remarque Une liste peut contenir d’éléments ayant des types variés. Accès aux éléments d’une liste On peut accéder aux éléments d’une liste à l’aide de leur indice associé Exemple: indice (positif) 0 1 2 couleurs = [ ‘Rouge’ , ‘Bleu’ , ‘Vert’ ] indice (négatif) -3 -2 -1 Ou bien couleurs[0] donne ‘Rouge’ couleurs[2] donne ‘Vert’ couleurs[-1] donne ‘Vert’ couleurs[-2] donne ‘Bleu’ Activité n°6 Soit la liste: couleurs= [’Rouge’,’Bleu’,’Vert’] 1) Déclarer la liste couleurs. 2)Afficher l’élément à la position 2. Y a t-il une autre méthode pour afficher cet élément. 3) Remplacer la couleur ‘Rouge’ par ‘Orange’. 4)Afficher la liste couleurs. Remarque En Python, les listes sont modifiables (Il est possible de changer les éléments individuels d’une liste).
  • 17. Se7en - Creative Powerpoint Template 17 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 5. Le type list Opérations sur les listes Activité n°8 Définir la liste: noms = [’sami’, ‘ali’, ‘walid’, ‘mehdi’], puis effectuer les actions suivantes: 1)Ajouter ‘ahmed’ à la fin de la liste. 2) Supprimer ‘ali’ de la liste. 3) Trouver la position de ‘walid’ dans la liste. 4) Trier la liste. 5)Afficher la liste. Les listes possèdent plusieurs méthodes très pratiques pour les manipuler: Fonction Description len(list) Retourne la longueur de la liste list.append(elem) Ajoute un élément à la fin de la liste list.insert(index,elem) Insère un élément à un index donné et décale les autres éléments vers la droite list.extend(list2) Concatène la liste 2 à la fin de la liste list.index(elem) Retourne l’index d’un élément donné dans la liste list.remove(elem) Supprime la première occurrence d’un élément donné dans la liste list.sort() Trie la liste list.reverse() Renverse la liste list.pop(index) Supprime et retourne l’élément à l’index donné
  • 18. Se7en - Creative Powerpoint Template 18 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 5. Le type list Liste des listes Activité n°9 Soit le tableau de 2 dimensions suivant: 1) Déclarer le tableau tab2d. 2)Afficher l’élément à la deuxième ligne et troisième colonne. 3) Remplacer l’élément à la deuxième ligne et troisième colonne par 6. 4)Afficher tab2d. On peut créer une liste de listes, qui s’apparente à un tableau à 2 dimensions (ligne, colonne). Exemple: infopers = [ [’Tounsi’,‘Mouhamed’,17,1.85] , [‘Cherni’,’Ahmed’,20,1.70] ] infopers [1][0] donne ‘Cherni’ infopers [0][2] donne 17 5 7 3 8 10 15 22 4 0
  • 19. Se7en - Creative Powerpoint Template 19 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 6. Le type tuple Activité n°9 Soit le tuple : tuple_notes = (10, 7.5, 19, 5, 9.5) 1) Déclarer le tuple. 2)Afficher l’élément à la position 2 3) Remplacer 7.5 par 11.5 En Python le type tuple permet de créer des sortes de listes non modifiables (une fois déclaré ne peut plus être modifié). Exemple: tuple_1 = ( 7, ‘d’, 5, 4.5) tuple_2 = ‘a’, ‘b’, 5, 4.5 # les parenthèses ne son pas obligatoires list_3 = [ 9 , ‘b’, 5, 4.5] tuple_3 = tuple(list_3) Remarque Le tuple permet une affectation multiple: v1, v2 = 11, 22 On peut utiliser cette syntaxe pour permuter deux valeurs: x, y = y, x Il permet également de renvoyer plusieurs valeurs lors d’un appel d’une fonction.
  • 20. Se7en - Creative Powerpoint Template 20 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 7. Le type dict Un dictionnaire en python est une sorte de liste mais au lieu d'utiliser des index , on utilise des clés , c'est à dire des valeurs autres que numériques. Exemple: infopers= { "Nom": "Tounsi", "Prenom": "Mohamed", "Age": 25 } print (infopers["Nom "]) # accéder à un élément d’un dictionnaire ‘ Tounsi ’ infopers["Age "] = 30 # Mettre à jour la valeur de clé “Age” infopers[" Tél "] = 99999999 #Ajouter un nouveau élément avec la clé est “Tél” del infopers["Age "] # Supprimer un élément avec la clé est “Age” len (infopers) # Renvoi le nombre des éléments infopers.keys() # Renvoi les clés infopers.values() # Renvoi les valeurs infopers.clear() # Supprimer tous les éléments dir(infopers) # Renvoie les membres de la classe dict
  • 21. Se7en - Creative Powerpoint Template 21 VI. Evaluation CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
  • 22. Se7en - Creative Powerpoint Template 2 2 ≡≡≡ PLAN PYTHON INTRODUCTION CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES CHAPITRE II LE MODULE « TURTULE » CHAPITRE III LES STRUCTURES DE CONTROLE CHAPITRE IV LES SOUS PROGRAMMES CHAPITRE V ALGORITHMES STANDARDS
  • 23. Se7en - Creative Powerpoint Template 23 CHAPITRE II: Le module « Turtle » 1. Présentation Le module Turtle est un ensemble d’outils permettant de dessiner à l’aide d’instructions simples. Une tortue est un petit robot qui dessine sur l’écran et on peut lui dire de se déplacer en utilisant des commandes en Python. 2. Fonctions du module Turtle import turtle # importer le module turtle Fonction Effet Turtle() Créer votre tortue forward(n) ou fd(n) Avancer de n pixels backward(n) ou bk(n) Reculer de n pixels left(n) ou lt(n) Tourner à droite de n degrés right(n) ou rt(n) Tourner à gauche de n degrés goto(x,y) Aller à l’endroit de coordonnées x et y. color(couleur) Modifier la couleur de la ligne que la tortue trace (‘red’, ‘green’, ‘blue’, etc). width(n) Choisir l’épaisseur du tracé up() Relever le crayon (pour pouvoir avancer sans dessiner) down() Baisser le crayon (dessiner lors de déplacement) clear() Effacer l’écran reset() Effacer l’écran, recentrer la tortue et réinitialiser ses paramètres. circle(n) Tracer un cercle de rayon n pixels à gauche de la tortue speed(n) Changer la vitesse de 1(lent) à 10(rapide). La valeur spéciale 0 est la plus rapide. shape(form) Modifier la forme de la tortue ('turtle', 'circle', 'square‘, etc) write(‘text’) Ecrire un texte begin_fill() ……. end_fill() Colorer l’intérieur d’une courbe fermée Exemple: le script suivant begin_fill() circle(100) end_fill() crée un disque plein
  • 24. Se7en - Creative Powerpoint Template 24 CHAPITRE II: Le module « Turtle » 3. Exercices Exercice n°1 Utiliser la bibliothèque turtle, pour dessiner un carré de côté égal à 100 pixels. Exercice n°2 Utiliser la bibliothèque turtle, pour dessiner un triangle équilatérale de côté 150 pixels coloré en rouge. Exercice n°3 Ecrire un programme python qui permet de : • Calculer et d’afficher la surface d’un rectangle. • Dessiner le rectangle en utilisant la bibliothèque turtle. Sachant que la longueur et la largeur sont données. Exemple : Si la longueur =200 et la largeur =100. Le programme affiche : La surface du rectangle est: 20000 pixels
  • 25. Se7en - Creative Powerpoint Template 2 5 ≡≡≡ PLAN PYTHON INTRODUCTION CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES CHAPITRE II LE MODULE « TURTULE » CHAPITRE III LES STRUCTURES DE CONTROLE CHAPITRE IV LES SOUS PROGRAMMES CHAPITRE V ALGORITHMES STANDARDS
  • 26. Se7en - Creative Powerpoint Template 26 I. Les structures de contrôle itératives CHAPITRE III: LES STRUCTURES DE CONTROLE 1. Structure iterative complète for e in séquence: instruction 1 … instruction n # retour à la ligne sans indentation Syntaxe (Python) Une structure de contrôle itérative complète permet de répéter l’exécution d’une suite d’instructions un nombre fini de fois connu à l’avance. Remarque Une instruction composée se compose: - d’une ligne d’en-tête terminée par deux-points. - d’un bloc d’instruction indenté par rapport à la ligne d’en-tête. Toutes les instructions au même niveau d’indentation appartiennent au même bloc.
  • 27. Se7en - Creative Powerpoint Template 27 I. Les structures de contrôle itératives CHAPITRE III: LES STRUCTURES DE CONTROLE 1. Structure iterative complète Activité n°1 Écrire un script Python qui permet d’afficher la table de multiplication par 9 en utilisant la boucle for. Activité n°2 Écrire un programme Python qui demande le côté d'un carré, puis qui dessine le carré à l'aide d'une boucle for.
  • 28. Se7en - Creative Powerpoint Template 28 I. Les structures de contrôle itératives CHAPITRE III: LES STRUCTURES DE CONTROLE 1. Structure itérative complète Activité n°2 Ecrire un programme python nommé SpiraleCarrée que réalise le dessin de droite. Le premier segment mesure 10 pixels. Regarder bien la longueur que fait chaque trait en partant du centre de la figure. Ceci peut-être écrit en 5 lignes ! Activité n°3 Saisir le programme python suivant et l’enregistrer dans un fichier ayant pour nom « fleur ». Exécuter ce programme. import turtle t=turtle.Turtle() t.color('red','pink') t.width(4) t.begin_fill() for i in range(17): t.circle(i*3, 180) t.right(45) t.end_fill()
  • 29. Se7en - Creative Powerpoint Template 29 I. Les structures de contrôle itératives CHAPITRE III: LES STRUCTURES DE CONTROLE 1. Structure itérative complète Activité n°4 Ecrire un programme Python qui compte le nombre de lettres z dans une chaîne de caractères. Activité n°5 Ecrire un programme Python qui permet de dessiner un tourbillon coloré.
  • 30. Se7en - Creative Powerpoint Template 30 I. Les structures de contrôle itératives CHAPITRE III: LES STRUCTURES DE CONTROLE 2. Structure itérative à condition d’arrêt while condition : instruction 1 … instruction n # retour à la ligne sans indentation Syntaxe (Python) Une structure de contrôle itérative à condition d’arrêt permet de répéter l’exécution d’une suite d’instructions jusqu’à rencontrer la condition d’arrêt. Cette structure est utilisée dans le cas où le nombre de répétitions est inconnu à l’avance. Activité n°6 Écrire un programme permettant de tracer un pentagone régulier de côté 120 px à l’aide de la boucle while.
  • 31. Se7en - Creative Powerpoint Template 31 I. Les structures de contrôle itératives CHAPITRE III: LES STRUCTURES DE CONTROLE 2. Structure itérative à condition d’arrêt Activité n°7 Saisir le programme python suivant et l’enregistrer dans un fichier ayant pour nom « cercles aléatoires». Tester le programme. Est que on peut déterminer le nombre de cercles à tracer à l’avance? import turtle import random t = turtle.Turtle() t.speed(0) my_color = ['red', 'blue', 'green','yellow','black','magenta','cyan'] r=random.randint(1,110) while r<=100: t.up() t.goto(random.randint(-300,300),random.randint(-300,300)) t.down() t.color(random.choice(my_color)) t.dot(r,random.choise(my_color)) r=random.randint(1,110)
  • 32. Se7en - Creative Powerpoint Template 32 II. Les structures de contrôle conditionnelles CHAPITRE III: LES STRUCTURES DE CONTROLE 1. Forme généralisée if condition 1: Traitement 1 elif condition 2: Traitement 2 … elif condition n-1: Traitement n-1 else: Traitement n # retour à la ligne sans indentation Syntaxe (Python) Une structure de contrôle conditionnelle est dite généralisée lorsqu’elle permet de résoudre des problèmes comportant plus de deux traitements en fonction des conditions. L’exécution d’un traitement entraîne automatiquement le non exécution des autres traitements. Activité n°8 Ecrire un programme python qui permet de dessiner une forme géométrique donnée. Ce programme ne sait dessiner que les formes suivantes: cercle, carré et triangle.
  • 33. Se7en - Creative Powerpoint Template 33 II. Les structures de contrôle conditionnelles CHAPITRE III: LES STRUCTURES DE CONTROLE 1. Forme généralisée Activité n°9 Ecrire un programme tortue_folle.py qui fonctionne de la manière suivante : 1. On fixe une variable rayon égal à 200 et une variable lm à 10. 2. On trace un cercle centré en (0,0) à l’aide des commandes circle(rayon) et goto(x,y). 3. La tortue effectue des déplacements élémentaires de taille lm et à la fin de chacun d’entre eux elle peut tourner à gauche, à droite ou faire demi-tour (elle choisit au hasard). Ici on utilisera la commande randint(1,3). 4. la tortue se promène ainsi et le programme s’arrête lorsqu’elle sort du cercle. Sachant que la commande distance(0,0) renvoie la distance de la tortue à l’origine. Vous devriez avoir une figure de ce genre :
  • 34. Se7en - Creative Powerpoint Template 34 III. Evaluation CHAPITRE III: LES STRUCTURES DE CONTROLE
  • 35. Se7en - Creative Powerpoint Template 3 5 ≡≡≡ PLAN PYTHON INTRODUCTION CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES CHAPITRE II LE MODULE « TURTULE » CHAPITRE III LES STRUCTURES DE CONTROLE CHAPITRE IV LES SOUS PROGRAMMES CHAPITRE V ALGORITHMES STANDARDS
  • 36. Se7en - Creative Powerpoint Template 36 I. Les fonctions CHAPITRE IV: LES SOUS PROGRAMMES 1. Présentation et syntaxe def nomFonction (paramètres) : “”“ Documentation de la fonction “”” bloc d’instructions return résultats Syntaxe (Python) Une fonction est un sous programme qui peut retourner plusieurs résultats. Remarque Le bloc d’instruction est obligatoire. La documentation (facultative) est fortement conseillée. Activité n°1 Ecrire une fonction majorité qui prend en paramètre le prénom et l'âge d’une personne. La procédure affichera ensuite un message disant ‘Bonjour prénom’, puis indiquera s’il est mineur (-18) ou s’il est majeur.
  • 37. Se7en - Creative Powerpoint Template 37 I. Les fonctions CHAPITRE IV: LES SOUS PROGRAMMES Remarques Pour utiliser une fonction, il suffit de l’appeler par son nom + ses paramètres s’il y en a. nomFonction(paramètres) L’accès à la documentation se fait avec la fonction help(nomFonction). 1. Présentation et syntaxe Activité n°3 Ecrire une fonction volumeSphere qui calcule le volume d’une sphère de rayon r fourni en argument. Tester la fonction volumeSphere par un appel dans le programme principal. NB: Volume d’une sphère = 4/3 * π * (Rayon) 3 Activité n°2 Ecrire une fonction triangle(taille) qui permet de tracer un triangle équilatéral. Ecrire une fonction hexagone(taille) qui trace un hexagone en utilisant notre fonction « triangle ». Ecrire un programme qui trace une toile d’araignée en utilisant notre fonction « triangle ». Sachant que les toiles sont séparés les uns des autres par 15 px.
  • 38. Se7en - Creative Powerpoint Template 38 I. Les fonctions CHAPITRE IV: LES SOUS PROGRAMMES Activité n°4 Ecrire une fonction airePerimRect qui calcule l’aire et le périmètre d’un rectangle. NB: aire = longeur x largeur perim = (longeur + largeur) x 2 Remarques En python, une fonction peut retourner plusieurs valeurs ! 1. Présentation et syntaxe
  • 39. Se7en - Creative Powerpoint Template 39 I. Les fonctions CHAPITRE IV: LES SOUS PROGRAMMES Lorsqu’une fonction est appelée, Python réserve pour elle un espace de noms. Cet espace de noms local à la fonction est à distinguer de l’espace de noms global où se trouvait les variables du programme principal. - Les variables locales sont définies à l’intérieur du corps d’une fonction, ces variables ne sont accessible qu’a la fonction elle même. - Les variables globales sont définies à l’extérieur d’une fonction et leur contenu est visible de l’intérieur d’une fonction. Une variable globale ne peut pas être modifiée depuis le corps d’une fonction, si elle est immutable (int, float, bool, str, tuple). Une variable globale peut être modifiée depuis le corps d’une fonction, si elle est mutable (list, dict, set ...) Exemple 2. Variables locales, variables globales Type int (immuable) Type str (immuable) Type list (muable)
  • 40. Se7en - Creative Powerpoint Template 40 I. Les fonctions CHAPITRE IV: LES SOUS PROGRAMMES Chaque paramètre de la définition de la fonction correspond, dans l’ordre, à un argument de l’appel. Le (ou les) argument effectif d’entrée peut être une constante, une variable, le résultat d’une expression. Remarques Le nom d’une variable que nous passons comme argument n’a rien à voir avec le nom du paramètre correspondant dans la fonction ( ces noms peuvent être différents) . 3. Passage des arguments
  • 41. Se7en - Creative Powerpoint Template 41 I. Les fonctions CHAPITRE IV: LES SOUS PROGRAMMES Activité n°5 Ecrire une fonction supprimElementsNegatifs prenant une liste d’entiers et supprimant les entiers strictement négatifs de cette liste. Tester cette fonction. Remarque Une fonction peut agir sur leurs paramètres (peut retourner un résultat via ses paramètres). 1. Présentation et syntaxe
  • 42. Se7en - Creative Powerpoint Template 42 II. Projets CHAPITRE IV: LES SOUS PROGRAMMES L’idée de ce projet est de créer une scène qui contient une maison, un arbre et un soleil. Pour faciliter le travail, vous devez d’abord définir les fonctions suivantes: • Définir une fonction dessinerRectangle(t, largeur, hauteur, couleur) pour dessiner et remplir un rectangle avec les dimensions et la couleur sont données. Exemple: dessinerRectangle(t, 100, 50, “blue”) donne • Définir une fonction dessinerTriangle(t, longueur, couleur) pour dessiner et remplir un triangle rectangle isocèle avec la longueur de l'hypoténuse et la couleur sont données. Exemple: dessinerRectangle(t, 100, “green”) donne • Définir une fonction dessinerParallelogram(t, largeur, hauteur, couleur) pour dessiner et remplir un parallélogramme, avec les dimensions et la couleur sont données. Exemple: dessinerParallelogram(t, 100, 50, “brown”) donne • Définir une fonction dessinerRayons(t, longueur, rayon) pour dessiner quatre rayons de soleil de longueur donnée, pour le soleil du rayon donné. La tortue commence au centre du cercle. Exemple: dessinerRayons(t, 40, 50) donne 1. Projet: Maison pour tortue
  • 43. Se7en - Creative Powerpoint Template 43 II. Projets CHAPITRE IV: LES SOUS PROGRAMMES Maintenant en utilisant les fonctions précédentes dessiner la scène suivante: 1. Projet: Maison pour tortue
  • 44. Se7en - Creative Powerpoint Template 44 III. Evaluation CHAPITRE IV: LES SOUS PROGRAMMES
  • 45. Se7en - Creative Powerpoint Template 4 5 ≡≡≡ PLAN PYTHON INTRODUCTION CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES CHAPITRE II LE MODULE « TURTULE » CHAPITRE III LES STRUCTURES DE CONTROLE CHAPITRE IV LES SOUS PROGRAMMES CHAPITRE V ALGORITHMES STANDARDS
  • 46. Se7en - Creative Powerpoint Template 46 I. Les algorithmes de recherche CHAPITRE V: ALGORITHMES STANDARDS 1. La recherche séquentielle La méthode de recherche séquentielle d’un élément dans un tableau consiste à parcourir le tableau élément par élément en les comparant avec l’élément à chercher jusqu’a trouver ce dernier ou achever le tableau. - Si on trouve l’élément recherché alors on sort par la valeur Vrai - Si on atteint la fin du tableau sans rien trouver, on sort avec la valeur Faux Exemple : Recherche de l’élément 5 dans le tableau t. Principe de la recherche séquentielle 8 3 12 9 5 10 6 8 3 12 9 5 10 6 8 3 12 9 5 10 6 8 3 12 9 5 10 6 8 3 12 9 5 10 6 On a trouvé 5 donc la recherche s’arrête.
  • 47. Se7en - Creative Powerpoint Template 47 I. Les algorithmes de recherche CHAPITRE IV: ALOGORITHMES STANDARDS 2. La recherche séquentielle Activité n°1 En se basant sur le principe de la recherche séquentielle, déterminer l’algorithme de la fonction rechSeq. Traduire la solution en un programme Python. Algorithme 0) Def Fn rechSeq( T :Tab; n, x :entier): Booléen 1) i ← 1 Tantque ( i ≤ n et T[ i ] != x ) faire i ← i + 1 FinTantque 2) Si ( i = n+1 ) alors rechSeq ← Faux Sinon rechSeq ← Vrai FinSi 3) Fn rechSeq
  • 48. Se7en - Creative Powerpoint Template 48 I. Les algorithmes de recherche CHAPITRE V: ALOGORITHMES STANDARDS 2. La recherche dichotomique Comparer l’élément x recherché avec celui du milieu du tableau: - Si x = T[ milieu ], on arrête le traitement. - Si x < T[ milieu ], il suffit de chercher x dans la 1ère moitiè du tableau. - Si x > T[ milieu ], il suffit de chercher x dans la 2ème moitiè du tableau. On continue le découpage jusqu’a un sous tableau de taille 1. Remarque : La recherche dichotomique s’applique uniquement sur un tableau trié. Exemple : Recherche de l’élément 15 dans le tableau trié T. Principe de la recherche dichotomique 3 5 6 8 9 12 15 19 23 51 Faux trouve inf sup milieu 3 5 6 8 9 12 15 19 23 51 Faux trouve inf sup milieu 3 5 6 8 9 12 15 19 23 51 Faux trouve inf sup milieu 3 5 6 8 9 12 15 19 23 51 Vrai trouve inf sup milieu T[milieu] < 15 T[milieu] > 15 T[milieu] < 15 T[milieu] = 15
  • 49. Se7en - Creative Powerpoint Template 49 I. Les algorithmes de recherche CHAPITRE IV: ALOGORITHMES STANDARDS 1. La recherche dichotomique Activité n°2 En se basant sur le principe de la recherche dichotomique, déterminer l’agorithme de la fonction rechDic. Traduire la solution en un programme Python. Algorithme 0) Def Fn rechDic( T :Tab; n, x :entier): Booléen 1) inf ← 1 sup ← n trouve ← Faux Tantque ( inf ≤ sup et trouve = Faux ) faire milieu ← (inf + sup) div 2 Si ( x < T[ milieu ] ) alors sup ← milieu - 1 Sinon Si ( x > T[ milieu ] ) alors inf ← milieu + 1 Sinon trouve ← Vrai FinSi FinTantque 2) rechDic ← trouve 3) Fin rechDic
  • 50. Se7en - Creative Powerpoint Template 50 II. Les algorithmes de tri CHAPITRE V: ALGORITHMES STANDARDS 1. Le tri par insertion Exemple : Principe du tri par insertion Ordonner les deux premiers éléments Insérer le 3ème élément de manière à ce que les 3 premiers éléments soient triés Insérer le 4ème élément à sa bonne place pour que les 4 premiers éléments soient triés …………… Répéter le traitement jusqu’à avoir la liste triée
  • 51. Se7en - Creative Powerpoint Template 51 II. Les algorithmes de tri CHAPITRE V: ALGORITHMES STANDARDS 1. Le tri par insertion Activité n°3 En se basant sur le principe du tri par insertion, déterminer l’agorithme de la procéduire triInsertion. Traduire la solution en un programme Python. Algorithme 0) Def Proc triInsertion(var T:Tab; n:entier) 1) Pour i de 2 à n faire : x ← T[ i ] j ← i Tantque ( j > 1 et T[ j-1] > x ) faire T[ j ] ← T[ j-1] j ← j-1 Fin Tantque T[ j ] ← x FinPour 2) Fin triInsertion
  • 52. Se7en - Creative Powerpoint Template 52 II. Les algorithmes de tri CHAPITRE V: ALGORITHMES STANDARDS 2. Le tri à bulles 1) Comparer le premier et le deuxième élément et les permuter s’ils sont désordonnés 2) Refaire l’action 1 jusqu’a l’avant dernier élément 3) refaire les actions 1 et 2 jusqu’a ce qu’on ne peut plus permuter. Principe du tri à bulles Exemple :
  • 53. Se7en - Creative Powerpoint Template 53 II. Les algorithmes de tri CHAPITRE V: ALGORITHMES STANDARDS 2. Le tri à bulles Activité n°4 En se basant sur le principe du tri à bulles, déterminer l’agorithme de la procédure triBulles. Traduire la solution en un programme Python. Algorithme 0) Def Proc triBulles(var T :Tab; n :entier) 1) permut ← True Tantque ( permut = True ) faire permut ← faux Pour i de 1 à n - 1 faire si T[ i ] > T[ i + 1 ] alors tmp ← T[ i ] T[ i ] ← T[ i+1 ] T[ i+1 ] ← tmp permut ← vrai Finsi FinPour Fin Tantque 2) Fin triBulles
  • 54. Se7en - Creative Powerpoint Template 54 II. Les algorithmes de tri CHAPITRE V: ALGORITHMES STANDARDS 3. Le tri par sélection Principe du tri par sélection Trouver le plus petit élément et le mettre au début de la liste Trouver le 2ème plus petit élément et le mettre en second position Trouver le 3ème plus petit élément et le mettre à la 3ème place ………….. Répéter le traitement jusqu’à avoir la liste triée
  • 55. Se7en - Creative Powerpoint Template 55 II. Les algorithmes de tri CHAPITRE V: ALGORITHMES STANDARDS 2. Le tri par sélection Activité n°4 En se basant sur le principe du tri par sélection, déterminer l’algorithme de la procédure triSelection. Traduire la solution en un programme Python. Algorithme 0) Def Proc triSelection(var T :Tab; n :entier) 1) Pour i de 1 à n-1 faire posmin ← I Pour j de i+1 à n faire si T[ j ] < T [posmin] alors posmin ← j Finsi FinPour Si (posmin ≠ i) alors temp ← T[ j ] T[ j ] ← T [posmin] T[posmin] ← temp FinSi Fin Pour 2) Fin triSelection
  • 56. Se7en - Creative Powerpoint Template 56 III. Les algorithmes récurrents CHAPITRE V: ALGORITHMES STANDARDS 1. Présentation Un algorithme récurrent est un algorithme utilisant un traitement répétitif pour produire un résultat calculé. Ce résultat peut dépendre des P résultats précédents : c’est un algorithme récurrent d’ordre P. - Si P = 1, on parle d’algorithme récurrent d’ordre 1 - Si P = 2, on parle d’algorithme récurrent d’ordre 2 Exemple : 1) Un+1 = -2Un - 4 , algorithme récurrent d’ordre 1. 2) Un+2= Un+1 + Un , algorithme récurrent d’ordre 2.
  • 57. Se7en - Creative Powerpoint Template 57 III. Les algorithmes récurrents CHAPITRE V: ALGORITHMES STANDARDS 2. Calcul de somme Activité n°5 Ecrire un algorithme d’une fonction qui permet de calculer la somme de n premiers entiers, ainsi que la traduction en Python. Algorithme 0) Début Fn somme(n :entier): entier 1) s ← 0 2) Pour i de 1 à n faire s ← s + i Fin Pour 3) somme ← s 4) Fin somme Remarque Pour une valeur donnée de compteur i, la valeur de la somme est égale à la valeur ancienne incrementée de la valeur de i ( s ← s + i ). C’est un algorithme récurrent d’ordre 1.
  • 58. Se7en - Creative Powerpoint Template 58 III. Les algorithmes récurrents CHAPITRE V: ALGORITHMES STANDARDS 2. Calcul de somme Activité n°6 Ecrire un algorithme d’une procédure Somme1 qui permet de calculer et d’afficher la somme de n entiers saisis par l’utilisateur. Algorithme 0) Début Proc somme1(n :entier) 1) s ← 0 2) Pour i de 1 à n faire lire(m) s ← s + m Fin Pour 3) Ecrire(”La somme est ”, s) 4) Fin somme1
  • 59. Se7en - Creative Powerpoint Template 59 III. Les algorithmes récurrents CHAPITRE V: ALGORITHMES STANDARDS 3. Recherche de munimum et de maximum Activité n°7 Ecrire un algorithme d’une procédure qui permet de rechercher la plus petite et la plus grande valeur dans un tableau contenant n entiers. Traduire cet algorithme en Python. Algorithme 0) Début Proc minMax(T :Tab; n :entier; var min, max :entier) 1) min ← T[1]; max ← T[1] 2) Pour i de 2 à n faire Si T[ i ] < min alors min ← T[ i ] Fin Si Si T[ i ] > max alors max ← T[ i ] Fin Si Fin Pour 3) Fin minMax Remarque En Python, on peut calculer le min et le max d’une liste par: - La fonction min(list) - La fonction max(list)
  • 60. Se7en - Creative Powerpoint Template 60 III. Les algorithmes récurrents CHAPITRE V: ALGORITHMES STANDARDS 4. Calcul sur les suites Activité n°8 1) Ecrire un algorithme d’une procédure qui permet de calculer et d’afficher les n premiers termes de la suite U définie par : U0=3 Un = 2Un-1 - 4 , avec n≥1 2) Traduire cet algorithme en Python. Algorithme 0) Début Proc termeSuite(n :entier) 1) U ← 3 2) Pour i de 1 à n faire U ← 2*U - 4 Ecrire(U) Fin Pour 3) Fin termeSuite Remarque Une valeur d’un terme donné dépend de la valeur du terme qui le précède. Il s’agit donc d’un algorithme récurrent d’ordre 1.
  • 61. Se7en - Creative Powerpoint Template 61 III. Les algorithmes récurrents CHAPITRE V: ALGORITHMES STANDARDS 4. Calcul sur les suites Activité n°9 1) Ecrire un algorithme d’une procédure qui permet de calculer et d’afficher la valeur de Un de la suite U définie par : U0=1 ; U1=1 Un = Un-1 + Un-2 , avec n≥2 2) Traduire cet algorithme en Python. Algorithme 0) Début Proc calculUn(n :entier) 1) V ← 1; U ← 1 2) Pour i de 2 à n faire tmp ← U + V V ← U U ← tmp Fin Pour 3) calculUn ← U 4) Fin calculUn Remarque Il s’agit d’un traitement itératif. La valeur d’un terme dépend de deux termes précèdents: C’est un algorithme récurrent d’ordre 2.
  • 62. Se7en - Creative Powerpoint Template 62 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 1. Le calcul de PGCD Définition Le plus grand commun diviseur de deux entiers a et b appelé aussi PGCD est le plus grand entier permettant de diviser a et b. On le note PGCD (a, b). Solution Si a = 36, b = 15. PGCD (36, 15) = PGCD (15, 6) = PGCD (6, 3) = PGCD (3, 0) = 3 Pour calculer le PGCD de deux entiers a et b, nous pouvons appliquer la méthode d’Euclide qui repose sur le principe suivant : - Si b ≠ 0, alors PGCD (a, b) = PGCD (b, r) où r est le reste de la division euclidienne de a par b (0≤r<b). - Si non, alors PGCD (a, 0) = a. Comment calculer le PGCD? Activité n°10 Calculer le PGCD(36, 15).
  • 63. Se7en - Creative Powerpoint Template 63 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 1. Le calcul de PGCD Activité n°11 En se basant sur la méthode d’Euclide, écrire un algorithme d’une fonction intitulée pgcd qui permet de calculer le PGCD de deux entiers. Traduire cet algorithme en Python. Algorithme 0) Début Fn pgcd(a, b :entier): entier 1) Tantque (b ≠ 0) faire r ← a mod b a ← b b ← r Fin Tantque 2) pgcd ← a 3) Fin pgcd
  • 64. Se7en - Creative Powerpoint Template 64 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 2. Le calcul de PPCM Définition Le plus petit commun multiple de deux entiers a et b appelé aussi PPCM est le plus petit entier multiple à la fois de a et de b. On le note PPCM (a,b). Solution Si a = 3, b = 64 alors max = 64, min=3. 64 mod 3 = 1 ≠ 0 alors max = 64+64+3-3 = 128 128 mod 3 = 2 ≠ 0 alors max = 128+64+3-3 = 192 192 mod 3 = 0 alors, on s’arrête. PPCM = max = 193 = 3 Pour calculer le PPCM de deux entiers a et b, nous pouvons appliquer l’algorithme suivant : 1) Déterminer le minimum (min) et le maximum (max) entre a et b. 2) Calculer le reste r de la division de max par min (r = max mod min). 3) Si r = 0, alors le max est le PPCM. 4) Si non, chercher le multiple successive de max (max = max+a+b-min), refaire l’algorithme à partir de l’étape 2) jusqu’à avoir un multiple de min (r = 0) Comment calculer le PPCM? Activité n°12 Calculer le PPCM(3, 64).
  • 65. Se7en - Creative Powerpoint Template 65 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 2. Le calcul de PPCM Activité n°13 En se basant sur la méthode du calcul de PPCM, écrire un algorithme d’une fonction intitulée ppcm qui permet de calculer le PPCM de deux entiers. Traduire cet algorithme en Python. Algorithme 0) Début Fn ppcm(a, b :entier): entier 1) Si (a > b) alors max ← a min ← b Sinon max ← b min ← a Fin Si 2) Tantque (max mod min ≠ 0) faire max ← max + a + b -min Fin Tantque 3) ppcm ← max 4) Fin ppcm
  • 66. Se7en - Creative Powerpoint Template 66 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 3. Les nombres premiers Définition Un entier supérieur à 1 est dit premier s’il n’est divisible que par 1 et par lui même. Activité n°14 Ecrire un algorithme et déduire la traduction en Python d’une fonction intitulée premier qui permet de vérifier si un entier n (n>1) est premier ou non. Algorithme 0) Début Fn premier(a :entier): booléen 1) i ← 2 2) Tantque (n mod i ≠ 0) et (i ≤ n div 2) faire i ← i + 1 Fin Tantque 3) Si (i > n div 2) alors premier ← Vrai Si non premier ← Faux Fin Si 4) Fin premier
  • 67. Se7en - Creative Powerpoint Template 67 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 4. Le calcul du factoriel Définition La factorielle d’un entier n donné est le produit de tous les entiers de l’intervalle[1,n]. Le factoriel de n est noté n ! (n ! = n × (n - 2) × (n - 1) × ... × 4 × 3 × 2 × 1). 10 ! = 10 × 9 × 8 × 7 × 6 × 5 × 4 × 3 × 2 × 1 10 ! = 3628800 Activité n°15 Ecrire un algorithme et déduire la traduction en Python d’une fonction intitulée factoriel qui permet de calculer la factorielle d’un entier n. Algorithme 0) Début Fn factoriel(n :entier): entier 1) f ← 1 2) Pour i de 1 à n faire f ← f × i Fin Pour 3) factoriel ← f 4) Fin factoriel Exemple :
  • 68. Se7en - Creative Powerpoint Template 68 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 5. La conversion entre les bases de numération Les bases de numération sont: - La base binaire (ou base 2) comprend 2 chiffres possibles {0 , 1}, elle est utilisée par les machines. - La base décimale (ou base 10) comprend 10 chiffres possibles {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, c’est la base couramment utilisée dans le calcul numérique traditionnel et la vie quotidienne. - La base octale (ou base 8) comprend 8 chiffres {0, 1, 2, 3, 4, 5, 6, 7}. - La base hexadécimale (ou base 16) comprend 16 symboles {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,A, B, C, D, E, F}. Présentation des bases de numération a. Présentation
  • 69. Se7en - Creative Powerpoint Template 69 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 5. La conversion entre les bases de numération Pour convertir un nombre décimal en binaire, on suit les étapes suivantes : 1) Diviser n par 2. 2) Garder le reste et remplacer n par (n div 2). 3) Répéter les étapes 1) et 2) jusqu’à avoir n = 0. Comment convertir du décimal en binaire ? b. La conversion de base 10 → base 2 Activité n°16 Convertir manuellement (38)10 en binaire. Solution On va dresser puis remplir le tableau suivant : On va écrire les restes en ordre inverse de leur apparition, on obtient 100110. En déduire que (38)10 = (100110)2 Quotient 38 19 9 4 2 1 0 reste 0 1 1 0 0 1
  • 70. Se7en - Creative Powerpoint Template 70 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 5. La conversion entre les bases de numération b. La conversion de base 10 → base 2 Activité n°17 Ecrire un algorithme et déduire la traduction en Python d’un programme qui permet de convertir un nombre entier positif n en binaire. Algorithme 0) Début conversion10_2 1) Saisir(n) 2) chercher10_2(n, R, c) 3) afficher(R, c) 4) Fin conversion10_2 ----------------------------------------------------------------------------- 0) Début Proc chercher10_2(n :entier; var R :Tab; var c :entier) 1) c ← 0 2) Tantque (n ≠ 0) faire c ← c + 1 R[c] ← n mod 2 n ← n div 2 Fin Tantque 3) Fin chercher ----------------------------------------------------------------------------- 0) Début Proc afficher ( R :Tab; c :integer) 1) Pour i de c à 1 (pas -1) faire Ecrire(R[ c ]) Fin Pour 2) Fin afficher
  • 71. Se7en - Creative Powerpoint Template 71 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 5. La conversion entre les bases de numération Pour convertir un nombre décimal en hexadécimal, on suit les étapes suivantes : 1) Diviser n par 16. 2) Ranger le reste et remplacer n par (n div 16). 3) Répéter les étapes 1) et 2) jusqu’à avoir n = 0. Comment convertir du décimal en hexadécimal ? c. La conversion de base 10 → base 16 Activité n°18 Convertir manuellement (142)10 en hexadécimal. Solution On va dresser puis remplir le tableau suivant : On va écrire les restes en ordre inverse de leur apparition, on obtient 8E. (car 14 devient E en base 16) En déduire que (142)10 = (8E)16 Quotient 142 8 1 reste 14 8
  • 72. Se7en - Creative Powerpoint Template 72 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 5. La conversion entre les bases de numération c. La conversion de base 10 → base 16 Activité n°19 Ecrire un algorithme et déduire la traduction en Python d’un programme qui permet de convertir un nombre entier positif n en hexadécimal. Algorithme 0) Début conversion10_16 1) Saisir (n) 2) chercher(n, R, c) 3) afficher(R, c) 4) Fin conversion10_16 ---------------------------------------------------------------------------------- - 0) Début Proc chercher(n :entier; var R :Tab; var c :entier) 1) c ← 0 2) Tantque (n ≠ 0) faire c ← c + 1 R[c] ← n mod 16 n ← n div 16 Fin Tantque 3) Fin chercher 0) Début Proc afficher ( R :Tab; c :integer) 1) Pour i de c à 1 (pas -1) faire Si (R[c] dans [0..9]) alors Ecrire(R[c]) Sinon Ecrire(CHR(ORD(”A”)+R[c]-10)) Fin Si Fin Pour 2) Fin afficher
  • 73. Se7en - Creative Powerpoint Template 73 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 5. La conversion entre les bases de numération Remarque En Python, on peut utiliser les fonctions suivantes pour convertir un nombre entier (en base 10) dans une autre base: - Fonction bin: permet de convertir un nombre entier en un nombre binaire. - Fonction hex: permet de convertir un nombre entier en un nombre hexadécimal. - Fonction oct: permet de convertir un nombre entier en un nombre octal. En Python, on peut utiliser la fonction int pour convertir les différentes bases vers la base décimal. Exemple : Fonction bin Fonction hex Fonction oct