Représentation des données :

Les types construits

P-UPLETS

TABLEAU

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 :

_images/image441.png

Résultats :

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 :

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.

image0

.

Affichage du tableau :

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.

image1

.

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.

image2

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.

image3

.

Tri d’un tableau :

Croisant ,décroissant

image4

.

Exemple de tableaux triés :

image5

.

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

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

_images/image184.png

.

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

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

image6

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.

.

Impression n°1 :

{‘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

.

Impression n°2 :

{‘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