Vous êtes sur la page 1sur 21

3 éme année SI (algo & prog)

Les
enregistrements

BHI_3SI_ER_003

Version 1.0

Réalisé par: : Ben Hmida IMED

Professeur tronc commun grade PPE


---
Email: ibhedunet@gmail.com

Paternité - Pas d'Utilisation Commerciale - Pas de Modification :


Année scolaire
http://infoskool.wordpress.com 2020-2021

BHI ©
Objectifs

 Comprendre l'intérêt des enregistrements


 Savoir déclarer, programmer et utiliser les enregistrements
 Manipuler les vecteurs d'enregistrements

BHI ©
5
Enregistrement
I-

I
en algorithmique

A. Introduction

1. Activité

Problématique

Un établissement scolaire organise les informations concernant ses classes dans


une liste identique à la suivante :

Questions N°1

Le directeur de l'établissement veut créer un programme permettant la saisie et le


traitement de ces listes sachant que chaque classe comporte au maximum 40
élèves.
1. Donnez la structure de données nécessaire pour les objets à utiliser.
2. Donnez une déclaration algorithmique de ces objets.

Question N°2

Est-il possible de regrouper ces variables au sein d'un même tableau ?

BHI ©
7
Enregistrement en algorithmique

2. Réponse de la question N°1


Nous remarquons que cette liste comporte une information alphanumérique
(Code), des informations numériques (N°, Moyenne) et d'autres alphabétiques
(Nom & Prénom, Observations).

D'après les connaissances que nous avons acquises les deux dernières années,
nous pouvons utiliser 5 variables déclarées comme suit :

3. Réponse de la question N°2

Bien sûr que NON car un tableau ne peut contenir que des éléments de même type.
Mais nous pouvons utiliser 5 tableaux différents déclarés comme suit :

Tableau de déclaration des nouveaux types :

Tableau de déclaration des objets :

Nous venons de voir que les variables simples ou les tableaux ne permettent pas de
ranger des données de types différents.
Si nous voulons établir par exemple une structure comportant en même temps des
informations alphanumériques, numériques et alphabétiques, nous devons créer un
nouveau TYPE qui permet de les regrouper.
Nous allons voir une nouvelle structure appelée ENREGISTREMENT (CLASSE en
Python) qui permet de réaliser cette tâche.

BHI ©
8
Enregistrement en algorithmique

B. Définition et déclaration

Définition : Enregistrement
Un enregistrement est un type de données défini par l'utilisateur et qui permet de
grouper un nombre fini d'éléments (ou champs) de types éventuellement différents.

Schématisons cette structure :

fig5.png

Syntaxe : Déclaration d'une structure ENREGISTREMENT

Tableau de déclaration des nouveaux types

Tableau de déclaration des objets

Remarque : Important

Les types (type 1, type 2, .. , type n) peuvent être soit prédéfinis, soit définis par
l'utilisateur.
Dans ce qui suit, nous utiliserons les mots variable ou objet au lieu de
identificateur_objet.

BHI ©
9
Enregistrement en algorithmique

Exemple : Date

Déclarez en algorithmique, une variable enregistrement qui comporte :


 le numéro du jour (jj) de 1 à 31
 le mois (mm) en utilisant le type mois qui est un nouveau type défini par
l'utilisateur et qui énumère les 12 mois de l'année
 l'an (aa) qui est un entier.

Déclarez une variable nommée "calendrier" qui permettra l'utilisation de cet


enregistrement.

Méthode : Déclaration Date

Tableau de déclaration des nouveaux types

Tableau de déclaration des objets

C. Utilisation des enregistrements

Affectation
L'affectation de valeurs aux différents champs d'une variable enregistrement se fait
comme suit :

BHI ©
10
Enregistrement en algorithmique

Exemple : Fiche étudiant


 Déclarez une variable enregistrement pour représenter la fiche d'un étudiant
sachant qu'elle contient les informations suivantes : Nom, Prénom, sexe (F
ou G), date de naissance et la moyenne au baccalauréat.
 Affectez respectivement les valeurs suivantes à cette variable : "Kéfi",
"Nour", "F", "27/11/1983" et 13.25

Méthode : Déclaration d'une variable enregistrement (Fiche)

Tableau de déclaration des nouveaux types

fig10.png

Tableau de déclaration des nouveaux types

Méthode : Affectation des valeurs à cette variable (Fiche)


étudiant.nom ← "Kéfi"
étudiant.prénom ← "Nour"
étudiant.sexe ← "F"
étudiant.date_nais ← "27/11/1983"
étudiant.moy ← 13.25

Lecture
La lecture des valeurs des différents champs d'une variable enregistrement se fait
comme suit :

BHI ©
11
Enregistrement en algorithmique

Remarque : Importante
Remarquez toujours le point entre la variable et le champ.

Exemple : Fiche étudiant


Reprenez l'activité précédente et écrivez les instructions permettant de saisir à
partir du clavier les champs de la variable enregistrement Étudiant.

Méthode : Niveau algorithmique


Ecrire ("Entrer le nom de l'étudiant : ") ; Lire (étudiant.nom)
Ecrire ("Entrer le prénom de l'étudiant : ") ; Lire (étudiant.prénom)
Ecrire ("Entrer le sexe de l'étudiant : ") ; Lire (étudiant.sexe)
Ecrire ("Entrer la date de naissance de l'étudiant : ") ; Lire (étudiant.date_nais)
Ecrire ("Entrer la moyenne de l'étudiant : ") ; Lire (étudiant.moy)

Écriture
L'écriture des valeurs des différents champs d'une variable enregistrement se fait
comme suit :

Remarque : Important
Remarquez toujours le point entre la variable et champ.

Exemple : Fiche étudiant


Reprenez l'activité précédente et écrivez les instructions permettant d'afficher les
champs de la variable enregistrement Étudiant.

Méthode : Niveau algorithmique


Ecrire ("Nom : ", étudiant.nom)
Ecrire ("Prénom : ", étudiant.prénom)
Ecrire ("Sexe : ", étudiant.sexe)
Ecrire ("Date de naissance : ", étudiant.date_nais)
Ecrire ("Moyenne : ", étudiant.moy)

BHI ©
12
Enregistrement
II -

II
en PYTHON

A. Notion de classe en python

Les classes sont un moyen de réunir des données et des fonctionnalités. Créer une
nouvelle classe crée un nouveau type d'objet et ainsi de nouvelles instances de ce
type peuvent être construites. Chaque instance peut avoir ses propres attributs, ce
qui définit son état. Une instance peut aussi avoir des méthodes (définies par la
classe de l'instance) pour modifier son état.

Remarque
Dans ce cours, les méthodes ne seront pas traitées et nous nous limitons au niveau
de l’étude des instances d'une classe et les moyens de les exploiter.

Syntaxe

Définition d'un enregistrement (classe)

fig19.png

Exemple : Enregistrement produit


Un magasin organise les informations concernant ses produits de la manière
suivante :

BHI ©
13
Enregistrement en PYTHON

On remarque que cette liste comporte :


 Une information de type entier (N°).
 Deux informations de type chaîne de caractères (code et libellé).
 Trois informations réelles (P.U, TVA et PU.TTC)
 Une information de type booléen (consommable).

Méthode : Déclaration produit


Déclaration algorithmique

Déclaration PYTHON

BHI ©
14
Vecteur
III -

III
d'enregistrement

A. Tableau et enregistrement

1. Remplissage d'un tableau d'enregistrement

Reprenons l'enregistrement Fiche de l'activité précédente :

Fiche = Enregistrement
.......nom, prénom : Chaîne
.......sexe : Caractère
.......date_nais : Chaîne
.......moy : Réel
Fin Fiche

Nous voulons utiliser cet enregistrement non pas pour un seul étudiant, mais pour
tous les étudiants d'une classe.

Question : Proposez une structure de données utilisant un vecteur


d'enregistrements pour représenter ces N étudiants ?

Remarque
Nous supposons que le nombre d'étudiants dans une classe est égal à N (4 < N <
30).

2. Solution

Méthode : Vecteur d'étudiants en algorithmique


Tableau de déclaration des nouveaux types :

BHI ©
15
Vecteur d'enregistrement

Tableau de déclaration des objets :

Méthode : Vecteur d'étudiants en PYTHON

Déclaration de la classe DATE

Déclaration de la classe FICHE

BHI ©
16
Vecteur d'enregistrement

Déclaration du vecteur T

BHI ©
17
Exercice : Gestion
IV -

IV
employés

Le gouvernement veut un logiciel pour analyser la mortalité sur les routes.

Une route a un type (caractère qui peut être D : départementale, N : nationale ou A


: autoroute), un numéro (entier strictement positif), et une vitesse maximum
autorisée (entier compris entre 20 et 110).
Un accident de la route est décrit par la route où a eu lieu l'accident, une date
(chaîne de 10 caractères sous la forme JJ/MM/AAAA), le nombre de morts et le
nombre de blessés.
Remarque:
1. Le numéro de la route doit être unique.
2. La route de l'accident doit exister dans le tableau des routes.

BHI ©
19
Exercice : Gestion employés

Question 1
[Solution n°1 p 21]
1- Proposer une déclaration pour les types à utilisés pour ce problème.

Question 2
[Solution n°2 p 22]
2- On veut stocker les N (5 <= N <= 100) routes dans un tableau Troutes
et les NB (1<= NB <= 100) accidents dans un autre tableau Taccid.

Question 3
[Solution n°3 p 23]
3- Chercher puis afficher la route la plus dangereuse (max morts).

Question 4
[Solution n°4 p 24]
4- Calculer le nombre de morts et le nombre de blessés pour un mois
donné.

Question 5
[Solution n°5 p 25]
5- Afficher les routes par ordre décroissants selon le nombre de mots.

BHI ©
20
Solution des
exercices

>Solution n°1 (exercice p. 20)


Algorithme

…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
Type

PYTHON

...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
.............................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
Classe

BHI ©
21
Solution des exercices

>Solution n°2 (exercice p. 20)


Algorithme

…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
remplir_accidents

PYTHON

...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
......................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
remplir_accidents

BHI ©
22
Solution des exercices

>Solution n°3 (exercice p. 20)


Algorithme

...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
dangereuse

PYTHON

…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
dangereuse

BHI ©
23
Solution des exercices

>Solution n°4 (exercice p. 20)


Algorithme

…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
nombre

PYTHON

…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................

BHI ©
24
Solution des exercices

nombre

>Solution n°5 (exercice p. 20)


Algorithme

…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
affiche_accidents

BHI ©
25
Solution des exercices

PYTHON

…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
…................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
............................................................
affiche_accidents

BHI ©
26

Vous aimerez peut-être aussi