• Partagez
  • E-mail
  • Intégrer
  • J'aime
  • Télécharger
  • Contenu privé
Les enregistrements
 

Les enregistrements

on

  • 4,904 vues

 

Statistiques

Vues

Total des vues
4,904
Vues sur SlideShare
4,904
Vues externes
0

Actions

J'aime
5
Téléchargements
365
Commentaires
1

0 Ajouts 0

No embeds

Accessibilité

Catégories

Détails de l'import

Uploaded via as Adobe PDF

Droits d'utilisation

© Tous droits réservés

Report content

Signalé comme inapproprié Signaler comme inapproprié
Signaler comme inapproprié

Indiquez la raison pour laquelle vous avez signalé cette présentation comme n'étant pas appropriée.

Annuler

11 sur 1 précédent suivant

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Votre message apparaîtra ici
    Processing...
  • exélent
    Are you sure you want to
    Votre message apparaîtra ici
    Processing...
Poster un commentaire
Modifier votre commentaire

    Les enregistrements Les enregistrements Document Transcript

    • ALGO & PROGRAMMATION © Enseignant : Mohamed SAYARI Chapitre1: LES ENREGISTREMENTS ET LES FICHIERS (LES ENREGISTREMENTS)RappelQ: quels sont les types de données en 3ème année ?R: les types de données standards: les types numériques, le type booléen, le type caractère et chaîne decaractères. Les types utilisateurs: les types énumérés, les types intervalles, les tableaux à une dimension et les tableaux à deux dimensions (matrices)Q: par quoi est caractérisé un tableau ?R: nom, taille et typeI. INTRODUCTIONActivité 1:Un établissement scolaire organise les informations concernant ses classes dans une liste identique à lasuivante: NUM CODE NOM et PRENOM Observation Moyen 1 G911 GUIZANI Zied Passable 11.25 2 T825 BEN DAHOU Rania Faible 9.33 … .. … … … … …. … … 30 S932 Fitouri Rochdi Passable 10.21On désire écrire un programme permettant la saisie et le traitement de ces listes sachant que chaque classecomporte au maximum 40 élèves.TAF a) Donner la structure de données nécessaire pour les objets à utiliser. b) Donner une déclaration algorithmique de ces objets.Réponsesa) Objet Type NUM Numérique (entier) CODE Alphanumérique Nom Alphabétique Observation Alphabétique Moyen Numérique (Réel) Nous remarquons que la liste comporte des informations numériques, alphabétique et alphanumériquesb) Objet Type/Nature Rôle NUM Tableau de 40 entiers Tableau des numéros des élèves CODE Tableau de 40 chaînes Tableau des codes NOM Tableau de 40 chaînes Tableau des noms et prénoms OBSERVATION Tableau de 40 chaînes Tableau des Observations MOYEN Tableau de 40 réels Tableau des moyens4ème SI LES ENREGISTREMENTS & FICHIERS PAGE 1
    • ALGO & PROGRAMMATION © Enseignant : Mohamed SAYARIQ: Est-t-il possible de regrouper ces variables au sein dun même tableau ?R: Non, car un tableau ne peut contenir que des éléments de même type. On remarque que les variables simples ou les tableaux ne permettent pas de ranger des données de typesdifférents. Pour résoudre le problème, on dois créer un nouveau TYPE qui permet de regrouper des données de typesdifférents. Nous allons utiliser un nouvelles structure appelée ENREGISTREMENT ou ARTICLE(RECORD en PASCAL) pour réaliser cette tâche.II. DEFINITION ET DECLARATIONSa) DéfinitionUn enregistrement est un type de données défini par lutilisateur et qui permet de regrouper un nombre finidéléments (ou champs) de types éventuellement différents.Schéma de la structure: Champ1 Champ2 Champ3 Champ4 Champ5 Type1 Type2 Type3 Type4 Type5 Une seule entité dune variable enregistrementb) Déclaration En algorithmique En PASCAL TDNT TYPE TYPE Nom_type= Enregistrement Nom_type = RECORD Champ1 : type1 Champ1: type1; Champ2 : type2 Champ2: type2; …………………. …………………. ; Champn : typen Champn: typen; Fin Nom_type END; TDO Objet Type/Nature Rôle VAR Identificateur_objet : Nom_type; Enregistrement Identificateur_objet Nom_type pour……Remarque: les types (type1, type2, …, type n) peuvent être soit standards, soit définis par lutilisateur.4ème SI LES ENREGISTREMENTS & FICHIERS PAGE 2
    • ALGO & PROGRAMMATION © Enseignant : Mohamed SAYARIc) Activité2Déclarer en algorithmique et en PASCAL une variable enregistrement représentant un élève sachant quunélève est caractérisé par un nom, un code, un nom et prénom, un moyen et une observation.Réponse En Algorithmique En PASCAL TDNT TYPE TYPE ELEVE = RECORD ELEVE= Enregistrement NUM: integer; NUM : Entier CODE: string [4]; CODE : Chaîne [4] NOM: string; Nom : Chaîne OBSERVATION: string ; OBSERVATION: Chaîne MOYEN: Real; Moyen : Réel END; FIN ELEVE TDO Objet Type/Nature Rôle VAR ELV ELEVE Variable enregistrement ELV: ELEVE ; représentant un élèved) Activité3Déclarer en algorithmique et en PASCAL une variable enregistrement appelé DATE qui comporte:  Le numéro de jour (jj) en utilisant le type JOURS qui est un nouveau type défini par lutilisateur qui énumère les numéros des jours dun mois de 1 à 31.  Le mois (mm) en utilisant le type MOIS qui est un nouveau type défini par lutilisateur et qui énumère les 12 mois de lannée (Janvier, février, mars, .., décembre)  Lannée (aa) qui est un entier EN ALGORITHMIQUE EN PASCAL TDNT TYPE TYPE JOURS : 1..31 JOURS: 1..31; MOIS = (Janvier, février, mars, avril, mai, juin, MOIS = (Janvier, février, mars, avril, mai, juin, juillet, août, septembre, octobre, novembre, juillet, août, septembre, octobre, novembre, décembre) décembre); DATE = ENREGISTREMENT DATE = RECORD jj: jours jj: jours ; mm: mois mm : mois ; aa: entier aa : integer; FIN DATE END; TDO Objet Type/Nature Rôle VAR calendier DATE Variable enregistrement représentant une date Calendrier: DATE ;III.UTILISATION DES ENREGISTREMENTS o Si on veut schématiser une variable V de type simple, on peut la représenter par un carré V  o Si on veut schématiser une variable T de type tableau, on peut la représenter par un tableau T  o Si on veut schématiser une variable E de type enregistrement, on peut la représenter par:4ème SI LES ENREGISTREMENTS & FICHIERS PAGE 3
    • ALGO & PROGRAMMATION © Enseignant : Mohamed SAYARI Champ1  E Champ2  ……….. Champ n III.1 Affectation  Pour affecter une valeur à une variable de type: V  5  Pour affecter une valeur à une case i dun tableau T : T[i]  5  Pour affecter des valeurs aux différents champs dune variable enregistrement: En Algorithmique EN PASCAL Variable.champ  valeur Variable.champ := valeur ;Activité 4Reprenons lenregistrement ELEVE, affectez respectivement les valeurs suivantes: 1, "G911", "Guizani Zied", 11.25, "Passable" En Algorithmique En PASCAL Emp.num  1 Emp.num := 1; Emp.code  "G911" Emp.code := G911; Emp.nom  "Guizani Zied" Emp.nom := Guizani Zied; Emp.moyen  11,25 Emp.moyen := 11.25; Emp.observation  "Passable" Emp.observation := Passable;Remarques :  Il est possible daffecter une variable enregistrement dans une autre à condition quelles aient la même structure Exemple: Var e1, e2: eleve; e1:= e2; (ou bien e2:=e1;)  tous les champs de la variable enregistrement à affecter seront recopiés dans les champs de lautre.  Un champ a exactement les mêmes propriétés quune variable du même type.  Le champ dune variable enregistrement peut être lui-même un enregistrement.III.2 Lecture  Pour lire le contenu dune variable V de type simple  Lire (v)  Pour lire le contenu dun tableau T,on utilise une boucle pour lire chaque élément du tableau  Lire(T[i])  Pour lire le contenu dune variable de type enregistrement: En Analyse En Algorithme En PASCAL Variable.champ = Donnée Lire (variable.champ) Readln (variable.champ) Exemple: En Analyse En Algorithme En PASCAL Emp.Num = Donnée ("NUM=") Ecrire ("NUM=") Write (NUM=); Lire (Emp.Num) Readln (Emp.Num);III.3 Ecriture Lécriture des valeurs de différents champs dune variable enregistrement se fait: En Analyse et Algorithme En PASCAL Ecrire (variable.champ) Write (variable.champ)4ème SI LES ENREGISTREMENTS & FICHIERS PAGE 4
    • ALGO & PROGRAMMATION © Enseignant : Mohamed SAYARI Exemple: En Analyse et en Algorithme En PASCAL Ecrire ("NUM=", ELV.NUM) write (NUM=, ELV.NUM); Ecrire ("CODE=", ELV.CODE) write (CODE=, ELV.CODE); Ecrire ("NOM ET PRENOM=", ELV.NOM) write (NOM ET PRENOM=, ELV.NOM); Ecrire ("MOYEN=", ELV.MOYEN) write (MOYEN=, ELV.MOYEN); Ecrire ("OBSERVATION=", ELV.OBSERVATION) write (OBSERVATION=, ELV.OBSERVATION); III.4 Structure AVEC .. FAIRE (With .. Do)Cette structure est utilisée pour éviter lutilisation répétée des champs et de la notation avec le point(variable.champ) et pour simplifier lécriture.Cette structure sutilise avec une opération daffectation, de lecture et décriture.Syntaxe Au niveau de l’analyse et l’algorithme En PASCAL AVEC variable FAIRE WITH variable DO {actions à faire} BEGIN FIN AVEC {actions à faire ;} END ;Activité 5Réécrire les actions suivantes avec le structure AVEC .. FAIRE Elv.NUM  30 AVEC ELV FAIRE Elv.CODE  "S932" NUM  30 Elv.NOM  "Fitouri Rochdi" CODE  "S932" Affectation Elv.MOYEN  10.21 NOM  "FIROURI Rochdi" Elv.OBSERVATION  "PASSABLE" MOYEN  10.21 OBSERVATION  "PASSABLE" Lecture Ecrire ("NUM =") Ecrire ("NUM= ") Lire (ELV.NUM) Lire (NUM) Ecriture Ecrire ("MOYEN= ", Elv.MOYEN) Ecrire ("MOYEN=", Elv.MOYEN) FIN AVECActivité 6 (Activité 8 page 19) III.5 Vecteur d’enregistrementsActivité 7Reprenons l’activité 4 concernant une fiche d’un élève contenant son numéro, son code, son nom et prénom,son moyen et son observation.Nous désirons utiliser cet enregistrement pour tous les employés de la société.Question : est ce qu’on peut utiliser un tableau d’enregistrements ?Réponse : oui, car un vecteur ne peut contenir que des éléments de même type y compris le typeenregistrement. 4ème SI LES ENREGISTREMENTS & FICHIERS PAGE 5
    • ALGO & PROGRAMMATION © Enseignant : Mohamed SAYARIActivité 7On se propose d’écrire un programme modulaire qui permet de saisir N élèves (5≤ N ≤40), dans un tableau T,affiche le moyen de la classe et le pourcentage de réussite.Un élève est caractérisé par un numéro, un code (chaîne de 4 caractères au maximum), un nom et prénom, unmoyen et une observation (10 caractères au maximum).Analyse du programme principal :Résultat= Ecrire (″le pourcentage de réussite est : ″, FN pourcentage(t,n))Ecrire (″le moyen de la classe est : ″, FN calcul (T, n))T= proc remplir (T, n)N= proc saisir (n) TDNT TYPE ELEVE= Enregistrement NUM : Entier CODE : Chaîne Nom : Chaîne observation: Chaîne Moyen : Réel FIN ELEVE TAB = Tableau de 100 ELEVE TDO Objet Type /Nature Rôle T TAB Tableau d’enregistrements pour les fiches des employés4ème SI LES ENREGISTREMENTS & FICHIERS PAGE 6