Vous êtes sur la page 1sur 73

REPUBLIQUE TUNISIENNE

PYTHON
MINISTERE DE L’EDUCATION

Module d’appentissage du language python

Année scolaire: 2021-2022


Se7en - Creative Powerpoint Template 1
≡≡≡ 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 2


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 3


I. INTRODUCTION
2. Qui utilise Python?

FACEBOOK GOOGLE YAHOO

NASA PANDA 3D BATTLEFIELD

Se7en - Creative Powerpoint Template 4


I. INTRODUCTION
3. Un peu d’historique

1989 1994 2000 2008 2014 2018

Création du Python Publication de la Publication de la Publication de la Publication de la Publication de la


par version 1.0 version 2.0 version 3.0 version 3.4 version 3.7
Guido van Rossum

Se7en - Creative Powerpoint Template 5


I. INTRODUCTION
4. Pourquoi préférer Python aux autres langages?

PYTHON EST GRATUIT PYTHON EST INTERPRETE


Téléchargement et installation de python est gratuit et Test du quelque lignes du code sans besoin d’écrire un
facile programme complet
Le code source est accessible

PYTHON EST FACILE A APPRENDRE PYTHON EST PUISSANT


La Structure et la syntaxe sont assez intuitive et facile à Typage dynamique
saisir Gestion automatique de la mémoire(ramasse-miettes)
Indentation du code: Pas de begin et end explicites, ni POURQUOI PYTHON? Optionnellement multithreading est Orienté Objet
d’accolades pour les blocks d’instructions.
Python est riche en terme de bibliothèques(NumPy, SciPy …)
Très documenté

PYTHON EST PORTABLE PYTHON EST JOKER


Python est portable et multiplateforme Python est utilisé pour l’administration système(Scripting) ,les
applications bureau, le web, la robotique, jeux vidéo …

Se7en - Creative Powerpoint Template 6


I. INTRODUCTION
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 7


I. INTRODUCTION
6. IDLE: Editeur pour Python

IDLE (Intergreted DeveLopement Environement)


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

IDLE offre un certain nombre de fonctionnalités pour


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 8


≡≡≡ 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 9


CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
I. Les structures simples

Syntaxe (Python)
1. Opération d’entrée
Nom_variable = input (”texte”) # Le message s’affiche avant de saisir le contenu de la variable

Syntaxe (Python)
2. Opération de sortie
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
Nom_variable = Expression

Activité n°1
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.

Se7en - Creative Powerpoint Template 10


CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
II. Les variables

Syntaxe (Python)
1. Déclaration
Nom_variable = Valeur_variable

Activité n°1

Déclarer la variable age=17, puis faire appel à l’aide du nom age, Age et AGE.
Déterminer le type de la variable age.

Remarque

Python est sensible à la casse, ce qui signifie que les variables age, Age et AGE sont différentes.
La Fonction type(nom_variable) nous permet de déterminer le type d’une variable sur Python.

Se7en - Creative Powerpoint Template 11


CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
III. Les types de données

Une variable de type int est un nombre sans virgule.


1. Le type int
Exemple: n = 20

Une variable de type float est un nombre à virgule.


2. Le type float
Exemple: moyenne = 15.75 moyenne = 15,75

Les opérations arithmétiques et de comparaison sur les types numériques (int, float)
Opérateur Syntaxe Python Exemple Syntaxe Python Signification Exemple
Addition + 2 + 2 donne 4 < Strictement inférieur à 2 < 3 donne True
Soustraction - 2.4–6.0 donne –3.6 <= Inférieur ou égal à 2.75 <= 2 donne False
Multiplication * 3*2 donne 6 > Strictement supérieur à 3 > 2 donne True
Division / 5/2.5 donne 2.0 >= Supérieur ou égal à 2.5 >= 2 donne True
Puissance ** 3**3 donne 27 == Égal à 2.5 == 2.5 donne True
Division entière // 10.0//3.0 donne 3.0 != Différent de 2 != 2 donne False
Reste de la division entière % 5%2 donne 1

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 12


CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
III. Les types de données

3. Le type bool bool est un type de variable à deux états: True ou False
Exemple: p = True

Les opérateurs logiques


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

Activité n°3

Evaluer les expressions logiques suivantes:


not(2 < 1)
True and (5 != 6)
(2 < 1) or (7 == 7)

Se7en - Creative Powerpoint Template 13


CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
III. Les types de données

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


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’
ch[0] donne ‘B’
indice (positif) 0 1 2 3 4 5 6
ch[5] donne ‘u’
Ou bien
indice (négatif) -7 -6 -5 -4 -3 -2 -1 ch[-7] donne ‘B’
ch[-5] donne ‘n’

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’.

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 14


CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
III. Les types de données

Opérations sur les chaines de caractères


4. Le type str
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).
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’
Documentation Python: Fonctions sur les chaînes 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.

Se7en - Creative Powerpoint Template 15


CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
III. Les types de données

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: couleurs = [ ‘Rouge’ , ‘Bleu’ , ‘Vert’ ]
couleurs[0] donne ‘Rouge’
indice (positif) 0 1 2
couleurs[2] donne ‘Vert’
Ou bien
couleurs[-1] donne ‘Vert’
indice (négatif) -3 -2 -1
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 16


CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
III. Les types de données

Opérations sur les listes


5. Le type list
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é

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.

Se7en - Creative Powerpoint Template 17


CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
III. Les types de données

Liste des listes


5. Le type list
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

Activité n°9
Soit le tableau de 2 dimensions suivant:
5 7 3
8 10 15
22 4 0

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.

Se7en - Creative Powerpoint Template 18


CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
III. Les types de données

6. Le type tuple 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)

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
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 19


CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
III. Les types de données

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 20


CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
VI. Evaluation

Se7en - Creative Powerpoint Template 21


≡≡≡ 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 2


2
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 23


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 24


≡≡≡ 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 2


5
CHAPITRE III: LES STRUCTURES DE CONTROLE
I. Les structures de contrôle itératives

Une structure de contrôle itérative complète permet de répéter l’exécution d’une suite d’instructions un nombre
1. Structure iterative complète
fini de fois connu à l’avance.

Syntaxe (Python)

for e in séquence:
instruction 1

instruction n
# retour à la ligne sans indentation

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 26


CHAPITRE III: LES STRUCTURES DE CONTROLE
I. Les structures de contrôle itératives

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 27


CHAPITRE III: LES STRUCTURES DE CONTROLE
I. Les structures de contrôle itératives

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 28


CHAPITRE III: LES STRUCTURES DE CONTROLE
I. Les structures de contrôle itératives

Activité n°4
1. Structure itérative complète
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 29


CHAPITRE III: LES STRUCTURES DE CONTROLE
I. Les structures de contrôle itératives

Une structure de contrôle itérative à condition d’arrêt permet de répéter l’exécution d’une suite d’instructions
2. Structure itérative
jusqu’à rencontrer la condition d’arrêt.
à condition d’arrêt
Cette structure est utilisée dans le cas où le nombre de répétitions est inconnu à l’avance.

Syntaxe (Python)

while condition :
instruction 1

instruction n
# retour à la ligne sans indentation

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 30


CHAPITRE III: LES STRUCTURES DE CONTROLE
I. Les structures de contrôle itératives

2. Structure itérative Activité n°7


à condition d’arrêt 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 31


CHAPITRE III: LES STRUCTURES DE CONTROLE
II. Les structures de contrôle conditionnelles

Une structure de contrôle conditionnelle est dite généralisée lorsqu’elle permet de résoudre des problèmes
1. Forme généralisée
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.

Syntaxe (Python)

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

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 32


CHAPITRE III: LES STRUCTURES DE CONTROLE
II. Les structures de contrôle conditionnelles

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 33


CHAPITRE III: LES STRUCTURES DE CONTROLE
III. Evaluation

Se7en - Creative Powerpoint Template 34


≡≡≡ 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


5
CHAPITRE IV: LES SOUS PROGRAMMES
I. Les fonctions

1. Présentation et syntaxe Une fonction est un sous programme qui peut retourner plusieurs résultats.

Syntaxe (Python)

def nomFonction (paramètres) :


“”“ Documentation de la fonction “””
bloc d’instructions
return 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 36


CHAPITRE IV: LES SOUS PROGRAMMES
I. Les fonctions

1. Présentation et syntaxe 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.

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).

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

Se7en - Creative Powerpoint Template 37


CHAPITRE IV: LES SOUS PROGRAMMES
I. Les fonctions

1. Présentation et syntaxe 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 !

Se7en - Creative Powerpoint Template 38


CHAPITRE IV: LES SOUS PROGRAMMES
I. Les fonctions

2. Variables locales, variables Lorsqu’une fonction est appelée, Python réserve pour elle un espace de noms. Cet espace de noms local à la
globales 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
Type int (immuable) Type str (immuable) Type list (muable)

Se7en - Creative Powerpoint Template 39


CHAPITRE IV: LES SOUS PROGRAMMES
I. Les fonctions

3. Passage des arguments 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) .

Se7en - Creative Powerpoint Template 40


CHAPITRE IV: LES SOUS PROGRAMMES
I. Les fonctions

1. Présentation et syntaxe 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).

Se7en - Creative Powerpoint Template 41


CHAPITRE IV: LES SOUS PROGRAMMES
II. Projets

L’idée de ce projet est de créer une scène qui contient une maison, un arbre et un soleil.
1. Projet: Maison pour tortue
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

Se7en - Creative Powerpoint Template 42


CHAPITRE IV: LES SOUS PROGRAMMES
II. Projets

1. Projet: Maison pour tortue Maintenant en utilisant les fonctions précédentes dessiner la scène suivante:

Se7en - Creative Powerpoint Template 43


CHAPITRE IV: LES SOUS PROGRAMMES
III. Evaluation

Se7en - Creative Powerpoint Template 44


≡≡≡ 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 4


5
CHAPITRE V: ALGORITHMES STANDARDS
I. Les algorithmes de recherche

Principe de la recherche séquentielle


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.

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 46


CHAPITRE IV: ALOGORITHMES STANDARDS
I. Les algorithmes de recherche

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 47


CHAPITRE V: ALOGORITHMES STANDARDS
I. Les algorithmes de recherche

Principe de la recherche dichotomique


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.

T[milieu] < 15 3 5 6 8 9 12 15 19 23 51 Faux


inf milieu sup trouve

T[milieu] > 15 3 5 6 8 9 12 15 19 23 51 Faux


inf milieu sup trouve

T[milieu] < 15 3 5 6 8 9 12 15 19 23 51 Faux


inf milieu sup trouve

T[milieu] = 15 3 5 6 8 9 12 15 19 23 51 Vrai
inf milieu sup trouve

Se7en - Creative Powerpoint Template 48


CHAPITRE IV: ALOGORITHMES STANDARDS
I. Les algorithmes de recherche

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 49


CHAPITRE V: ALGORITHMES STANDARDS
II. Les algorithmes de tri

Principe du tri par insertion


1. Le tri par insertion
Exemple :

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 50


CHAPITRE V: ALGORITHMES STANDARDS
II. Les algorithmes de tri

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 51


CHAPITRE V: ALGORITHMES STANDARDS
II. Les algorithmes de tri

Principe du tri à bulles


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.

Exemple :

Se7en - Creative Powerpoint Template 52


CHAPITRE V: ALGORITHMES STANDARDS
II. Les algorithmes de tri

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 53


CHAPITRE V: ALGORITHMES STANDARDS
II. Les algorithmes de tri

Principe du tri par sélection


3. Le 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 54


CHAPITRE V: ALGORITHMES STANDARDS
II. Les algorithmes de tri

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 55


CHAPITRE V: ALGORITHMES STANDARDS
III. Les algorithmes récurrents

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 56


CHAPITRE V: ALGORITHMES STANDARDS
III. Les algorithmes récurrents

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 57


CHAPITRE V: ALGORITHMES STANDARDS
III. Les algorithmes récurrents

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 58


CHAPITRE V: ALGORITHMES STANDARDS
III. Les algorithmes récurrents

3. Recherche de munimum Activité n°7


et de maximum 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 59


CHAPITRE V: ALGORITHMES STANDARDS
III. Les algorithmes récurrents

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 60


CHAPITRE V: ALGORITHMES STANDARDS
III. Les algorithmes récurrents

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 61


CHAPITRE V: ALGORITHMES STANDARDS
VI. Les algorithmes arithmétiques

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).

Comment calculer le PGCD?


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.

Activité n°10
Calculer le PGCD(36, 15).

Solution
Si a = 36, b = 15.
PGCD (36, 15) = PGCD (15, 6)
= PGCD (6, 3)
= PGCD (3, 0)
=3

Se7en - Creative Powerpoint Template 62


CHAPITRE V: ALGORITHMES STANDARDS
VI. Les algorithmes arithmétiques

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 63


CHAPITRE V: ALGORITHMES STANDARDS
VI. Les algorithmes arithmétiques

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).

Comment calculer le PPCM?


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)

Activité n°12
Calculer le PPCM(3, 64).

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

Se7en - Creative Powerpoint Template 64


CHAPITRE V: ALGORITHMES STANDARDS
VI. Les algorithmes arithmétiques

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 65


CHAPITRE V: ALGORITHMES STANDARDS
VI. Les algorithmes arithmétiques

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 66


CHAPITRE V: ALGORITHMES STANDARDS
VI. Les algorithmes arithmétiques

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).
Exemple :
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

Se7en - Creative Powerpoint Template 67


CHAPITRE V: ALGORITHMES STANDARDS
VI. Les algorithmes arithmétiques

5. La conversion entre les bases Présentation des bases de numération


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
a. Présentation 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}.

Se7en - Creative Powerpoint Template 68


CHAPITRE V: ALGORITHMES STANDARDS
VI. Les algorithmes arithmétiques

5. La conversion entre les bases Comment convertir du décimal en binaire ?


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).
b. La conversion de 3) Répéter les étapes 1) et 2) jusqu’à avoir n = 0.
base 10 → base 2
Activité n°16
Convertir manuellement (38)10 en binaire.

Solution
On va dresser puis remplir le tableau suivant :

Quotient 38 19 9 4 2 1 0
reste 0 1 1 0 0 1

On va écrire les restes en ordre inverse de leur apparition, on obtient 100110.


En déduire que (38)10 = (100110)2

Se7en - Creative Powerpoint Template 69


CHAPITRE V: ALGORITHMES STANDARDS
VI. Les algorithmes arithmétiques

5. La conversion entre les bases Activité n°17


de numération Ecrire un algorithme et déduire la traduction en Python d’un programme qui permet de convertir un nombre entier positif
n en binaire.
b. La conversion de Algorithme
base 10 → base 2 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 70
CHAPITRE V: ALGORITHMES STANDARDS
VI. Les algorithmes arithmétiques

5. La conversion entre les bases Comment convertir du décimal en hexadécimal ?


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).
c. La conversion de 3) Répéter les étapes 1) et 2) jusqu’à avoir n = 0.
base 10 → base 16
Activité n°18
Convertir manuellement (142)10 en hexadécimal.

Solution
On va dresser puis remplir le tableau suivant :

Quotient 142 8 1
reste 14 8

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

Se7en - Creative Powerpoint Template 71


CHAPITRE V: ALGORITHMES STANDARDS
VI. Les algorithmes arithmétiques

5. La conversion entre les bases Activité n°19


de numération 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.
c. La conversion de Algorithme
base 10 → base 16
0) Début conversion10_16 0) Début Proc afficher ( R :Tab; c :integer)
1) Saisir (n) 1) Pour i de c à 1 (pas -1) faire
2) chercher(n, R, c) Si (R[c] dans [0..9]) alors
3) afficher(R, c) Ecrire(R[c])
4) Fin conversion10_16 Sinon
----------------------------------------------------------------------------------- Ecrire(CHR(ORD(”A”)+R[c]-10))
0) Début Proc chercher(n :entier; var R :Tab; var c :entier) Fin Si
1) c ← 0 Fin Pour
2) Tantque (n ≠ 0) faire 2) Fin afficher
c←c+1
R[c] ← n mod 16
n ← n div 16
Fin Tantque
3) Fin chercher

Se7en - Creative Powerpoint Template 72


CHAPITRE V: ALGORITHMES STANDARDS
VI. Les algorithmes arithmétiques

Remarque
5. La conversion entre les bases
de numération 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

Se7en - Creative Powerpoint Template 73

Vous aimerez peut-être aussi