4INFINFRC0001 Page 1 LES ENREGISTREMENTS I/ Définition : Un enregistrement est
4INFINFRC0001 Page 1 LES ENREGISTREMENTS I/ Définition : Un enregistrement est un type de données défini par l'utilisateur et qui permet de II/ Déclaration : Déclaration d’une structure enregistrement En algorithmique : Puisque l'enregistrement est un nouveau type, on commence par sa déclaration : Tableau de déclaration des nouveaux types Type Nom_type = Enregistrement champ 1 : Type 1 - - - - champ n : Type n Fin Nom_Type Puis la déclaration des objets (variables) utilisant ce type Tableau de déclaration des objets Objet Type / Nature Rôle identificateur_objet Nom_type Enregistrement pour … En Pascal : TYPE Nom_type = Record champ_1 : type_1 ; - - - - champ_n : type_n ; End; VAR identificateur_objet : Nom_type ; III/ Utilisation grouper un nombre fini d'éléments (ou champs) de types éventuellement différents. CHAPITRE 1 Dhouihri Alaa http://www.najah.com 4INFINFRC0001 Page 2 Utilisation pour une action d'affectation L'affectation de valeurs aux différents champs d'une variable de type enregistrement se fait par une opération de type : En algorithmique En Pascal variable.champ ← valeur variable.champ := valeur ; Exemple : En algorithmique : Tableau de déclaration des nouveaux types : Type Fiche = enregistrement nom, prénom : Chaîne sexe : Caractère numéro : Entier non signé moyenne : Réel num_cin : Entier long Fin Fiche Tableau de déclaration des objets : Objet Type / Nature Rôle élève Fiche Enregistrement pour une fiche d'un étudiant Affectation de valeurs à cette variable : élève.nom ← "Swidi" élève.prénom ← "Basma" élève.sexe ← "F" élève.numéro ← 18 élève.moyenne ← 13.25 élève.num_cin ← 12345678 En Pascal : Le type enregistrement. TYPE Fiche = Record nom, prenom : String ; sexe : Char ; http://www.najah.com 4INFINFRC0001 Page 3 numero : Byte ; moyenne : Real ; num_cin : LongInt ; End ; Déclaration de la variable élève : VAR eleve : Fiche ; Affectation des valeurs à cette variable : eleve.nom := 'Swidi' ; eleve.prenom := 'Basma' ; eleve.sexe := 'F' ; eleve.numero := 18 ; eleve.moyenne := 13.25 ; eleve.num_cin := 12345678 ; Utilisation pour une action de lecture Au niveau de l'analyse Au niveau de l'algorithme Au niveau du Pascal variable.champ = Donnée Lire (variable.champ) ReadLn (variable.champ); Exemple : Au niveau de l'analyse : élève.nom = Donnée ("Entrer le nom de l'élève : ") Au niveau de l'algorithme : Ecrire ("Entrer le nom de l'élève : ") ; Lire (élève.nom) Au niveau du Pascal : Write ('Entrer le nom de l''élève : ') ; ReadLn (eleve.nom) ; Utilisation pour une action d'écriture Au niveau de l'analyse et de l'algorithme Au niveau du Pascal Ecrire (variable.champ) Write (variable.champ); Exemple : http://www.najah.com 4INFINFRC0001 Page 4 Au niveau de l'analyse et de l'algorithme : Ecrire ("Nom : ", élève.nom) Au niveau du Pascal : WriteLn ('Nom : ', eleve.nom) ; Structure Avec .. Faire Pour simplifier l'écriture et éviter l'utilisation répétée des champs et de la notation avec le point (variable.champ), on peut utiliser l'instruction Avec .. Faire (With .. Do). Cette structure s'utilise aussi bien avec une opération d'affectation, de lecture ou d'écriture. Syntaxe : Au niveau de l'analyse et de l'algorithme Au niveau du Pascal Avec variable Faire {ensemble d'actions} Fin Avec With variable Do Begin {ensemble d'actions} End; Au Niveau de l'algorithme : Avec élève Faire {Affectation} nom ← "Swidi" {Lecture} Ecrire ("Entrer le sexe de l'étudiant : ") ; Lire (sexe) {Ecriture} Ecrire ("Moyenne : ", moyenne) Fin Avec Au Niveau du Pascal : With etudiant Do Begin nom := 'Swidi' ; Write ('Entrer le sexe de l''élève : ') ; ReadLn (sexe) ; WriteLn ('Moyenne : ', moyenne) ; End; http://www.najah.com 4INFINFRC0001 Page 5 Vecteur d'enregistrements Un tableau ne peut grouper ou contenir que des éléments de même type, et puisque les éléments d'un enregistrement sont de même type qui est celui de l'enregistrement, donc on peut utiliser un tableau ou un vecteur d'enregistrements. Exemple : Tableau de déclaration des nouveaux types : Déclaration de la variable T utilisant les enregistrements des élèves : Tableau de déclaration des objets : Objet Type / Nature Rôle T Tab Tableau d'enregistrements pour les fiches des élèves Activité Un médecin enregistre sur ordinateur les fiches de ses Patients. Une fiche a la la structure suivante : - un nom (chaîne de 30 caractères maximum) - un numéro (entier) - un numéro de téléphone (10 caractères maximum) - un code d'assurance (entier non signé). 1/ Ecrire les analyses, les algorithmes des différents modules d'un programme nommé Fiche, qui permet la saisie et l'affichage de l'enregistrement d'un Patient. 2/ Traduire ce programme en Pascal 1/ Analyses et algorithmes : Analyse du programme principal Résultat : Affichage d'une fiche - Traitement : - Une fiche peut être représentée par une structure d'enregistrement comportant 4 champs (le nom, le numéro, le numéro de téléphone et le code d'assurance). - L'affichage des différents champs sera la tâche de la procédure Afficher. Type Fiches = Enregistrement nom, prénom : Chaîne sexe : Caractère numéro : Entier non signé moyenne : Réel num_cin : Entier long Fin Fiches Tab = Tableau de 30 Fiches {tableau d'enregistrements fiches} http://www.najah.com 4INFINFRC0001 Page 6 - La saisie des différents champs se fera par la procédure Saisir. Fin Analyse Algorithme du programme principal 0) Début Fiche 1) Saisir (Patient) 2) Afficher (Patient) 3) Fin Fiche Tableau de déclaration des nouveaux types Type Personne = Enregistrement nom : Chaîne de 30 caractères numéro : Entier tel : Chaîne de 10 caractères code : Entier non signé Fin Personne Tableau de déclaration des objets globaux : Nom Type / Nature Rôle Patient Saisir Afficher Personne Procédure Procédure Enregistrement pour une fiche personne Saisie des champs Affichage des champs Analyse de la procédure saisir Résultat : Saisir les champs Traitement : La saisie des différents champs de l'enregistrement se fera par des opérations de lecture avec l'utilisation de la structure Avec .. Faire, sur la variable Patient. Patient : représente la variable de l'enregistrement. Fin Analyse Algorithme de la procédure Saisir 0) Procédure Saisir (VAR Patient : Personne) 1) Avec Patient Faire Ecrire ("Entrer le nom de la personne : ") ; Lire (nom) Ecrire ("Entrer son numéro : ") ; Lire (numéro) Ecrire ("Entrer son numéro de téléphone : ") ; Lire (tel) Ecrire ("Entrer le code d'assurance : ") ; Lire (code) http://www.najah.com 4INFINFRC0001 Page 7 Fin Avec 2) Fin Saisir Analyse de la procédure Afficher Résultat : Afficher les champs Traitement : L'affichage des différents champs de l'enregistrement se fera par des opérations d'écriture avec l'utilisation de la structure Avec .. Faire, sur la variable Patient. Fin Analyse. Algorithme de la procédure Afficher 0) Procédure Afficher (Patient : Personne) 1) Avec Patient Faire Ecrire ("Nom : ", nom) Ecrire ("numéro : ", numéro) Ecrire ("Numéro de téléphone : ", tel) Ecrire ("Code assurance : ", code) Fin Avec 2) Fin Afficher 2/ Traduction en Pascal PROGRAM Fiche ; USES Crt ; TYPE Personne = Record nom : String [30] ; numero : Integer ; tel : String [10] ; code : Word ; End ; VAR Patient : Personne ; {--------------------------------------------------------------------------------------------} PROCEDURE Saisir (VAR Patient : Personne) ; BEGIN With Patient Do Begin Write ('Entrer le nom de la personne : ') ; ReadLn (nom) ; Write ('Entrer son numéro : ') ; ReadLn (numero) ; Write ('Entrer son numéro de téléphone : ') ; ReadLn (tel) ; Write ('Entrer son code d’’assurance : ') ; ReadLn (code) ; End ; END ; {--------------------------------------------------------------------------------------------} PROCEDURE Afficher (Patient : Personne) ; BEGIN With Patient Do http://www.najah.com 4INFINFRC0001 Page 8 Begin WriteLn ('Nom : ', nom) ; WriteLn ('Numéro : ', numero) ; WriteLn ('Numéro du téléphone : ', tel) ; WriteLn ('Code d’’assurence : ', code) ; End; END; {= = = = = = = = = = = Programme Principal = = = = = = = = = = =} BEGIN Saisir (Patient) ; Afficher (Patient); END. http://www.najah.com 4INFINFRC0002 Page 1 CHAPITRE 2 LA RECURSIVITE I- Introduction Activité 1 Reprenons l'exercice de calcul de la factorielle étudié en troisième année. Nous avons écrit la fonction suivante : Analyse de la fonction Factorielle Résultat : Factorielle Traitement : On initialise F à 1 (F ← 1), car Factorielle de zéro = 1 et Factorielle de 1 = 1 On termine le calcule, par une itération complète de 2 à N Pour i de 2 à n Faire F ← F * i Fin Analyse Algorithme de la fonction Factorielle 0) Fonction Factorielle (n : Entier) : Entier Long 1) F ← 1 2) Pour i de 2 à n Faire F ← F * i Fin Pour 3) Factorielle ← F 4) Fin Factorielle Tableau de codification des objets locaux Objets Type/Nature Rôle F Entier Long La factorielle de n i Entier Compteur NB : Ce calcul a été obtenu à partir d'une boucle Pour … Faire. C'est un traitement itératif. Reprenons, pas à pas, le calcul de la factorielle. http://www.najah.com 4INFINFRC0002 Page 2 n ! = n * (n-1) * (n-2) * (n-3) * … * 1 uploads/Management/ cours-complet-pdf.pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/3lI448XNV4kFHiceLPYI75ZyFQE7jshA7CW60irDcpAPYuMxdmMvv57VE0nclraub1q5pxMnpQoQ3hnVm9mzLbVn.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/WTF2TXyLsXg66bdXkHAlvxDVw1fMA2biIEkIR07nFIuvUl4iCGTuj55dWjixmQn2L22BWTMWbXBZd9RE3dvRkeTN.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/QYhlVoigTBPSOdQWPZjQfiZqUp21J78I7g96HI5yuikxFExn3cYmyuU8TPCqckpW3JVGfqENnfiZvmDWTIWgKwQ2.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/X72iZLGRTpCmyVD9FdjQo3JBw3OWCdtV3VskhFIosMcd3bdYXPFMJY8gh2pv4KfFqli3UKufFOBvRKKY3pyrFW2w.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/b2a55RJWC4VJDyxFdEI5hUnwsc9HFs2gKuRU3wySQhPdQCDYqj5GWrLdn1I2MevmBCKSefJ9SYS1lSbYwbbQk2NY.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/88sm51ifn5PVb6yYVM59PLbnJL2OaqM4fSfttoedL4XRF7M5pDnjhtv2sLimykUm2cv4yz7v59QpgoBe0ebyFfwV.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/NXCo9gQfikWcr5FO7mqnAiw2HYXtVSk8SbHHEzQRU7jqHqlGJ6XPSka6MOKH8tWsgh7fNhRwqsRUFPcS8wfokP9h.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/n88D00UPkaeegHGzrEHqJj3UUL5y0aCQ4vWYHAiDjG8qdfdmbCjwHfC3AGIXd5Yv9VPZebXkz9NoE4Rvl6kLeGY5.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/nXC35tsGGyUARFV2Hzy1gVqN60nRlrhfSm8YO3morIbgIlrcUOVywDQCo4bAJF3YvTv82ASFvo5m7Z7U6CjDFara.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/KOdeU4eiAHJu39rKsyu34BYGMXayFrrZcJrDIEcHGbrQFhQRSDqAgZIoX3iJr2F6CBxIBUZDsVHJ8CT8xOLwvRxx.png)
-
22
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 30, 2021
- Catégorie Management
- Langue French
- Taille du fichier 3.0003MB