SlideShare une entreprise Scribd logo
Algorithmique
&
structures des données II
1ère Business Computing (BC)
Responsable : Dr. Fadoua Bouafif
1
Dr. Fadoua.BOUAFIF
Objectifs du cours
Ce cours a pour objectif de prolonger les acquis du premier semestre dans
l’élément algorithmique et programmation I, en introduisant de nouvelles
structures de données linéaires et arborescentes avec différentes
implémentations (contiguë et chainée).
 Nous commençons tout d’abord par introduire la notion des types
d’éléments abstraits, ainsi que le principe de la récursivité.
 Ensuite, nous couvrons les structures de données linéaires : les listes, les
files et les piles et leurs applications à travers l’évaluation des expressions
arithmétiques.
 Enfin, les structures de données arborescentes sont étudiées (arbres,
graphes).
2
Plan du cours
Chapitre 1: Les enregistrements
Chapitre 2: La récursivité
Chapitre 3: Les variables dynamiques
Chapitre 4: Les listes chainées
Chapitre 5: Les piles et les files
Chapitre 6: Les arbres
3
Chapitre 1
Les enregistrements
4
Dr. Fadoua.BOUAFIF
Objectifs du chapitre
5
Dr. Fadoua.BOUAFIF
A la fin du chapitre, les étudiants seront en mesure de:
- Définir le type enregistrement en algorithmique et en langage C
- Nommer les opérations sur les enregistrements
- Déterminer le tableau d’enregistrement
- Arranger les pointeurs et les enregistrements
Plan du chapitre
1) Introduction
2) Définition
3) Déclaration
4) Manipulation des enregistrements
5) Tableaux et enregistrements
6) Pointeurs et enregistrements
7) Conclusion
6
Dr. Fadoua.BOUAFIF
Introduction
Les types utilisés, jusqu'à présent, sont :
 des types simples, tels que:
 réel,
 entier,
 caractère,
 et le type structuré tableau qui permet de stocker plusieurs données de même type.
Il est parfois nécessaire de définir un objet qui décrit plusieurs informations de types différents. Cet
objet est alors définit à travers un type structuré appelé enregistrement ou structure.
7
Dr. Fadoua.BOUAFIF
Définitions
 Le type enregistrement (structure) est une structure de données qui rassemble un ensemble
d'informations de types différents : simple, complexe ou même de type enregistrement, dans une
même variable.
 L'information qui compose cette structure est appelée champ ou attribut.
 Un enregistrement (structure) est un ensemble d'attributs.
Exemple:
8
Type Personne =Enregistrement
nom : chaine [20]
prénom : chaine [20]
CIN: entier
FinPersonne
Dr. Fadoua.BOUAFIF
Nom de
l’enregistrement
Les attributs/les champs
Déclaration En Algorithmique
9
Dr. Fadoua.BOUAFIF
Syntaxe Exemple
Déclaration de
l’enregistrement
Type Nom_structure = Enregistrement
Nom_champ1 : type_champ1
Nom_champ2 : type_champ2
…….
Nom_ champn : type_champ3
Fin_Nom_structure
Type
Personne=enregistrement
nom : chaine [20]
prenom : chaine [20]
CIN : entier
Fin_Personne
Déclaration
variables
Var Nom_variable: Nom_structure Var: P1, P2: Personne
Déclaration En langage C
10
Dr. Fadoua.BOUAFIF
Syntaxe Exemple
Déclaration
de la
structure
Typedef Struct
{
Nom_champ1 : type_champ1;
Nom_champ2 : type_champ2;
…….
Nom_ champn : type_champ3;
} NomStruct ;
Typedef struct
{
char nom[20];
char prenom[20];
int CIN ;
} Personne;
Déclaration
variables
Nom_struct Nom_variable; Personne P1, P2;
Remarques 11
Dr. Fadoua.BOUAFIF
En algorithmique En Langage C
La déclaration des types structures se fait dans une
section spéciale des algorithmes appelée Type, qui
précède la section des variables et succède à la
section (clause) des constantes.
La déclaration de la structure sera effectuée avant le
programme principal
Algorithme principal
Type
Personne=enregistrement
nom : chaine [20]
prenom : chaine [20]
CIN : entier
Fin_Personne
Var: P1, P2: Personne
Const: ….
Debut
…..
fin
#include <studio.h>
Typedef Struct
{
char nom[20];
char prenom[20];
int CIN;
}Personne; /*N’oubliez pas ce point virgule*/
void main ( )
{
Personne P1,P2;
………
}
Remarque En langageC
12
 Il est possible de déclarer et d’initialiser une variable structurée dans un seul et même temps :
 Syntaxe
Typedef Struct
{
type1 champ1 ;
type2 champ2 ;
type3 champ3 ;
.....
typen champn ;
} NomStructure; Nom_variable = {val_champ1, val_champ2,… };
Exemple
Typedef Struct
{
char nom[20];
char prenom[20];
int CIN;
} Personne; P1= {"med", " selmi", 12345678};
Dr. Fadoua.BOUAFIF
Activité 1
 Soit un produit est caractérisé par:
 Référence (entier)
 Désignation (chaine de caractère)
 Quantité (entier)
 Prix_Unitaire (réel)
Ecrire la structure qui définie le produit en algorithmique et en langage C
Dr. Fadoua.BOUAFIF
13
Manipulation des enregistrements
 Comme pour les tableaux, il n'est pas possible de manipuler un
enregistrement globalement,
 La manipulation d'un enregistrement se fait à travers de « ses champs ».
Dr. Fadoua.BOUAFIF
14
Accès aux champs d’un enregistrement
15
Syntaxe:
nom_variable.nom_champ
En algorithme EN C
Type Personne=enregistrement
nom : chaine [20]
prenom : chaine [20]
CIN : entier
Fin_Personne
var : P : Personne
Typedef Struct
{
char nom[20];
char prenom[20];
int CIN;
} Personne;
Personne P;
Exemple:
P.Nom
P.Prenom
P.CIN
16
 Il est possible d'affecter une variable enregistrement dans une autre, à condition qu'ils
soient de même structure.
Tous les champs de la première variable enregistrement à affecter seront
recopiés dans les champs de l'autre variable enregistrement.
Affectation
P1= P2;
Printf ("%s %d", P1.nom, p1.CIN);
 BenSaleh ali 12345678
Dr. Fadoua.BOUAFIF
En Algorithmique En C
Nom_variable valeur Nom_variable = valeur
Exemple
Typedef Struct
{
char nom[20];
char prenom[20];
int CIN;
} Personne; P1= {"BenSaleh","ali",12345678};
17
Lecture/Ecriture
Dr. Fadoua.BOUAFIF
En algorithme EN C
Lire(Nomvariable.champ) Scanf(‘’code format’’,& Nom_variable .champ);
ecrire(Nomvariable.champ) printf(‘’code format’’, Nom_variable .champ);
Les opérations de lecture/écriture n'acceptent que des types simples, alors on ne
peut pas lire/écrire directement une variable de type structure.
 On doit lire/écrire les attributs/champs de la variable de type structure un à un
Syntaxe
18
Lecture/Ecriture
Dr. Fadoua.BOUAFIF
Exemple
En algorithme EN C
Algorithme Affiche_Personne
Type Personne=enregistrement
nom : chaine [20]
prenom : chaine [20]
CIN : entier
Fin_Personne
var : P : Personne
Debut
Ecrire("Veuillez saisir le nom ,le prenom et le
numero CIN")
Lire(P.nom, P.Prenom, P.CIN)
Ecrire("Nom:", P.nom, "Prenom:", P.Prenom,
"CIN:", P.CIN)
fin
#include<stdio.h>
Typedef Struct
{
char nom[20];
char prenom[20];
int CIN;
} Personne;
int main()
{
Personne P;
printf("Veuillez saisir le nom, le prenom et le numero
CIN");
scanf("%s%s%d",P.nom, P.Prenom, &P.CIN)
printf(" le nom: %sn le prenom: %sn CIN:%dn",
P.nom, P.Prenom, P.CIN)
return 0; }
19
 Egalité ou différence (== ou !=):
 On ne peut pas tester l'égalité ou la différence de deux enregistrements de même type
d'une façon globale.
 La comparaison doit se faire champ par champ : le 1er champ du premier enregistrement
est comparé au premier champ du second enregistrement et ainsi de suite.
 Exemple:
Type Personne=enregistrement
nom : chaine [20]
prenom : chaine [20]
CIN : entier
Fin_Personne
var: P1,P2: Personne
Remarques
P1=P2  écriture fausse
En algorithme
P1.nom =P2.nom
P1.CIN =P2.CIN
En C
Strcmp(P1.nom, P2.nom)
P1.CIN =P2.CIN
 écriture correcte
 écriture correcte
Dr. Fadoua.BOUAFIF
20
 Pour la manipulation des attributs de type chaîne de caractères, les fonctions prédéfinies de
manipulation des chaînes sont utilisées.
Exemple:
Typedef Struct
{
char nom [20];
char prenom [20];
int CIN;
} Personne;
P1= {"BenSaleh","ali",12345678};
Attention!!
En langage C
Personne P2;
Strcpy(P2.prenom, "alia"); // affectation du nom « alia » à P2.prenom
P2.CIN =12345679; // affectation CIN à P2.CIN
Strcmp(P1.prenom, P2.prenom); // Comparaison de deux chaines
Dr. Fadoua.BOUAFIF
Activité 2
 Soit un étudiant est définie par son nom, son prénom et sa date de naissance(jour/mois/année)
et son moyenne
 Définir la structure étudiant
 Ecrire un programme qui permet de saisir et d’afficher les informations d’un étudiant
 Solution
Dr. Fadoua.BOUAFIF
21
22
En Algorithme En C
Type Nom_structure = Enregistrement
Nom_champ1 : type_champ1
Nom_champ2 : type_champ2
…….
Nom_ champn : type_champ3
Fin_Nom_structure
Type Tab : tableau [0…N-1] de Nom_Structure
Var : T : Tab
Typedef Struct
{
Nom_champ1 : type_champ1;
Nom_champ2 : type_champ2;
…….
Nom_ champn : type_champ3;
} NomStruct ;
Typedef NomStruct T[N];
Tableau & enregistrement
Syntaxe
Dr. Fadoua.BOUAFIF
Groupe G;
G [0] G[1] ………
G [1].CIN
‘Sassi’ ‘med’ 22234 ‘saleh’ ‘afef’ 11145 …
23
Tableau & enregistrement
Exemple
En algorithme En C
Type Personne=enregistrement
nom : chaine [20]
prenom : chaine [20]
CIN : entier
Fin_Personne
Type Groupe : tableau [0…9] de Personne
Var : G : Groupe
Typedef Struct
{
char nom[20];
char prenom[20];
int CIN;
} Personne;
Typedef Personne Groupe[10];
Groupe G;
G [0].nom
Dr. Fadoua.BOUAFIF
24
 Soit un étudiant est définie par son nom, son prénom et 4 notes.
 Définir la structure étudiant
 Ecrire un algorithme qui permet de saisir une liste de 30 étudiants
Activité 3
Dr. Fadoua.BOUAFIF
25
 Soit un étudiant est définie par son nom, son prénom et 4 notes.
 Définir la structure étudiant
 Ecrire un algorithme qui permet de saisir une liste de 30 étudiants
Activité 3
Dr. Fadoua.BOUAFIF
Pointeurs & enregistrements
Syntaxes
ASD II
26
En Algorithme En C
Type Nom_structure = Enregistrement
Nom_champ1 : type_champ1
Nom_champ2 : type_champ2
…….
Nom_ champn : type_champ3
Fin_Nom_structure
Var: pt_structure: ↑ Nom_Structure
Typedef Struct
{
Nom_champ1 : type_champ1;
Nom_champ2 : type_champ2;
…….
Nom_ champn : type_champ3;
} NomStruct ;
NomStruct *pt_structure;
Pointeurs & enregistrements
Syntaxes (suite)
ASD II
27
En Algorithme En C
Déclaration
structure
Déclaration
variable
Accès aux
champs
Type Nom_structure = Enregistrement
Nom_champ1 : type_champ1
Nom_champ2 : type_champ2
…….
Nom_ champn : type_champ3
Fin_Nom_structure
Var: pt_structure: Nom_Structure
pt_structure.Nom_champ
Typedef Struct
{
Nom_champ1 : type_champ1;
Nom_champ2 : type_champ2;
…….
Nom_ champn : type_champ3;
} NomStruct ;
NomStruct *pt_structure;
(*pt_structure). Nom_champ;
ou pt_structureNom_champ;
Pour accéder à un champ de la structure avec une variable pointeur, nous utilisons:
 En algorithme l’opérateur (.)
 En C l’operateur «  » ou l’opérateur (.)
Pointeurs & enregistrements
Exemple
ASD II
28
En algorithme En C
Algorithme Exemple_Personne #include<stdio.h>
Début
pt  P
(*pt).CIN 205004
lire ( (*pt).nom)
écrire ((*pt).CIN)
Fin
var : P : Personne
pt : Personne
Type Personne=enregistrement
nom : chaine [20]
prenom : chaine [20]
CIN : entier
Fin_Personne
Typedef Struct
{
char nom[20];
char prenom[20];
int CIN;
} Personne;
int main ()
{
Personne P ; // déclaration variable enregistrement
Personne*pt ; // déclaration d’un pointeur de type enregistrement
pt=&P; // pt pointe sur l’adresse de P
(*pt).CIN=205004 ; // ou P.CIN =205004
scanf("%s", (ptnom) ); //ou scanf("%s", ((*pt).nom));
//ou scanf("%s", (P.nom));
printf(" Num_CarteId=%d", (*pt).CIN); // ou pt -> CIN ; ou P .CIN ;
return 0; }
29
 Ecrire un sous-programme qui permet d’afficher la liste des étudiants de
l’activité 3 en utilisant les pointeurs
Activité 3
Dr. Fadoua.BOUAFIF
30
 Dans ce cours nous avons :
 Défini le type enregistrement (structure)
 Détaillé les manipulations sur les enregistrements
 Présenté le tableau d’enregistrement
 Présenté l’utilisation des pointeurs sur les enregistrements
Conclusion
Dr. Fadoua.BOUAFIF

Contenu connexe

Tendances

resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
salah fenni
 
TP C++ : enoncé
TP C++ : enoncéTP C++ : enoncé
Chapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en CChapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en C
Abdelouahed Abdou
 
Cours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMACours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMA
Loic Yon
 
Chapitre 04 : les fonctions
Chapitre 04 : les fonctionsChapitre 04 : les fonctions
Chapitre 04 : les fonctions
L’Université Hassan 1er Settat
 
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
 
Travaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de DonnéesTravaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de Données
Anass41
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siNarûtö Bàl'Sèm
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithmebadr zaimi
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
Abdoulaye Dieng
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
Les listes en Python
Les listes en PythonLes listes en Python
Les listes en Python
ABDESSELAM ARROU
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
WajihBaghdadi1
 
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
FadouaBouafifSamoud
 
La logique propositionnelle
La logique propositionnelleLa logique propositionnelle
La logique propositionnelle
Chiheb Ouaghlani
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
Sana Aroussi
 
Les listes simplement chaînées en langage C
Les listes simplement chaînées en langage CLes listes simplement chaînées en langage C
Les listes simplement chaînées en langage C
Mohamed Lahby
 
Cours algo: Les pointeurs
Cours algo: Les pointeursCours algo: Les pointeurs
Cours algo: Les pointeurs
Sana REFAI
 

Tendances (20)

resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 
Serie2
Serie2Serie2
Serie2
 
TP C++ : enoncé
TP C++ : enoncéTP C++ : enoncé
TP C++ : enoncé
 
Chapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en CChapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en C
 
Cours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMACours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMA
 
Chapitre 04 : les fonctions
Chapitre 04 : les fonctionsChapitre 04 : les fonctions
Chapitre 04 : les fonctions
 
Cours complet Base de donne Bac
Cours complet Base de donne Bac Cours complet Base de donne Bac
Cours complet Base de donne Bac
 
Travaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de DonnéesTravaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de Données
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
TP C++ : Correction
 
Les listes en Python
Les listes en PythonLes listes en Python
Les listes en Python
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
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 logique propositionnelle
La logique propositionnelleLa logique propositionnelle
La logique propositionnelle
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
Les listes simplement chaînées en langage C
Les listes simplement chaînées en langage CLes listes simplement chaînées en langage C
Les listes simplement chaînées en langage C
 
Cours algo: Les pointeurs
Cours algo: Les pointeursCours algo: Les pointeurs
Cours algo: Les pointeurs
 

Similaire à Ch1 _ les enregistrements.pdf

Ch5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdfCh5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdf
FadouaBouafifSamoud
 
Rappel_Structure programmatio. 2 smi.ppté
Rappel_Structure programmatio.  2 smi.pptéRappel_Structure programmatio.  2 smi.ppté
Rappel_Structure programmatio. 2 smi.ppté
JihadKhalili
 
Cours C Avancé chapitre 2 et chapitre.pdf
Cours C Avancé  chapitre 2 et chapitre.pdfCours C Avancé  chapitre 2 et chapitre.pdf
Cours C Avancé chapitre 2 et chapitre.pdf
c79024186
 
Les structures en c++
Les structures en c++Les structures en c++
Les structures en c++Wael Ismail
 
Les structures en c++ (1)
Les structures en c++ (1)Les structures en c++ (1)
Les structures en c++ (1)Wael Ismail
 
Langage c partie_2
Langage c partie_2Langage c partie_2
Langage c partie_2
Mohamed Lahby
 
TAD (1).pptx
TAD (1).pptxTAD (1).pptx
TAD (1).pptx
SergeOngolo
 
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
 
4sci ap(2)
4sci ap(2)4sci ap(2)
4sci ap(2)
bouatay adel
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
SiratiSoufiane
 
Lect14 dev2
Lect14 dev2Lect14 dev2
Lect14 dev2moisko
 
POO-chapitre6.pptx
POO-chapitre6.pptxPOO-chapitre6.pptx
POO-chapitre6.pptx
ImaneLoukili7
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
LamissGhoul1
 
PL LSQL.pptx
PL LSQL.pptxPL LSQL.pptx
PL LSQL.pptx
MaNl13
 
Chapitre 1 TDA Démarche de résolution d’un problème.pdf
Chapitre 1 TDA Démarche de résolution d’un problème.pdfChapitre 1 TDA Démarche de résolution d’un problème.pdf
Chapitre 1 TDA Démarche de résolution d’un problème.pdf
benamorraj
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
Sana Aroussi
 
Resume_Algorithmique (1).pdf
Resume_Algorithmique (1).pdfResume_Algorithmique (1).pdf
Resume_Algorithmique (1).pdf
RajaeElAouad2
 
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Abdelouahed Abdou
 
Chapitre 8 - Les tableaux et les pointeurs.pdf
Chapitre 8 - Les tableaux et les pointeurs.pdfChapitre 8 - Les tableaux et les pointeurs.pdf
Chapitre 8 - Les tableaux et les pointeurs.pdf
ShiniGami0o0
 

Similaire à Ch1 _ les enregistrements.pdf (20)

Ch5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdfCh5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdf
 
Rappel_Structure programmatio. 2 smi.ppté
Rappel_Structure programmatio.  2 smi.pptéRappel_Structure programmatio.  2 smi.ppté
Rappel_Structure programmatio. 2 smi.ppté
 
Cours C Avancé chapitre 2 et chapitre.pdf
Cours C Avancé  chapitre 2 et chapitre.pdfCours C Avancé  chapitre 2 et chapitre.pdf
Cours C Avancé chapitre 2 et chapitre.pdf
 
Les structures en c++
Les structures en c++Les structures en c++
Les structures en c++
 
Les structures en c++ (1)
Les structures en c++ (1)Les structures en c++ (1)
Les structures en c++ (1)
 
Langage c partie_2
Langage c partie_2Langage c partie_2
Langage c partie_2
 
Serie
SerieSerie
Serie
 
TAD (1).pptx
TAD (1).pptxTAD (1).pptx
TAD (1).pptx
 
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)
 
4sci ap(2)
4sci ap(2)4sci ap(2)
4sci ap(2)
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 
Lect14 dev2
Lect14 dev2Lect14 dev2
Lect14 dev2
 
POO-chapitre6.pptx
POO-chapitre6.pptxPOO-chapitre6.pptx
POO-chapitre6.pptx
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
 
PL LSQL.pptx
PL LSQL.pptxPL LSQL.pptx
PL LSQL.pptx
 
Chapitre 1 TDA Démarche de résolution d’un problème.pdf
Chapitre 1 TDA Démarche de résolution d’un problème.pdfChapitre 1 TDA Démarche de résolution d’un problème.pdf
Chapitre 1 TDA Démarche de résolution d’un problème.pdf
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Resume_Algorithmique (1).pdf
Resume_Algorithmique (1).pdfResume_Algorithmique (1).pdf
Resume_Algorithmique (1).pdf
 
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
 
Chapitre 8 - Les tableaux et les pointeurs.pdf
Chapitre 8 - Les tableaux et les pointeurs.pdfChapitre 8 - Les tableaux et les pointeurs.pdf
Chapitre 8 - Les tableaux et les pointeurs.pdf
 

Plus de FadouaBouafifSamoud

Ch3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdfCh3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdf
FadouaBouafifSamoud
 
Ch4- les structures répétitives.pdf
Ch4- les structures répétitives.pdfCh4- les structures répétitives.pdf
Ch4- les structures répétitives.pdf
FadouaBouafifSamoud
 
Ch1-Généralités.pdf
Ch1-Généralités.pdfCh1-Généralités.pdf
Ch1-Généralités.pdf
FadouaBouafifSamoud
 
ch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdf
FadouaBouafifSamoud
 
ch6 les sous programmes.pdf
ch6 les sous programmes.pdfch6 les sous programmes.pdf
ch6 les sous programmes.pdf
FadouaBouafifSamoud
 
ch4_les listes.pdf
ch4_les listes.pdfch4_les listes.pdf
ch4_les listes.pdf
FadouaBouafifSamoud
 
ch3_les variables_dynamiques.pdf
ch3_les variables_dynamiques.pdfch3_les variables_dynamiques.pdf
ch3_les variables_dynamiques.pdf
FadouaBouafifSamoud
 
Ch2_ la récursivité.pdf
Ch2_ la récursivité.pdfCh2_ la récursivité.pdf
Ch2_ la récursivité.pdf
FadouaBouafifSamoud
 

Plus de FadouaBouafifSamoud (8)

Ch3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdfCh3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdf
 
Ch4- les structures répétitives.pdf
Ch4- les structures répétitives.pdfCh4- les structures répétitives.pdf
Ch4- les structures répétitives.pdf
 
Ch1-Généralités.pdf
Ch1-Généralités.pdfCh1-Généralités.pdf
Ch1-Généralités.pdf
 
ch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdf
 
ch6 les sous programmes.pdf
ch6 les sous programmes.pdfch6 les sous programmes.pdf
ch6 les sous programmes.pdf
 
ch4_les listes.pdf
ch4_les listes.pdfch4_les listes.pdf
ch4_les listes.pdf
 
ch3_les variables_dynamiques.pdf
ch3_les variables_dynamiques.pdfch3_les variables_dynamiques.pdf
ch3_les variables_dynamiques.pdf
 
Ch2_ la récursivité.pdf
Ch2_ la récursivité.pdfCh2_ la récursivité.pdf
Ch2_ la récursivité.pdf
 

Dernier

1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
schneiderbeatrice78
 
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdfCours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
MedBechir
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
MelDjobo
 
Méthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptxMéthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptx
LamoussaPaulOuattara1
 
Exame DELF - A2 Francês pout tout public
Exame DELF - A2  Francês pout tout publicExame DELF - A2  Francês pout tout public
Exame DELF - A2 Francês pout tout public
GiselaAlves15
 
Bilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptxBilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptx
bibliogard
 
4 expositions à voir à Paris.pptx
4   expositions    à   voir   à Paris.pptx4   expositions    à   voir   à Paris.pptx
4 expositions à voir à Paris.pptx
Txaruka
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
Txaruka
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
IES Turina/Rodrigo/Itaca/Palomeras
 
Calendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdfCalendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdf
frizzole
 
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
BenotGeorges3
 
Festival de Cannes 2024.pptx
Festival      de      Cannes     2024.pptxFestival      de      Cannes     2024.pptx
Festival de Cannes 2024.pptx
Txaruka
 
Contrôle fiscale en république de guinée
Contrôle fiscale en république de guinéeContrôle fiscale en république de guinée
Contrôle fiscale en république de guinée
bangalykaba146
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Formation
 

Dernier (14)

1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
 
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdfCours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
 
Méthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptxMéthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptx
 
Exame DELF - A2 Francês pout tout public
Exame DELF - A2  Francês pout tout publicExame DELF - A2  Francês pout tout public
Exame DELF - A2 Francês pout tout public
 
Bilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptxBilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptx
 
4 expositions à voir à Paris.pptx
4   expositions    à   voir   à Paris.pptx4   expositions    à   voir   à Paris.pptx
4 expositions à voir à Paris.pptx
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
 
Calendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdfCalendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdf
 
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
 
Festival de Cannes 2024.pptx
Festival      de      Cannes     2024.pptxFestival      de      Cannes     2024.pptx
Festival de Cannes 2024.pptx
 
Contrôle fiscale en république de guinée
Contrôle fiscale en république de guinéeContrôle fiscale en république de guinée
Contrôle fiscale en république de guinée
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
 

Ch1 _ les enregistrements.pdf

  • 1. Algorithmique & structures des données II 1ère Business Computing (BC) Responsable : Dr. Fadoua Bouafif 1 Dr. Fadoua.BOUAFIF
  • 2. Objectifs du cours Ce cours a pour objectif de prolonger les acquis du premier semestre dans l’élément algorithmique et programmation I, en introduisant de nouvelles structures de données linéaires et arborescentes avec différentes implémentations (contiguë et chainée).  Nous commençons tout d’abord par introduire la notion des types d’éléments abstraits, ainsi que le principe de la récursivité.  Ensuite, nous couvrons les structures de données linéaires : les listes, les files et les piles et leurs applications à travers l’évaluation des expressions arithmétiques.  Enfin, les structures de données arborescentes sont étudiées (arbres, graphes). 2
  • 3. Plan du cours Chapitre 1: Les enregistrements Chapitre 2: La récursivité Chapitre 3: Les variables dynamiques Chapitre 4: Les listes chainées Chapitre 5: Les piles et les files Chapitre 6: Les arbres 3
  • 5. Objectifs du chapitre 5 Dr. Fadoua.BOUAFIF A la fin du chapitre, les étudiants seront en mesure de: - Définir le type enregistrement en algorithmique et en langage C - Nommer les opérations sur les enregistrements - Déterminer le tableau d’enregistrement - Arranger les pointeurs et les enregistrements
  • 6. Plan du chapitre 1) Introduction 2) Définition 3) Déclaration 4) Manipulation des enregistrements 5) Tableaux et enregistrements 6) Pointeurs et enregistrements 7) Conclusion 6 Dr. Fadoua.BOUAFIF
  • 7. Introduction Les types utilisés, jusqu'à présent, sont :  des types simples, tels que:  réel,  entier,  caractère,  et le type structuré tableau qui permet de stocker plusieurs données de même type. Il est parfois nécessaire de définir un objet qui décrit plusieurs informations de types différents. Cet objet est alors définit à travers un type structuré appelé enregistrement ou structure. 7 Dr. Fadoua.BOUAFIF
  • 8. Définitions  Le type enregistrement (structure) est une structure de données qui rassemble un ensemble d'informations de types différents : simple, complexe ou même de type enregistrement, dans une même variable.  L'information qui compose cette structure est appelée champ ou attribut.  Un enregistrement (structure) est un ensemble d'attributs. Exemple: 8 Type Personne =Enregistrement nom : chaine [20] prénom : chaine [20] CIN: entier FinPersonne Dr. Fadoua.BOUAFIF Nom de l’enregistrement Les attributs/les champs
  • 9. Déclaration En Algorithmique 9 Dr. Fadoua.BOUAFIF Syntaxe Exemple Déclaration de l’enregistrement Type Nom_structure = Enregistrement Nom_champ1 : type_champ1 Nom_champ2 : type_champ2 ……. Nom_ champn : type_champ3 Fin_Nom_structure Type Personne=enregistrement nom : chaine [20] prenom : chaine [20] CIN : entier Fin_Personne Déclaration variables Var Nom_variable: Nom_structure Var: P1, P2: Personne
  • 10. Déclaration En langage C 10 Dr. Fadoua.BOUAFIF Syntaxe Exemple Déclaration de la structure Typedef Struct { Nom_champ1 : type_champ1; Nom_champ2 : type_champ2; ……. Nom_ champn : type_champ3; } NomStruct ; Typedef struct { char nom[20]; char prenom[20]; int CIN ; } Personne; Déclaration variables Nom_struct Nom_variable; Personne P1, P2;
  • 11. Remarques 11 Dr. Fadoua.BOUAFIF En algorithmique En Langage C La déclaration des types structures se fait dans une section spéciale des algorithmes appelée Type, qui précède la section des variables et succède à la section (clause) des constantes. La déclaration de la structure sera effectuée avant le programme principal Algorithme principal Type Personne=enregistrement nom : chaine [20] prenom : chaine [20] CIN : entier Fin_Personne Var: P1, P2: Personne Const: …. Debut ….. fin #include <studio.h> Typedef Struct { char nom[20]; char prenom[20]; int CIN; }Personne; /*N’oubliez pas ce point virgule*/ void main ( ) { Personne P1,P2; ……… }
  • 12. Remarque En langageC 12  Il est possible de déclarer et d’initialiser une variable structurée dans un seul et même temps :  Syntaxe Typedef Struct { type1 champ1 ; type2 champ2 ; type3 champ3 ; ..... typen champn ; } NomStructure; Nom_variable = {val_champ1, val_champ2,… }; Exemple Typedef Struct { char nom[20]; char prenom[20]; int CIN; } Personne; P1= {"med", " selmi", 12345678}; Dr. Fadoua.BOUAFIF
  • 13. Activité 1  Soit un produit est caractérisé par:  Référence (entier)  Désignation (chaine de caractère)  Quantité (entier)  Prix_Unitaire (réel) Ecrire la structure qui définie le produit en algorithmique et en langage C Dr. Fadoua.BOUAFIF 13
  • 14. Manipulation des enregistrements  Comme pour les tableaux, il n'est pas possible de manipuler un enregistrement globalement,  La manipulation d'un enregistrement se fait à travers de « ses champs ». Dr. Fadoua.BOUAFIF 14
  • 15. Accès aux champs d’un enregistrement 15 Syntaxe: nom_variable.nom_champ En algorithme EN C Type Personne=enregistrement nom : chaine [20] prenom : chaine [20] CIN : entier Fin_Personne var : P : Personne Typedef Struct { char nom[20]; char prenom[20]; int CIN; } Personne; Personne P; Exemple: P.Nom P.Prenom P.CIN
  • 16. 16  Il est possible d'affecter une variable enregistrement dans une autre, à condition qu'ils soient de même structure. Tous les champs de la première variable enregistrement à affecter seront recopiés dans les champs de l'autre variable enregistrement. Affectation P1= P2; Printf ("%s %d", P1.nom, p1.CIN);  BenSaleh ali 12345678 Dr. Fadoua.BOUAFIF En Algorithmique En C Nom_variable valeur Nom_variable = valeur Exemple Typedef Struct { char nom[20]; char prenom[20]; int CIN; } Personne; P1= {"BenSaleh","ali",12345678};
  • 17. 17 Lecture/Ecriture Dr. Fadoua.BOUAFIF En algorithme EN C Lire(Nomvariable.champ) Scanf(‘’code format’’,& Nom_variable .champ); ecrire(Nomvariable.champ) printf(‘’code format’’, Nom_variable .champ); Les opérations de lecture/écriture n'acceptent que des types simples, alors on ne peut pas lire/écrire directement une variable de type structure.  On doit lire/écrire les attributs/champs de la variable de type structure un à un Syntaxe
  • 18. 18 Lecture/Ecriture Dr. Fadoua.BOUAFIF Exemple En algorithme EN C Algorithme Affiche_Personne Type Personne=enregistrement nom : chaine [20] prenom : chaine [20] CIN : entier Fin_Personne var : P : Personne Debut Ecrire("Veuillez saisir le nom ,le prenom et le numero CIN") Lire(P.nom, P.Prenom, P.CIN) Ecrire("Nom:", P.nom, "Prenom:", P.Prenom, "CIN:", P.CIN) fin #include<stdio.h> Typedef Struct { char nom[20]; char prenom[20]; int CIN; } Personne; int main() { Personne P; printf("Veuillez saisir le nom, le prenom et le numero CIN"); scanf("%s%s%d",P.nom, P.Prenom, &P.CIN) printf(" le nom: %sn le prenom: %sn CIN:%dn", P.nom, P.Prenom, P.CIN) return 0; }
  • 19. 19  Egalité ou différence (== ou !=):  On ne peut pas tester l'égalité ou la différence de deux enregistrements de même type d'une façon globale.  La comparaison doit se faire champ par champ : le 1er champ du premier enregistrement est comparé au premier champ du second enregistrement et ainsi de suite.  Exemple: Type Personne=enregistrement nom : chaine [20] prenom : chaine [20] CIN : entier Fin_Personne var: P1,P2: Personne Remarques P1=P2  écriture fausse En algorithme P1.nom =P2.nom P1.CIN =P2.CIN En C Strcmp(P1.nom, P2.nom) P1.CIN =P2.CIN  écriture correcte  écriture correcte Dr. Fadoua.BOUAFIF
  • 20. 20  Pour la manipulation des attributs de type chaîne de caractères, les fonctions prédéfinies de manipulation des chaînes sont utilisées. Exemple: Typedef Struct { char nom [20]; char prenom [20]; int CIN; } Personne; P1= {"BenSaleh","ali",12345678}; Attention!! En langage C Personne P2; Strcpy(P2.prenom, "alia"); // affectation du nom « alia » à P2.prenom P2.CIN =12345679; // affectation CIN à P2.CIN Strcmp(P1.prenom, P2.prenom); // Comparaison de deux chaines Dr. Fadoua.BOUAFIF
  • 21. Activité 2  Soit un étudiant est définie par son nom, son prénom et sa date de naissance(jour/mois/année) et son moyenne  Définir la structure étudiant  Ecrire un programme qui permet de saisir et d’afficher les informations d’un étudiant  Solution Dr. Fadoua.BOUAFIF 21
  • 22. 22 En Algorithme En C Type Nom_structure = Enregistrement Nom_champ1 : type_champ1 Nom_champ2 : type_champ2 ……. Nom_ champn : type_champ3 Fin_Nom_structure Type Tab : tableau [0…N-1] de Nom_Structure Var : T : Tab Typedef Struct { Nom_champ1 : type_champ1; Nom_champ2 : type_champ2; ……. Nom_ champn : type_champ3; } NomStruct ; Typedef NomStruct T[N]; Tableau & enregistrement Syntaxe Dr. Fadoua.BOUAFIF
  • 23. Groupe G; G [0] G[1] ……… G [1].CIN ‘Sassi’ ‘med’ 22234 ‘saleh’ ‘afef’ 11145 … 23 Tableau & enregistrement Exemple En algorithme En C Type Personne=enregistrement nom : chaine [20] prenom : chaine [20] CIN : entier Fin_Personne Type Groupe : tableau [0…9] de Personne Var : G : Groupe Typedef Struct { char nom[20]; char prenom[20]; int CIN; } Personne; Typedef Personne Groupe[10]; Groupe G; G [0].nom Dr. Fadoua.BOUAFIF
  • 24. 24  Soit un étudiant est définie par son nom, son prénom et 4 notes.  Définir la structure étudiant  Ecrire un algorithme qui permet de saisir une liste de 30 étudiants Activité 3 Dr. Fadoua.BOUAFIF
  • 25. 25  Soit un étudiant est définie par son nom, son prénom et 4 notes.  Définir la structure étudiant  Ecrire un algorithme qui permet de saisir une liste de 30 étudiants Activité 3 Dr. Fadoua.BOUAFIF
  • 26. Pointeurs & enregistrements Syntaxes ASD II 26 En Algorithme En C Type Nom_structure = Enregistrement Nom_champ1 : type_champ1 Nom_champ2 : type_champ2 ……. Nom_ champn : type_champ3 Fin_Nom_structure Var: pt_structure: ↑ Nom_Structure Typedef Struct { Nom_champ1 : type_champ1; Nom_champ2 : type_champ2; ……. Nom_ champn : type_champ3; } NomStruct ; NomStruct *pt_structure;
  • 27. Pointeurs & enregistrements Syntaxes (suite) ASD II 27 En Algorithme En C Déclaration structure Déclaration variable Accès aux champs Type Nom_structure = Enregistrement Nom_champ1 : type_champ1 Nom_champ2 : type_champ2 ……. Nom_ champn : type_champ3 Fin_Nom_structure Var: pt_structure: Nom_Structure pt_structure.Nom_champ Typedef Struct { Nom_champ1 : type_champ1; Nom_champ2 : type_champ2; ……. Nom_ champn : type_champ3; } NomStruct ; NomStruct *pt_structure; (*pt_structure). Nom_champ; ou pt_structureNom_champ; Pour accéder à un champ de la structure avec une variable pointeur, nous utilisons:  En algorithme l’opérateur (.)  En C l’operateur «  » ou l’opérateur (.)
  • 28. Pointeurs & enregistrements Exemple ASD II 28 En algorithme En C Algorithme Exemple_Personne #include<stdio.h> Début pt  P (*pt).CIN 205004 lire ( (*pt).nom) écrire ((*pt).CIN) Fin var : P : Personne pt : Personne Type Personne=enregistrement nom : chaine [20] prenom : chaine [20] CIN : entier Fin_Personne Typedef Struct { char nom[20]; char prenom[20]; int CIN; } Personne; int main () { Personne P ; // déclaration variable enregistrement Personne*pt ; // déclaration d’un pointeur de type enregistrement pt=&P; // pt pointe sur l’adresse de P (*pt).CIN=205004 ; // ou P.CIN =205004 scanf("%s", (ptnom) ); //ou scanf("%s", ((*pt).nom)); //ou scanf("%s", (P.nom)); printf(" Num_CarteId=%d", (*pt).CIN); // ou pt -> CIN ; ou P .CIN ; return 0; }
  • 29. 29  Ecrire un sous-programme qui permet d’afficher la liste des étudiants de l’activité 3 en utilisant les pointeurs Activité 3 Dr. Fadoua.BOUAFIF
  • 30. 30  Dans ce cours nous avons :  Défini le type enregistrement (structure)  Détaillé les manipulations sur les enregistrements  Présenté le tableau d’enregistrement  Présenté l’utilisation des pointeurs sur les enregistrements Conclusion Dr. Fadoua.BOUAFIF