REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION - Cours Algor
REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION - Cours Algorithmique & Programmation 4ème Science informatique Exercices et sujets bac corrigés Prof : Mr. Chraiet Khaled 1 2012‐2013 EdiƟon 0.1 A tous les lecteurs : afin de réussir ce travail n’hésitez pas de me signaler tout type d’erreurs ou de fautes. e-mail : khaledchraiet@yahoo.fr Les enregistrements et les fichiers 2 Chap I Les enregistrements & les fichiers Les enregistrements et les fichiers Objectifs : Définir la structure enregistrement. Définir les fichiers et les modes d’accès Mettre à profit les structures enregistrement et fichiers pour résoudre des problèmes. A‐ Les enregistrements I‐ Introduction : Activité 1: Un établissement scolaire utilise une application informatique pour saisir, manipuler, et mémoriser les informations concernant ses élèves (exemple des informations). Numéro Nom Prénom sexe moyenne 1000 cherni Sihem F 14.25 1001 Barhoumi Mourad M 12.75 1030 Dziri Fahmi M 16.50 Question : Afin d’écrire ce programme proposer une structure de donnée adéquate a ce problème. Réponse : 1‐ Utiliser des variables simples : Num : pour numéro Nom : pour nom Moy : pour la moyenne Cette proposition valable peut être que pour un seul élève. 2‐ Utiliser les tableaux : on propose un tableau pour chaque colonne ( ou champs) ‐ Un tableau pour les Numéros NU 1000 1001 …. …. 1030 Cherni Barhoumi …. …. Dziri ‐ Un tableau pour les noms ‐ Un tableau pour les prénoms Un tableau pour les moyennes Cette proposition à plusieurs anomalies : d’abord elle nécessité beaucoup d’espace mémoire qui est le plus couteux. De plus a chaque modification dans un tableau doit être suivit obligatoirement par modification de tous les tableaux pour assurer la cohérence des informations de chaque élève. 3‐ Utiliser une nouvelle structure : pour rendre le traitement plus facile on doit grouper toutes les informations concernant un élève dans une seule structure (qui est impossible pour un tableau) cette nouvelle structure s’appelle Enregistrement ou Article( en Pascal s’appelle Record). 3 Chap I Les enregistrements & les fichiers On la représente comme suite : Num (Entier) Nom (Chaine) Prénom (Chaine) Sexe (caractère) Moy (Réel) Une seule entité qui s’appelle enregistrement : E On désigne par : E.Num : un champ qui représente le Numéro E.Nom : un champ qui représente le Nom E.Prenom : un champ qui représente le prénom E.Moy : un champ qui représente la moyenne En général : Champ 1 (type 1) Champ 2 (type 2) Champ 3 (type 3) Champ 4 (type 4) Champ 5 (type 5) Une seule entité d’une variable enregistrement 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, nous devons créer un nouveau TYPE qui permet de les regrouper. II- Définition et déclaration: Un enregistrement ou Article (record) est un type de donnée structuré défini par l'utilisateur qui permet de regrouper un nombre fini des données (champs) de différents types (alphabétique, numérique, logique,...) sous un nom commun. Contrairement aux tableaux qui ne permettent de grouper que des éléments du même type, les enregistrements nous permettent de combiner différents types de données. Déclaration d’une structure enregistrement : T.D.N.T Type Nom_type = Enregistrement Champ 1 : Type 1 Champ 2 : Type 2 Champ 3 : Type n Fin Nom_type T.D.O Objet Type/Nature Rôle Nom_var Nom_type Enregistrement pour ….. 4 Chap I Les enregistrements & les fichiers En Pascal Type Nom_type = Record Champ1 : type1 ; Champ2 : type2 ; Champn : type n ; End ; Var Nom_var : Nom_type ; N.B : Les types (type1, type2,…, type n) peuvent être soit prédéfinit (entier, réel, booléenne…), soit définis par l’utilisateur (tableau, semaine,…) Applications : Proposer une structure de données adéquate pour chaque objet : 1. Chaque étudiant doit présenter les informations suivantes : CIN (entier), Nom et prénom (chaine de longueur max 35 cc), date de naissance (sou la forme jj/mois/aaaa), sexe (M/F), Discipline (chaine), nom de l’établissement (chaine). 2. Chaque voiture a vendre doit possède les informations suivantes : Matricule (chaine), Marque (chaine), Modèle (chaine), année de modèle, km parcouru, (prix de vente). 3. Chaque médicament dans une pharmacie doit avoir les informations suivantes : Référence, nom commercial, date de fabrication, durée de validité, et le prix. III‐ Tableau (Vecteur) d’enregistrement AcƟvité 2 : Même acƟvité 1 mais dans le cas ou il y a plusieurs élève (n). Réponse Dans le cas ou il ya plusieurs élèves on peut utiliser les tableaux. Chaque case du tableau comporte un enregistrement. On appelle donc ce tableau, tableau d’enregistrement. Pour n élèves Num Nom Prénom Sexe Moy Num Nom Prénom Sexe Moy …… Num Nom Prénom Sexe Moy 1 2 n Pour accéder aux informaƟons de l’élève N° 2 on écrit : T [ 2 ] . Num : pour accéder au Numéro T [ 2 ] . Nom : pour accéder au nom T [ 2 ] . Moy : pour accéder au moyenne 5 Chap I Les enregistrements & les fichiers Déclaration : T.D.N.T Type Fiche = Enregistrement Num : entier Nom : chaine Prénom : chaine Sexe : caractère Moy : réel Fin fiche Tab = Tableau [1 .. 50 ] de Fiche IV‐ Utilisation des enregistrements: Rappel sur l’utilisation d’une variable simple Pour une variables simple on peut faire les action suivantes : T.D.O Objet Type/Nature Rôle EEL T Fiche Tab Enregistrement pour définir un élève Tableau de 50 enregistrements d’élèves ‐ La lecture (lire (var)) ‐ L’écriture (écrire (var)) ‐ L’affectation ( var valeur ) Même chose pour un enregistrement on peut faire la lecture l’affectation et l’écriture mais autrement a) La lecture d’un enregistrement : Puisque l’enregistrement est composé par plusieurs champs la lecture ce faire champs par champs Exemple : pour faire la lecture de l’enregistrement EEL Ou on peut écrire : Et en Pascal : Lire ( EEL. Num) AVEC EEL Faire With EEL DO Lire ( EEL . Nom) begin Lire ( Num ) Lire ( EEL.Prenom) readln ( Num ) ; Lire ( Nom ) Lire ( EEL .sexe ) readln ( Nom ) ; Lire ( Prenom ) Lire ( EEL . Moy ) readln ( Prenom ); Lire ( Sexe ) Lire ( Moy ) Fin avec readln( Sexe ); readln ( Moy ) ; end ; syntaxe Au niveau de l’analyse Au niveau de l’algorithme Au niveau du pascal Venrg.champ = Donnée Lire (venrg.champ) Readln( venrg.champ) La structure : Avec… Faire An niveau de l’analyse et de l’algorithme An niveau du Pascal Avec venrg Faire Ensemble d’actions Fin Avec With venrg Do Begin Ensemble d’actions End; 6 Chap I Les enregistrements & les fichiers b) L’écriture ou l’affichage : Même que la lecture on affiche le contenu d’un enregistrement champ par champ. Exemple : pour faire l’affichage de l’enregistrement EEL. On écrit Ecrire ( EEL. Num) Ecrire ( EEL . Nom) Ecrire ( EEL.Prenom) Ecrire ( EEL .sexe ) Ecrire ( EEL . Moy ) Ou on peut écrire : AVEC EEL Faire Ecrire ( Num ) Ecrire ( Nom ) Ecrire ( Prenom ) Ecrire ( Sexe ) Et en Pascal on écrit : With EEL DO begin writeln ( Num ) ; writeln ( Nom ) ; Ecrire ( Moy ) Fin avec writeln ( Prenom ); writeln( Sexe ); writeln ( Moy ) ; end ; Syntaxe : Au niveau de l’analyse et l’algforithme Au niveau du Pascal Ecrire (venrg.champ) Writeln (venrg.champ) c) L’affectation 1. on peut affecter une valeur a un champ de l’enregistrement Exemple : EEL. Num 1000 EEL . Nom ‘Barhoumi’ EEL.Prenom) ‘Mourad’ EEL .sexe ‘M’ EEL . Moy 15.25 Avec EEL faire Num 1000 Nom ‘Barhoumi’ Prenom ‘Mourad’ sexe ‘M’ Moy 15.25 Fin avec 2. on peut aussi affecter un enregistrement E2 a un enregistrement E1. Si les deux de même type (c.a.d qui ont le même nombre de champs et de même rang de type). On ecrit donc : E1 E2 Chaque champ de E1 va recevoir son homologue de E2. Exemple : Soit E1, E2 de type Fiche. On peut écrire : E1 E2 c.a.d E1.Num E2.Num ; E1.Nom E2.Nom, …, et E1.moy E2.moy 7 Chap I Les enregistrements & les fichiers Application : Dans un établissement scolaire, un élève est identifié par : son matricule (entier), son nom et prénom (chaine) et sa moyenne (réel). On se propose d’écrire un programme modulaire permettant de saisir les informations de N élèves (N<=50) et d’afficher la liste des élèves classé par moyenne (dans l’ordre décroissant). B‐ Les fichiers I‐ Introduction : Notons que les constantes, les variables simples, les tableaux et même les enregistrements perdre leurs contenus dé qu’on ferme le programme en cours d’exécution et sur tout lorsque en éteindre l’ordinateur puisque ils font partie de la mémoire centrale (RAM). Or dans le plus part des cas on uploads/Ingenierie_Lourd/ cours-algorithmique-et-programmation.pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/dQx5G5R8R59melMPS6iPF3gtdINH72Yfu5B5Y0mKElGMXpecIdSxjK1S7LTUfq60txJ2ybtPun4g56AF9SJ2koP2.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ao8hLJK2ow6s52kEPHxrxsRDuFLlr6y95bxeUPmuUvHmOArAmcNfS8amseMZFjHGYJMmIwHFvY9yX4cvw06zVbhU.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/s35kQj9iVgMu1y5wiTZWBkvS4tSdNPU27ob5hpLw9j47X78SrHuIkoSaUSsEMdIA4PNoLj7WcHeWrVvp3IhGQ0N8.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/utbWh9VHTOE8NgHUT3naOOG4ViTUujgkJo2is2474y1PlZo8cjg96BX85mlrA5EgfQAf52mTo9NrfM5xwOtoONT9.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/YibJFnYomV33yhQPI0D8Tkyqg0pBSm4DHk3ADzxiNFn6PxIxBkf8XS0Oq3DxSY3HD9ZuIgiuTK9NJEQRmtWnGeDt.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/saVsv9EBs5kbhngyU0j4NMyBTvu3wr0UnIFmYf9AhB9F4fRi4yiuaK60vTJNxdLDKcaavKKtXl6fbz5DzxKkiBLr.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ULt9mrSyyz6Xhbwsy3BHBlhnu5oNH490UTM0DQlIhjacpn6Z5dZFCNQz77V87FtmZEr2MclGdibd7WYINiLngZiU.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/Bj4kIi1OaUX4npx53UA9NCY2c39K85IO56Bnt2NkIxxr2uboMlvdw5IOBzSPxSm600RGaLTbCIT2p1xRAV8cLLnn.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/1vjnsq5BlpkoGeWCxrckk8qKVJqEA00vq5NqBpS53BWKjUPu6n7YSitFl53NhqTzuJr1ROFB0emjvRoC3c4ud7Dn.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/kHLM0f1Fv2pmsVA2yJZPqcgMtpgxg0OZoZAZ4yNS3Aj9lPWSROIHqB0dI29ZODFbxNTn2fBIAQ6fgI2nYgtNfxgJ.png)
-
19
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 10, 2021
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 3.5942MB