SlideShare une entreprise Scribd logo
1  sur  51
Etapes de résolution de problèmes
Dégager les tâches à réaliser
Déterminer les entrées , les
sorties et les traitements à
réaliser.
Elaborer une solution sous
forme d’un algorithme.
Traduire la solution dans
un langage de
programmation .( Python)
Activité 1 :
Ahmed , Anis et Zaineb ont participé à une compétition
de ramassage de bouteilles d’eau vides.
Ahmed a ramassé 18 bouteilles dans son sac.
Anis a ramassé 15 bouteilles dans son sac.
Zaineb a ramassé 17 bouteilles dans son sac.
Après la fin de la compétition , chaque participant verse
son sac dans un seul sac résultat.
On désire écrire un programme qui décrit les tâches
réalisées et affiche le contenu du sac résultat.
Questions
1) Quels sont les objets utilisés ?
2) Quels sont les traitements à faire ?
3) Quel est le résultat à afficher ?
4) Ecrire un algorithme pour ce problème.
5) Traduire l’algorithme en python.
Algorithme
Définition
Un algorithme est une
suite ordonnée des
actions (instructions)
d’un programme.
Algorithme
Début
Sac1  18 //Affecter la valeur 18 à l’objet Sac1
Sac2  15
Sac3  17
Sacresultat  Sac1 + Sac2 + Sac3
Ecrire (Sacresultat) // Afficher le contenu de l’objet Sacresultat
Fin
Traduction en python
Sac1 = 18
Sac2 = 15
Sac3 = 17
Sacresultat = Sac1 + Sac2 + Sac3
Print(Sacresultat)
Activité2
Modifier le programme afin qu’il
affiche le total du sac résultat à
partir des trois sacs dont le
contenu de chacun est une
donnée à l’exécution.
Algorithme
Début
Lire(Sac1 , "Donner le contenu du sac1") //Opération d’entrée
Lire(Sac1 , "Donner le contenu du sac1")
Lire(Sac1 , "Donner le contenu du sac1")
Sacresultat  Sac1 + Sac2 + Sac3 //Affectation
Ecrire (Sacresultat) //Opération de sortie
Fin
IILes structures de données
1) Les constantes
Activité 1:
Remarque :
Pour qu’on pourrait utiliser la constante pi dans
un programme python on doit faire appel à une
bibliothèque appelée Math de la manière
suivante :
from math import pi
Ou bien
from math import * //importer toutes les fonctions
mathématiques de la bibliothèque math
Les structures de données
Activité 2 :
Ecrire un algorithme ,dresser le tableau
de déclaration des objets utilisés puis
la traduction en Python d’un
programme qui permet de calculer
puis afficher le périmètre d’un cercle
de rayon donné.
2) Les variables
Définition :
Une variable est un objet auquel une
valeur peut être affectée et qui peut subir
des modifications au cours du traitement
Activité
Lancer Thonny et saisir les actions
suivantes :
2A = 5
A?1 = 2
A B = 1
A2 = 5
print(a2)
Que remarquez-vous ?
Constatations
L’identificateur d’une variable :
doit commencer par une lettre .
Ne doit pas contenir des symboles et
des espaces.
Python est sensible à la casse, ce qui
signifie les variables A et a sont
différentes .
3) Les types de données
En Python, les types de données sont classés généralement en
trois catégories : les valeurs numériques, les valeurs
alphanumériques et les nombres complexes.
Les types de données les plus utilisés sont :
Les entiers (Exemple 100)
Les réels (Exemple 5.99) (on utilise un point décimal et non
une virgule)
Le type booléen (Vrai /faux)
Les chaines de caractères : mot / Phrase (Exemple 'Bonjour')
Le type liste (les Tableaux dynamiques)
a) Le type entier (int)
Une variable de type entier est un nombre
sans virgule flottante .
Les opérateurs arithmétiques sur les entiers :
+ , - , * , / , ** (puissance) , div ( division
entière, // en python) , mod (reste de
division entière, % en python)
Application
Soit l’algorithme suivant :
Début
X 25
Y 4
Z 10
A  Z ** Y
B  X div Y
C  X mod Y
D X + Z mod Y
E Z * Y mod X + 10 mod Z
Fin
Quel est le contenu des variables A , B , C , D et E.
Constatations
L'ordre de priorité est :
1. les parenthèses ()
2. la multiplication *, la division /, la
division entière // et le reste de la
division entière %
3. L'addition + et la soustraction –
N.B. Si les opérateurs ont même
priorité, on commence de gauche vers
la droite .
2) Le type réel (float)
Activité :
Ecrire un programme python qui permet de saisir deux réels
X et Y puis afficher toutes les opérations arithmétiques
possibles.
Exemple :
Pour X = 20.5 et Y = 3.2 le programme affiche :
20.5 + 3.2 = 23.7
20.5 – 3.2 = 17.3
20.5 * 3.2 =65.6000
20.5 / 3.2 =6.40
20.5 // 3.2 =6.0
20.5 % 3.2 =1.29
Les fonctions arithmétiques
Pour utiliser les fonctions
mathématiques, il faut commencer par
importer le module math de la manière
suivante :
from math import *
(* pour utiliser toutes les fonctions
usuelles de math)
Les fonctions arithmétiques
Les fonctions arithmétiques
Application :
Soit le programme suivant :
A = 4.25
B= 7.5
X = trunc(A) +round(B)
Y = fabs ( ceil(A) - trunc(B) )
Z = 1 + pow(sqrt(floor(A)) , 3 )
Question
Déterminer le type et le contenu des variables X , Y et Z.
Formatage des nombre réels
Activité :
Afficher la valeur de pi à deux chiffres
après la virgule.
print ('%.2f ' %pi)
Les nombres aléatoires
Pour générer un nombre aléatoire avec python, on
doit importer d’abord la bibliothèque random
Pour générer un nombre aléatoire de type entier,
on doit appeler la fonction randint
from random import randint
randint(BINF,BSUP)
(BINF, BSUP) représente l'intervalle au quelle
générée le nombre aléatoire de type entier
Il est possible de générer un nombre
aléatoire de type réel, on doit d'abord
appeler la fonction uniform de la
bibliothèque random
from random import uniform
uniform(BINF,BSUP)
(BINF, BSUP) représente l'intervalle au
quelle générée le nombre aléatoire de
type réel
Activité
Ecrire un programme qui permet de
générer un entier aléatoire entre 10
et 100 puis générer un réel aléatoire
entre 0 et 1 et afficher les nombres
générés.
Les opérateurs de comparaison sur
les entier et les réels
3) Le type booléen (bool)
Une variable de type booléen peut
prendre soit la valeur vrai(True) ou
la valeur faux (False)
Les opérateurs logiques sur les
booléens
Application
Soit l’algorithme suivant :
Début
X 5.7
Y 2
A  Non(X = Y )
B  (X < Y) ET ( abs(Y-X) > = 3 )
C  NON(Tronc(X) =5) OU (ent(X)>= 6) ET (racine_carre(puissance(y,2)) = 2)
Fin
Quel est le contenu des variables A , B et C ?
Constatations
L'ordre de priorité est :
1. la négation (Non )
2. L’opérateur ET
3. L’opérateur OU
4) Le type chaine de caractère (str)
Définition :
Une variable de type chaine est un objet qui peut prendre
une suite de caractères.
En python une chaîne de caractères est définit entre deux
apostrophes ou deux guillemets.
Un caractère peut être une lettre majuscule ou lettre
minuscule , chiffre ou symbole.
Chaque caractère est caractérisé par un code appelé Code
ASCII.
Exemple : Le code ASCII de 'A 'est 65.
Le code ASCII de 'a' est 97.
Le code ASCII de '0' est 48.
Accès aux éléments d'une chaîne :
Activité
Soit le programme suivant :
Ch1 = "Informatique"
Ch2 = " 2 ème année " +" "+ Ch1[7] + Ch1[8]
Ch3 = Ch1[0:4]
Ch4 = "Auto" + Ch1[5:12]
Questions
Quel est le contenu des variables Ch2 , Ch3 et Ch4 ?
A partir des variables Ch1 et ch4 ,affecter à une variable Ch5 la chaine
Informatique = Information automatique
# + est un opérateur de concaténati
#extraire une sous chaine de la position 0 à 3
Les fonctions prédéfinies sur les
chaines de caractères.
ch = Str( X) Permet de convertir un
nombre X en une chaine ch
X = 2
Ch = Str(X ) # ch = "2"
X = int(ch) Permet de convertir une
chaine ch en un entier X
Ch = "1234"
X = int (Ch) # X = 1234
X = float(ch) Permet de convertir une
chaine ch en un réel X
Ch = "1.2"
X = float(Ch) # X = 1.2
Application 1
Soit la chaine suivante :
Ch = "Salut mes chères collègues"
Questions
Donner les actions qui permet de :
1 ) Afficher la longueur de la chaine Ch.
2)Remplacer le mot collègues par amis.
3) Supprimer le mot "chères".
4) Convertir la chaine Ch en majuscule.
5 ) Afficher Ch.
Application 2
Soient les instructions suivantes :
Ch = "Année scolaire"
X = 2021
Y = 2022
Questions
Donner l’instruction à faire pour affecter à une chaine
Ch2, à partir de Ch , X et Y , la chaine suivante :
Année scolaire 2021/2022
Application 3
Ecrire un programme qui permet de saisir le nom et prénom d’un élève
,ses deux notes de contrôle de la matière informatique et sa note de
synthèse puis afficher un message comme le montre l’exemple suivant :
Exemple :
Si Nom et prénom = Mahmoudi Ahmed
Note de contrôle 1 = 12.25
Note de contrôle 2 = 17.75
Note de synthèse = 14.5
Le programme affiche :
Bonjour AHMED !
Votre nom et prénom est composé par 14 caractères.
La lettre "A" existe dans votre prénom = True
Votre moyenne est 14.75 .
Activité
s ='Salut'
s[2] = 'f'
ch='bonbon'
ch.replace('bon', 'jour')
print('ch = ', ch)
Activité
s ='Salut‘
s[2] = 'f' # Erreur, on ne peut modifier la chaîne s
ch='bonbon'
ch.replace('bon', 'jour') # 'jourjour'
print('ch = ', ch) # ch = 'bonbon‘ , ch est non modifiable
Constatation
En python , le type chaine de caractères est immutable
(non mutable , non modifiable)
On doit toujours retourner le résultat d’une modification
dans un nouveau objet.
5) Le type tableau (list)
Définition :
une liste est une structure de
données qui contient plusieurs
éléments de même type ou de
types différents.
Exemples de tableaux:
t1 = [5,6,3,2]
t2 = [10, 5.2, 'Salut mes amis ', 8]
Accès aux éléments d'une liste :
On peut accéder aux éléments d’une liste à l’aide de leur
indice associé
Application
Soit le programme suivant :
T1 = [1,5,-4,0]
T2 = ['Bonjour' , 4.5 , 'née']
X = T1 + T2
Y = X[1:5]
Z = T2[0][3:7] + T2[2]
Question
Quel est le type et le contenu des variables X,Y et Z ?

Contenu connexe

Tendances

Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en pythonMariem ZAOUALI
 
Curriculum informatique 2ème année Septembre 2019
Curriculum informatique 2ème année Septembre 2019Curriculum informatique 2ème année Septembre 2019
Curriculum informatique 2ème année Septembre 2019Amine Ellouze
 
Les algorithmes recurrents
Les algorithmes recurrentsLes algorithmes recurrents
Les algorithmes recurrentsmohamed_SAYARI
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombressalah fenni
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniShellmates
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesInes Ouaz
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018salah fenni
 
Cours complet Base de donne Bac
Cours complet Base de donne Bac Cours complet Base de donne Bac
Cours complet Base de donne Bac Amri Ossama
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfFadouaBouafifSamoud
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en PythonABDESSELAM ARROU
 
cours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéecours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéeMissaoui Abdelbaki
 

Tendances (20)

Les enregistrements
Les enregistrements Les enregistrements
Les enregistrements
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en python
 
Chapitre 01 - Notions de base
Chapitre 01 - Notions de baseChapitre 01 - Notions de base
Chapitre 01 - Notions de base
 
Curriculum informatique 2ème année Septembre 2019
Curriculum informatique 2ème année Septembre 2019Curriculum informatique 2ème année Septembre 2019
Curriculum informatique 2ème année Septembre 2019
 
Les algorithmes recurrents
Les algorithmes recurrentsLes algorithmes recurrents
Les algorithmes recurrents
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombres
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de données
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
 
Cours complet Base de donne Bac
Cours complet Base de donne Bac Cours complet Base de donne Bac
Cours complet Base de donne Bac
 
Serie
SerieSerie
Serie
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
cours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéecours algorithme et structure de données 1er année
cours algorithme et structure de données 1er année
 

Similaire à Les structures de données.pptx

algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycéeKayl Mido
 
cours d'algorithmique et programmation 3sc final .pdf
cours d'algorithmique et programmation 3sc final .pdfcours d'algorithmique et programmation 3sc final .pdf
cours d'algorithmique et programmation 3sc final .pdfLamissGhoul1
 
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
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 
eExercices corrigesdivers
eExercices corrigesdiverseExercices corrigesdivers
eExercices corrigesdiversHajar Yazine
 
Exercicescorrigesdivers
ExercicescorrigesdiversExercicescorrigesdivers
ExercicescorrigesdiversKarim Amane
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigramenabildekess
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigramenabildekess
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigramenabildekess
 
cours python Chapitre 3- Les types de base.pptx
cours python Chapitre 3- Les types de base.pptxcours python Chapitre 3- Les types de base.pptx
cours python Chapitre 3- Les types de base.pptxAhmathBambaMBACKE
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiquefast xp
 
Exemples for1
Exemples for1Exemples for1
Exemples for1salmazen
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfHailisara
 
Algorithmique de base.pdf
Algorithmique de base.pdfAlgorithmique de base.pdf
Algorithmique de base.pdfWafaa Ibrihich
 

Similaire à Les structures de données.pptx (20)

algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycée
 
cours d'algorithmique et programmation 3sc final .pdf
cours d'algorithmique et programmation 3sc final .pdfcours d'algorithmique et programmation 3sc final .pdf
cours d'algorithmique et programmation 3sc final .pdf
 
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)
 
La série 3 en pascal
La série 3 en pascalLa série 3 en pascal
La série 3 en pascal
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
eExercices corrigesdivers
eExercices corrigesdiverseExercices corrigesdivers
eExercices corrigesdivers
 
Exercicescorrigesdivers
ExercicescorrigesdiversExercicescorrigesdivers
Exercicescorrigesdivers
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigrame
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigrame
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigrame
 
cours python Chapitre 3- Les types de base.pptx
cours python Chapitre 3- Les types de base.pptxcours python Chapitre 3- Les types de base.pptx
cours python Chapitre 3- Les types de base.pptx
 
Theme 6
Theme 6Theme 6
Theme 6
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
 
Exemples for1
Exemples for1Exemples for1
Exemples for1
 
langage C++
langage C++langage C++
langage C++
 
algorithmique
algorithmiquealgorithmique
algorithmique
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdf
 
Algorithmique de base.pdf
Algorithmique de base.pdfAlgorithmique de base.pdf
Algorithmique de base.pdf
 

Plus de PROFPROF11

Explication ajouter dans un fichier.pptx
Explication ajouter dans un fichier.pptxExplication ajouter dans un fichier.pptx
Explication ajouter dans un fichier.pptxPROFPROF11
 
La récursivité.pptx
La récursivité.pptxLa récursivité.pptx
La récursivité.pptxPROFPROF11
 
prc3a9sentation-de-scratch (1).ppt
prc3a9sentation-de-scratch (1).pptprc3a9sentation-de-scratch (1).ppt
prc3a9sentation-de-scratch (1).pptPROFPROF11
 
TP N°1 sketchup.ppt
TP N°1 sketchup.pptTP N°1 sketchup.ppt
TP N°1 sketchup.pptPROFPROF11
 
Serie_fichiers.ppsx
Serie_fichiers.ppsxSerie_fichiers.ppsx
Serie_fichiers.ppsxPROFPROF11
 
exercice corrigé 2TI1.pptx
exercice corrigé 2TI1.pptxexercice corrigé 2TI1.pptx
exercice corrigé 2TI1.pptxPROFPROF11
 
Prototype Théorique EG 2022.pptx
Prototype Théorique EG 2022.pptxPrototype Théorique EG 2022.pptx
Prototype Théorique EG 2022.pptxPROFPROF11
 
Cours JavaScript 2.ppt
Cours JavaScript 2.pptCours JavaScript 2.ppt
Cours JavaScript 2.pptPROFPROF11
 
Tableau a deux dimensions (1).pptx
Tableau a deux dimensions (1).pptxTableau a deux dimensions (1).pptx
Tableau a deux dimensions (1).pptxPROFPROF11
 
Cours JavaScript.ppt
Cours JavaScript.pptCours JavaScript.ppt
Cours JavaScript.pptPROFPROF11
 
les systèmes d'exploitation.ppt
les systèmes d'exploitation.pptles systèmes d'exploitation.ppt
les systèmes d'exploitation.pptPROFPROF11
 
les interfaces graphiques.pptx
les interfaces graphiques.pptxles interfaces graphiques.pptx
les interfaces graphiques.pptxPROFPROF11
 

Plus de PROFPROF11 (14)

Explication ajouter dans un fichier.pptx
Explication ajouter dans un fichier.pptxExplication ajouter dans un fichier.pptx
Explication ajouter dans un fichier.pptx
 
La récursivité.pptx
La récursivité.pptxLa récursivité.pptx
La récursivité.pptx
 
prc3a9sentation-de-scratch (1).ppt
prc3a9sentation-de-scratch (1).pptprc3a9sentation-de-scratch (1).ppt
prc3a9sentation-de-scratch (1).ppt
 
IoT.pptx
IoT.pptxIoT.pptx
IoT.pptx
 
TP N°1 sketchup.ppt
TP N°1 sketchup.pptTP N°1 sketchup.ppt
TP N°1 sketchup.ppt
 
Serie_fichiers.ppsx
Serie_fichiers.ppsxSerie_fichiers.ppsx
Serie_fichiers.ppsx
 
exercice corrigé 2TI1.pptx
exercice corrigé 2TI1.pptxexercice corrigé 2TI1.pptx
exercice corrigé 2TI1.pptx
 
Prototype Théorique EG 2022.pptx
Prototype Théorique EG 2022.pptxPrototype Théorique EG 2022.pptx
Prototype Théorique EG 2022.pptx
 
Cours JavaScript 2.ppt
Cours JavaScript 2.pptCours JavaScript 2.ppt
Cours JavaScript 2.ppt
 
Tableau a deux dimensions (1).pptx
Tableau a deux dimensions (1).pptxTableau a deux dimensions (1).pptx
Tableau a deux dimensions (1).pptx
 
seance 2.ppt
seance 2.pptseance 2.ppt
seance 2.ppt
 
Cours JavaScript.ppt
Cours JavaScript.pptCours JavaScript.ppt
Cours JavaScript.ppt
 
les systèmes d'exploitation.ppt
les systèmes d'exploitation.pptles systèmes d'exploitation.ppt
les systèmes d'exploitation.ppt
 
les interfaces graphiques.pptx
les interfaces graphiques.pptxles interfaces graphiques.pptx
les interfaces graphiques.pptx
 

Les structures de données.pptx

  • 1.
  • 2. Etapes de résolution de problèmes Dégager les tâches à réaliser Déterminer les entrées , les sorties et les traitements à réaliser. Elaborer une solution sous forme d’un algorithme. Traduire la solution dans un langage de programmation .( Python)
  • 3. Activité 1 : Ahmed , Anis et Zaineb ont participé à une compétition de ramassage de bouteilles d’eau vides. Ahmed a ramassé 18 bouteilles dans son sac. Anis a ramassé 15 bouteilles dans son sac. Zaineb a ramassé 17 bouteilles dans son sac. Après la fin de la compétition , chaque participant verse son sac dans un seul sac résultat. On désire écrire un programme qui décrit les tâches réalisées et affiche le contenu du sac résultat.
  • 4. Questions 1) Quels sont les objets utilisés ? 2) Quels sont les traitements à faire ? 3) Quel est le résultat à afficher ? 4) Ecrire un algorithme pour ce problème. 5) Traduire l’algorithme en python.
  • 5. Algorithme Définition Un algorithme est une suite ordonnée des actions (instructions) d’un programme.
  • 6. Algorithme Début Sac1  18 //Affecter la valeur 18 à l’objet Sac1 Sac2  15 Sac3  17 Sacresultat  Sac1 + Sac2 + Sac3 Ecrire (Sacresultat) // Afficher le contenu de l’objet Sacresultat Fin
  • 7. Traduction en python Sac1 = 18 Sac2 = 15 Sac3 = 17 Sacresultat = Sac1 + Sac2 + Sac3 Print(Sacresultat)
  • 8. Activité2 Modifier le programme afin qu’il affiche le total du sac résultat à partir des trois sacs dont le contenu de chacun est une donnée à l’exécution.
  • 9. Algorithme Début Lire(Sac1 , "Donner le contenu du sac1") //Opération d’entrée Lire(Sac1 , "Donner le contenu du sac1") Lire(Sac1 , "Donner le contenu du sac1") Sacresultat  Sac1 + Sac2 + Sac3 //Affectation Ecrire (Sacresultat) //Opération de sortie Fin
  • 10. IILes structures de données 1) Les constantes Activité 1: Remarque : Pour qu’on pourrait utiliser la constante pi dans un programme python on doit faire appel à une bibliothèque appelée Math de la manière suivante : from math import pi Ou bien from math import * //importer toutes les fonctions mathématiques de la bibliothèque math
  • 11. Les structures de données Activité 2 : Ecrire un algorithme ,dresser le tableau de déclaration des objets utilisés puis la traduction en Python d’un programme qui permet de calculer puis afficher le périmètre d’un cercle de rayon donné.
  • 12. 2) Les variables Définition : Une variable est un objet auquel une valeur peut être affectée et qui peut subir des modifications au cours du traitement
  • 13. Activité Lancer Thonny et saisir les actions suivantes : 2A = 5 A?1 = 2 A B = 1 A2 = 5 print(a2) Que remarquez-vous ?
  • 14. Constatations L’identificateur d’une variable : doit commencer par une lettre . Ne doit pas contenir des symboles et des espaces. Python est sensible à la casse, ce qui signifie les variables A et a sont différentes .
  • 15. 3) Les types de données En Python, les types de données sont classés généralement en trois catégories : les valeurs numériques, les valeurs alphanumériques et les nombres complexes. Les types de données les plus utilisés sont : Les entiers (Exemple 100) Les réels (Exemple 5.99) (on utilise un point décimal et non une virgule) Le type booléen (Vrai /faux) Les chaines de caractères : mot / Phrase (Exemple 'Bonjour') Le type liste (les Tableaux dynamiques)
  • 16. a) Le type entier (int) Une variable de type entier est un nombre sans virgule flottante . Les opérateurs arithmétiques sur les entiers : + , - , * , / , ** (puissance) , div ( division entière, // en python) , mod (reste de division entière, % en python)
  • 17. Application Soit l’algorithme suivant : Début X 25 Y 4 Z 10 A  Z ** Y B  X div Y C  X mod Y D X + Z mod Y E Z * Y mod X + 10 mod Z Fin Quel est le contenu des variables A , B , C , D et E.
  • 18. Constatations L'ordre de priorité est : 1. les parenthèses () 2. la multiplication *, la division /, la division entière // et le reste de la division entière % 3. L'addition + et la soustraction – N.B. Si les opérateurs ont même priorité, on commence de gauche vers la droite .
  • 19. 2) Le type réel (float) Activité : Ecrire un programme python qui permet de saisir deux réels X et Y puis afficher toutes les opérations arithmétiques possibles. Exemple : Pour X = 20.5 et Y = 3.2 le programme affiche : 20.5 + 3.2 = 23.7 20.5 – 3.2 = 17.3 20.5 * 3.2 =65.6000 20.5 / 3.2 =6.40 20.5 // 3.2 =6.0 20.5 % 3.2 =1.29
  • 20. Les fonctions arithmétiques Pour utiliser les fonctions mathématiques, il faut commencer par importer le module math de la manière suivante : from math import * (* pour utiliser toutes les fonctions usuelles de math)
  • 23. Application : Soit le programme suivant : A = 4.25 B= 7.5 X = trunc(A) +round(B) Y = fabs ( ceil(A) - trunc(B) ) Z = 1 + pow(sqrt(floor(A)) , 3 ) Question Déterminer le type et le contenu des variables X , Y et Z.
  • 24. Formatage des nombre réels Activité : Afficher la valeur de pi à deux chiffres après la virgule. print ('%.2f ' %pi)
  • 25. Les nombres aléatoires Pour générer un nombre aléatoire avec python, on doit importer d’abord la bibliothèque random Pour générer un nombre aléatoire de type entier, on doit appeler la fonction randint from random import randint randint(BINF,BSUP) (BINF, BSUP) représente l'intervalle au quelle générée le nombre aléatoire de type entier
  • 26. Il est possible de générer un nombre aléatoire de type réel, on doit d'abord appeler la fonction uniform de la bibliothèque random from random import uniform uniform(BINF,BSUP) (BINF, BSUP) représente l'intervalle au quelle générée le nombre aléatoire de type réel
  • 27. Activité Ecrire un programme qui permet de générer un entier aléatoire entre 10 et 100 puis générer un réel aléatoire entre 0 et 1 et afficher les nombres générés.
  • 28. Les opérateurs de comparaison sur les entier et les réels
  • 29. 3) Le type booléen (bool) Une variable de type booléen peut prendre soit la valeur vrai(True) ou la valeur faux (False)
  • 30. Les opérateurs logiques sur les booléens
  • 31. Application Soit l’algorithme suivant : Début X 5.7 Y 2 A  Non(X = Y ) B  (X < Y) ET ( abs(Y-X) > = 3 ) C  NON(Tronc(X) =5) OU (ent(X)>= 6) ET (racine_carre(puissance(y,2)) = 2) Fin Quel est le contenu des variables A , B et C ?
  • 32. Constatations L'ordre de priorité est : 1. la négation (Non ) 2. L’opérateur ET 3. L’opérateur OU
  • 33. 4) Le type chaine de caractère (str) Définition : Une variable de type chaine est un objet qui peut prendre une suite de caractères. En python une chaîne de caractères est définit entre deux apostrophes ou deux guillemets. Un caractère peut être une lettre majuscule ou lettre minuscule , chiffre ou symbole. Chaque caractère est caractérisé par un code appelé Code ASCII. Exemple : Le code ASCII de 'A 'est 65. Le code ASCII de 'a' est 97. Le code ASCII de '0' est 48.
  • 34. Accès aux éléments d'une chaîne :
  • 35. Activité Soit le programme suivant : Ch1 = "Informatique" Ch2 = " 2 ème année " +" "+ Ch1[7] + Ch1[8] Ch3 = Ch1[0:4] Ch4 = "Auto" + Ch1[5:12] Questions Quel est le contenu des variables Ch2 , Ch3 et Ch4 ? A partir des variables Ch1 et ch4 ,affecter à une variable Ch5 la chaine Informatique = Information automatique # + est un opérateur de concaténati #extraire une sous chaine de la position 0 à 3
  • 36. Les fonctions prédéfinies sur les chaines de caractères.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41. ch = Str( X) Permet de convertir un nombre X en une chaine ch X = 2 Ch = Str(X ) # ch = "2" X = int(ch) Permet de convertir une chaine ch en un entier X Ch = "1234" X = int (Ch) # X = 1234 X = float(ch) Permet de convertir une chaine ch en un réel X Ch = "1.2" X = float(Ch) # X = 1.2
  • 42. Application 1 Soit la chaine suivante : Ch = "Salut mes chères collègues" Questions Donner les actions qui permet de : 1 ) Afficher la longueur de la chaine Ch. 2)Remplacer le mot collègues par amis. 3) Supprimer le mot "chères". 4) Convertir la chaine Ch en majuscule. 5 ) Afficher Ch.
  • 43. Application 2 Soient les instructions suivantes : Ch = "Année scolaire" X = 2021 Y = 2022 Questions Donner l’instruction à faire pour affecter à une chaine Ch2, à partir de Ch , X et Y , la chaine suivante : Année scolaire 2021/2022
  • 44. Application 3 Ecrire un programme qui permet de saisir le nom et prénom d’un élève ,ses deux notes de contrôle de la matière informatique et sa note de synthèse puis afficher un message comme le montre l’exemple suivant : Exemple : Si Nom et prénom = Mahmoudi Ahmed Note de contrôle 1 = 12.25 Note de contrôle 2 = 17.75 Note de synthèse = 14.5 Le programme affiche : Bonjour AHMED ! Votre nom et prénom est composé par 14 caractères. La lettre "A" existe dans votre prénom = True Votre moyenne est 14.75 .
  • 45. Activité s ='Salut' s[2] = 'f' ch='bonbon' ch.replace('bon', 'jour') print('ch = ', ch)
  • 46. Activité s ='Salut‘ s[2] = 'f' # Erreur, on ne peut modifier la chaîne s ch='bonbon' ch.replace('bon', 'jour') # 'jourjour' print('ch = ', ch) # ch = 'bonbon‘ , ch est non modifiable
  • 47. Constatation En python , le type chaine de caractères est immutable (non mutable , non modifiable) On doit toujours retourner le résultat d’une modification dans un nouveau objet.
  • 48. 5) Le type tableau (list) Définition : une liste est une structure de données qui contient plusieurs éléments de même type ou de types différents.
  • 49. Exemples de tableaux: t1 = [5,6,3,2] t2 = [10, 5.2, 'Salut mes amis ', 8]
  • 50. Accès aux éléments d'une liste : On peut accéder aux éléments d’une liste à l’aide de leur indice associé
  • 51. Application Soit le programme suivant : T1 = [1,5,-4,0] T2 = ['Bonjour' , 4.5 , 'née'] X = T1 + T2 Y = X[1:5] Z = T2[0][3:7] + T2[2] Question Quel est le type et le contenu des variables X,Y et Z ?