Représentation des données :

Les types construits

.

p-listes en mathématiques Exemples
Arrangements Exemple d’utilisation de tuples
TABLEAU Tri d’un tableau
csv fonction
ouverture dictionnaire

.

p-listes en mathématiques

p-listes générales

Définition

 On appelle p-liste ou p-uplet d’un ensemble \(E\) , tout élément de \(E^{p}\)  c’est-à-dire tout élément de la forme \(\left( {e_{1},\ ..,\ e_{p}} \right)\)  où  pour tout  \(i \in \left\{ {1,\ ...,\ p} \right\}\ ,\ e_{i} \in E\)

Remarque

1.     Les coordonnées ne sont pas nécessairement deux à deux distinctes :

par exemple, (8, 8, 8), (1, 8, 5) et (7, 5, 7) sont des \(3 - listes\) de\(\mathbb{N}\) .

2.     Dans une p-liste, l’ordre des coordonnées est important :

par exemple, dans le plan \({\mathbb{R}}^{2}\)  le point (0,2)

(c’est-à-dire la\(deux - liste\) ou couple\(\left( 0,2 \right)\) ) n’est pas le même que le point\(\left( 2,0 \right)\) .

Proposition Si\(E\) est un ensemble à \(~n\)  éléments, alors le nombre de \(p - listes\) de \(E\) est \(n^{p}\) .

.

Exemples :

1.     On lance un dé deux fois de suite. Combien de résultats différents peut-on obtenir ?

 On peut représenter le résultat par un couple d’entiers compris entre \(1\ et \ 6\ : \ \left( 5,2 \right)\) signifie que le premier lancer a donné 5 et le deuxième 2. L’ensemble des résultats possibles est donc \(~\left\lbrack \left\lbrack {1,\ 6} \right\rbrack \right\rbrack\ \times \ \left\lbrack \left\lbrack {1,\ 6} \right\rbrack \right\rbrack\ = \ \left\lbrack \left\lbrack {1,\ 6} \right\rbrack \right\rbrack^{2}\) de cardinal \(6 \times 6 = 36\) .

2.     On effectue \(p\) tirages successifs et avec remise d’une boule dans une urne contenant \(~n\) boules : il y a \(~n^{p}\)  tirages différents possibles.

.

Arrangements

Cas typique :

le tiercé.

Le joueur parie sur le premier, le deuxième et le troisième cheval. 2 caractéristiques :

 l’ordre importe entre les chevaux gagnants et les chevaux gagnants sont deux à deux distincts.

Définition :

 Un p-arrangement d’un ensemble \(E\) est une \(p - liste\) de \(E\) constituée d’éléments deux à deux distincts.

Exemple :

\(~\left( {1,\ 8,\ 5} \right)\) est un 3-arrangement de \(\mathbb{N}\) .

Par contre , \(\left( {8,\ 8,\ 8} \right)\) et \(\left( {7,\ 5,\ 7} \right)\)  ne sont pas des 3-arrangement de \(\mathbb{N}\) , mais sont des \(3 - listes\) (ou triplets) de \(\mathbb{N}\) .

.

Exemple d’utilisation de tuples :

code pour tuples

Résultats :

_images/image441.png

tuple_0 = (‘un’, ‘deux’, ‘trois’, ‘quatre’, ‘cinq’, ‘six’, ‘sept’, ‘huit’)

tuple_0[0]= un

tuple_0[-1]= huit

tuple_0[2:6] = (‘trois’, ‘quatre’, ‘cinq’, ‘six’)

liste=list(tuple_0)

liste = [‘un’, ‘deux’, ‘trois’, ‘quatre’, ‘cinq’, ‘six’, ‘sept’, ‘huit’]

nombres = [2, 3, 4, 5, 6, 7, 8, 9]

tuple_1=tuple(nombres

tuple_1 = (2, 3, 4, 5, 6, 7, 8, 9)

len(tuple_0) = 8

affichage de l’index et du contenu du tuple_0

index = (0, ‘un’) : index[0]= 0 : index[1]= un

index = (1, ‘deux’) : index[0]= 1 : index[1]= deux

index = (2, ‘trois’) : index[0]= 2 : index[1]= trois

index = (3, ‘quatre’) : index[0]= 3 : index[1]= quatre

index = (4, ‘cinq’) : index[0]= 4 : index[1]= cinq

index = (5, ‘six’) : index[0]= 5 : index[1]= six

index = (6, ‘sept’) : index[0]= 6 : index[1]= sept

index = (7, ‘huit’) : index[0]= 7 : index[1]= huit

un est dans tuple_0

dix n’est pas dans tuple_0

.

TABLEAUX

Dans le langage python il faut importer des modules qui contiennent le type array (tableau).

Nous allons procéder sans importer de module, on va utiliser les listes pour créer des tableaux, cela permettra de pouvoir stocker toutes sorte de données dans les tableaux.

Les tableaux servent à stocker des données dans un programme, ils ont l’avantage d’être modifiables et de changer de dimensions selon les besoins du programme.

Nous allons définir des fonctions qui vont créer des tableaux, qui vont remplir des tableaux à partir de listes de données. Ainsi que faire du tri croissant et décroissant.

Création d’un tableau

Affichage du tableau

On va créer des tableaux à l’aide d’une fonction qui va prendre en paramètres le nombre de lignes et le nombre de colonnes.

def affiche_tableau(tableau,ligne,colonne):

En entrée :une liste avec les données et un tableau à remplir.

Cette fonction est une procédure.

image0
image1

.

Remplissage et tri du tableau

Remplissage du tableau

def remplir(liste,ligne,colonne):

En entrée :une liste avec les données à remplir.

En sortie :un tableau qui contient les données de la liste.

def listetableau(tableau,ligne,colonne):

En entrée :un tableau avec les données et une liste à remplir.

En sortie :une liste qui contient les données du tableau.

image2
image3

.

Tri d’un tableau :

Croisant ,décroissant

Exemple de tableaux triés

image4
image5

.

Exercice tableau :

Faire un programme avec des fonctions qui remplissent les tableaux et qui permetent d'afficher des figures

résultat

image0

image0

image0

.

CSV : Comma Separated Values.

DEFINITION :

Ce module permet de lire un fichier de tableur avec csv.reader ou de l’écrire avec csv.writer.

On utilisera que la classe csv.reader .

Car pour créer des fichiers CSV, les tableurs sont plus efficaces. Ces fichiers peuvent être fabriqués par des tableurs il suffit de choisir la bonne option « en enregistrant sous » ils produisent des lignes de données séparées soit par des virgules, des points virgules soit par des doubles quottes. Ils sont utilisés pour stocker des données.

Et pour les projets de l’enseignement facultatif : Informatique et Création Numérique : pour étudier l’évolution d’un territoire, en économie, étudier la répartition d’un indicateur économique.

L’utilisation de ces fichiers permet de créer des cartes, des figures et de traiter toutes sortes de données.

Les données sont extraites en deux sortes de format : les listes ou les dictionnaires. Les exemples suivants illustrent la différence de ces types de données.

.

FONCTIONS :

Fonctions des fichiers csv :

Ouverture d’un fichier :

fichier=open(f.csv,"r")

Fermeture d’un fichier:

fichier.close()

Lecture d’un fichier et données extraites en format liste :

liste_csv=csv.reader(fichier,delimiter=";")
listecsv=_csv.reader(fichier,delimiter=",")

for ligne in liste_csv : #ligne est une liste.

print(ligne)

delimiter

delimiter indique le symbole de séparation des données, si l’on doit utiliser des nombres décimaux(float) il faut utiliser la commande

delimiter=";"

pour éviter tout mélange dans les données.

.

OUVERTURE :

Lecture d’un fichier et données extraites en format dictionnaire :

dict_csv = csv.DictReader(fichier,delimiter=";")
dict_csv = csv.DictReader(fichier,delimiter=",")
for ligne in dict_cvs:
    print(ligne)

#ligne est un {"clé" :"valeur"} du dictionnaire.

Si c’est un tuple :

{"clé1" :"valeur1","clé2" :"valeur2", "..." :"..." }

.

LISTE :

Structure de liste:

Code Fichier CSV

_images/image182.png

_images/image185.png

_images/image184.png

Chaque ligne est une liste, et toutes les valeurs sont des chaînes de caractères.

.

DICTIONNAIRE

Structure de dictionnaire:

Différence entre liste et dictionnaire :

Avec le même fichier CVS, on obtient deux types de données : les listes ou un dictionnaire.

Le choix de du type de données dépend de l’utilisation que l’on veut faire de ces données.

Cet exemple est un fichier qui ne contient que des données simples, c’est à dire chaque colonne ne contient qu’une donnée. On peut utiliser les deux types : liste ou dictionnaire.

Fichier de données :

Le résultat donne l’illustration des types de données :

Utilisation des données du fichier CSV pour construire des figures :

Les fichiers CSV permettent la visualisation et la représentation graphiques de données, il s’agit de représenter graphiquement des données chiffrées. L’exemple suivant utilise le module tkinter, mais la plupart du temps on utilise le module bokeh.

Exemple :

Code Fichier CSV
_images/image188.png

_images/image187.png

Résultat :

_images/image189.png

.

Définition

image6

Explication code

On assigne un élément {(“clé” :”valeur”)}et l’ensemble est entouré d’accolades.

Voici deux impressions du même programme sur le dictionnaire, on constate que l’ordre des données n’est pas conservé, on peut aussi intégrer des tuples dans un dictionnaire, on a accès à la valeur par l’intermédiaire des clés.

image6

Impression n°1 Impression n°2

{‘Babil’: ‘Bavardage enfantin’, ‘ABACA’: ‘Bananier des Philipines’}

ABACA :  Bananier des Philipines

{‘ABACA’: ‘Bananier des Philipines’, ‘Babil’: ‘Bavardage enfantin’,

‘1’: (‘nombre n°’, 1, ‘b’, ‘B’), ‘3’: (‘nombre n°’, 3, ‘d’, ‘D’),

‘8’: (‘nombre n°’, 8, ‘i’, ‘I’), ‘0’: (‘nombre n°’, 0, ‘a’, ‘A’),

‘5’: (‘nombre n°’, 5, ‘f’, ‘F’), ‘7’: (‘nombre n°’, 7, ‘h’, ‘H’),

‘9’: (‘nombre n°’, 9, ‘j’, ‘J’), ‘2’: (‘nombre n°’, 2, ‘c’, ‘C’),

‘4’: (‘nombre n°’, 4, ‘e’, ‘E’), ‘6’: (‘nombre n°’, 6, ‘g’, ‘G’)}

affichage de la majuscule de la clé 5 : F

{‘ABACA’: ‘Bananier des Philipines’,’Babil’:’Bavardage enfantin’ }

ABACA :  Bananier des Philipines

{‘Babil’: ‘Bavardage enfantin’, ‘1’: (‘nombre n°’, 1, ‘b’, ‘B’),

‘7’: (‘nombre n°’, 7, ‘h’, ‘H’), ‘3’: (‘nombre n°’, 3, ‘d’, ‘D’),

‘4’: (‘nombre n°’, 4, ‘e’, ‘E’), ‘8’: (‘nombre n°’, 8, ‘i’, ‘I’),

‘5’: (‘nombre n°’, 5, ‘f’, ‘F’), ‘0’: (‘nombre n°’, 0, ‘a’, ‘A’),

‘2’: (‘nombre n°’, 2, ‘c’, ‘C’), ‘ABACA’: ‘Bananier des Philipines’,

‘6’: (‘nombre n°’, 6, ‘g’, ‘G’), ‘9’: (‘nombre n°’, 9, ‘j’, ‘J’)}

affichage de la majuscule de la clé 5 : F