Les enregistrements


Exercice 1 :

Dans la recherche d’employés, un organisme a exigé d’identifier les candidats par les caractéritiques suivantes :
-Nom
-Prénom
-Date de naissance : jour,mois,année
-Lieu de naissance : ville,province,pays
-Etat civil (marié ou non)
-Nombre d’enfants
-Nationalité
-Adresse : avenue,ville,pays,numero,code postal,téléphone
-Diplôme
-Stage
-Etablissement : Etablissement1,Etablissement2, Etablissement3,Etablissement4.
a-      Ecrire l’enregistrement Identité.
b-      Ecrire une parte d’algorithme permettant de déclarer une variable de type identité et lui affecter l’identité d’une personne.


Solution :
 A-
Type
                Date=enregistrement
                               Jour : entier ;
                               Mois : entier ;
                               Année : entier ;
                FinEnregistrement
                Lieu=enregistrement
                               Ville : chaine de 15 caractères ;
                               Province : chaine de 25 caractères ;
                               Pays : chaine de 20 caractères ;
                FinEnregistrement
                Domicile= enregistrement
                               Avenue,ville,pays : chaine de 20 caractères ;
                               Numero,code_postale entier long ;
                               Telephone : chaine de 10 caractères ;
                FinEnregistrement
                Entreprise = enregistrement
                               Etab_1, Etab_2, Etab_3, Etab_4 : chaine de 25  caractères ;
                FinEnregistrement
                Identite=enregistrement
                               Nom,prenom,nationalité,diplôme : chaine de 40 caractères ;
                               Date_naissance : date ;
                               Lieu_naissance : lieu ;
                               Etat_civil,stage : booléen ;
                               Adresse : domicile ;
                               Etablissement :entreprise ;
                FinEregistrement
 B-

Type
Var
                Employe :identite ;        
Début
                Avec Employe faire
                               Nom ß ‘’Adil’’ ;
               Prenomß ‘’Adil’’ ;
                nationalite ß ‘’Marocaine’’ ;
avec  Date_naissance Faire
                               jour ß 20 ;
                               mois ß 5 ;
                               annee ß 1964 ;
                Fin avec
               avec  Lieu_naissance Faire
                               villeß ‘’Tanger’’ ;
                               paysß ‘’Maroc’’ ;
                               provinceß ‘’Tanger’’ ;
                Fin avec
                Etat_civil ß vrai ;
                Stage ß vrai ;
                Nbr_enf ß 3 ;
                Avec adresse faire
                               Code_postale ß 32500 ;
                               Avenue ß ‘’Mohamed V’’ ;
                               Ville ß ‘’casablanca’’ ;
                               Pays ß ‘’Maroc’’ ;
                               Numero ß 71 ;
                               Telephone ß ‘’0665222222’’ ;
                Fin avec
                Avec etablissement faire
                               Etab_1 ß ‘’Sony’’ ;
                               Etab_2 ß ‘’Samsung’’ ;
                               Etab_3 ß ‘’Thomson’’ ;
                               Etab_4 ß ‘’Motorola’’ ;
                Fin avec
                Fin avec
Fin

Exercice 2 :

Dans un repère orthonormé, un point est connu  par deux coordonnées X et Y. on peut le                       représenter en programmation par un enregistrement a deux champs.
-Ecrire un algorithme permettant de :
-Déclarer un enregistrement « point »,
-Introduire les coordonnées de deux points P1 et P2,
-Afficher les deux points P1 et P2,
-Calculer et afficher la distance entre ces deux points,
-Introduire au clavier un déplacement dx sur l’axe  des X et dy sur l’axe des y ,
-Déplacer les deux points en utilisant les déplacements dx et dy,
-Afficher les deux points P1 et P2 dans les nouvelles positions.


Solution :
Algorithme points ;
Type
                Point=enregistrement
                               X  : entier ;
                               Y  : entier ;
                FinEnregistrement
Var
                P1,P2 :point ;
                dx,dy : entier ;
                d : réel ;
Debut
                (* Saisie des coordonnées des deux points  *)
                Ecrire(‘Entrer l’abscisse  du premier point P1 : ‘) ;
                Lire(P1.X) ;
                Ecrire(‘Entrer l’abscisse  du premier point P1 : ‘) ;
                Lire(P1.X) ;
    Ecrire(‘Entrer l’ordonnée  du premier point P1 : ‘) ;
                Lire(P1.Y) ;
                Ecrire(‘Entrer l’abscisse  du deuxième point P2 : ‘) ;
                Lire(P2.X) ;
    Ecrire(‘Entrer l’ordonnée  du deuxième  point P2 : ‘) ;
                Lire(P2.Y) ;
(*Affichage des deux points P1 et P2*)
                Aller à (P1.X,P1.Y) ;
                Ecrire(‘*’) ;
                Aller à (P2.X,P2.Y) ;
                Ecrire(‘*’) ;
(*calcul de la distance entre les points P1 e P2*)
                d<-- sqrt((P2.X – P1.X)^2 + (P2.Y – P1.Y)^2) ;
                Ecrire (‘La distance entre les deux points P1 et P2 est :’,d) ;
(*Saisie des déplacements selon X et Y*)
                Ecrire (‘entrer le deplacement selon OX :’) ;
                Lire(dx) ;
                Ecrire (‘entrer le deplacement selon OY :’) ;
                Lire(dy) ;
 (*Déplacement et affichage des  deux points *)
                P1.X <--  P1.X + dx ;
    P1.y <--  P1.y + dy ;
                P2.X <--  P2.X + dx ;
                P2.y <--  P2.y+ dy ;
                (*Affichage des deux points dans les nouvelles positions*)
                Aller à (P1.X,P1.Y) ;
                Ecrire(‘*’) ;
                Aller à (P2.X,P2.Y) ;
                Ecrire(‘*’) ;
Fin

Exercice 3 :
Ecrire un algorithme permettant de :
Déclarer un tableau nommé « courbe » de N point et chaque point défini sous forme d’enregistrement.
Saisir les coordonnées de tous les points de la courbe,
Tracer la courbe à l’ecran point par point en utilisant des étoiles

Solution :
Algorithme points ;
Type
                Point=enregistrement
                               X  : entier ;
                               Y  : entier ;
                FinEnregistrement
Var
                Courbe : tableau[1..100] de point ;
                N,i: entier ;
Debut
                (* Saisie des points  de la courbe *)
                Ecrire(‘Entrer le nombre de points de la courbe : ‘) ;
                Lire(N) ;
                Pour i <--  1 à N faire
                  Ecrire(‘Entrer l’abscisse du point N° ,’i’,’: ‘) ;
                              Lire(courbe[i].X) ;
                  Ecrire(‘Entrer l’ordonnée du point N° ,’i’,’: ‘) ;
                              Lire(courbe[i].Y) ;
                Fin pour i
                (*traçage de la courbe point par point *)
                Pour i <--  1 à N faire
                   Aller à (courbe[i].X, courbe[i].Y) ;
                               Ecrire(‘*’) ;
                Fin pour i
Fin

Exercice 4 :
Dans  une banque un client est connu par :
-Nom
-Prénom
-Adresse
-Numéro de compte
-solde
a-      Ecrire l’enregistrement client.
b-      Ecrire un programme permettant :
D’entrer les informations de tous les clients de la banque,(on considère NC :nombre de client)
De faire la somme d’argents totale STA et la moyenne d’argent Moy par client ,
D’afficher les données et résultats à l’écran.

Solution :
Type
                client=enregistrement
                               nom : chaine de 15 caractères ;
                               Pr : chaine de 20 caractères ;
                               Adr: chaine de 35 caractères  ;
                               Num : Entier long ;
                               Sold : réel ;
                FinEnregistrement
Var
                T : Tableau[1..50] de client ;
                i,NC : entier ;
                STA,Moy : réels ;
Debut
                Ecrire(‘programme de gestion d’une banque’) ;
                (*saisie de données *)
Ecrire(‘entrer le nombre de clients : ’) ;
Lire(NC) ;
Pour i <--  1 à NC faire
                Ecrire(‘**********Information du client numéro  ‘,i,’ ******** ’) ;
                Ecrire(‘entrer le nom du client :’) ;               
               Lire(T[i].nom) ;
               Ecrire(‘entrer le prénom  du client :’) ;              
               Lire(T[i].Pr) ;
               Ecrire(‘entrer le numéro du compte:’) ;              
               Lire(T[i].num) ;
               Ecrire(‘entrer l’adresse du client :’) ;              
               Lire(T[i].Adr) ;
               Ecrire(‘entrer le solde  du client :’) ;              
               Lire(T[i].Sold) ;
Fin pour i ;
(*calcul*)
STA <--  0 ;
Pour  i<-- 1 à NC faire
                STA <--  STA+T[i].Sold ;
Fin pour i
Moy <--  STA/NC ;
(*affichage des r ésultats*)
Ecrire (‘la somme totale d’’argent est :’,STA) ;
Ecrire(‘la moyenne d’argent est :’,Moy) ;
Pour  i<-- 1 à NC faire
       Avec T[i] faire
                   Ecrire(‘information du client numéro :’,i) ;
                   Ecrire(‘Nom  :’,nom) ;
                   Ecrire(‘Prenom :’,pr) ;
                   Ecrire(‘adresse:’,adr) ;
                   Ecrire(‘numéro de compte :’,num) ;
                   Ecrire(‘solde :’,Sold) ;
      FinAvec
Fin pour i
Fin
Suivant
« Précédent
Précédent
Suivant »

ConversionConversion EmoticonEmoticon

Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.