PROFINFO
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -14%
Apple MacBook Air (2020) 13,3″ Puce Apple M1 ...
Voir le deal
799 €

EXERCICE : les enregistements

Aller en bas

EXERCICE : les enregistements Empty EXERCICE : les enregistements

Message  Admin Mer 22 Oct - 11:41

On souhaite écrire un programme élémentaire pouvant être utilisé par un loueur de voitures. On définit
pour cela le type suivant :
Type voiture = record
nom : string[20];
nb_jours : integer;
end;
où nom désigne le nom ou l'identification d'un véhicule
nb_jours désigne le nombre de jours pendant lequel le véhicule reste en location.
Si cette dernière variable vaut 0, cela signifie que l'automobile correspondante est immédiatement
disponible.
L'ensemble des véhicules possédés par le loueur est représenté par la variable globale auto définie ainsi :
Const nb_auto = 100;
Var auto : array[1 .. nb_auto] of voiture;
où nb_auto est le nombre total de véhicules.
1) Ecrire une procédure Cherche_Auto(var i:integer ; var trouve : boolean);
Le paramètre i donne l'indice du premier véhicule disponible s'il existe et dans ce cas le second paramètre
trouve prend la valeur true.
Si aucun véhicule n'est disponible, trouve prend la valeur false, la valeur prise par i étant alors sans importance.
2) Ecrire une procédure loue1(duree : integer) qui utilise la procédure précédente pour savoir si un véhicule est disponible. Si c'est le cas, le premier véhicule libre est loué pendant un nombre de jours égal à durée. Cette indication sera portée à la variable globale auto.
3) Ecrire une procédure affiche_disponibles; qui affiche à l'écran la liste des véhicules disponibles, en indiquant leur indice dans le tableau et leur nom.
4) Ecrire une procédure loue2(; qui, s'il en existe, affiche à l'écran la liste des véhicules disponibles et demande à l'utilisateur l'indice du véhicule à louer et la durée de location. Les transformations nécessaires
aux champs de ce véhicule seront apportées à la variable globale auto.
5) Ecrire une procédure jour; (simulant l'écoulement d'une journée), qui décrémente la durée de location de tous les véhicules loués.
6) Ecrire une procédure etat; qui affiche à l'écran les noms des véhicules en location, par ordre croissant de durée de location.
Vous expliquerez par un texte la méthode utilisée.
7) Ecrire un programme principal, qui donne le choix à l'utilisateur entre :
- exécuter la procédure loue2
- exécuter la procédure jour suivie de affiche_disponibles et etat.
- arrêter le programme
Etude statistique
a) Pour mieux connaître ses locations le loueur de voitures désire étudier les durées de location :
Ecrire une fonction moyenne:real; permettant de déterminer, chaque jour et parmi les véhicules loués, ladurée moyenne de location restante.
b) Pour créer des forfaits de location, le loueur de voiture désire connaître la répartition des durées :
En supposant que les véhicules ne sont pas loués plus de 31 jours, et en utilisant le tableau de type tab= array[1 .. 31] of integer; créer la procédure repartition(var t:tab); permettant d'affecter à t le nombre de véhicules loués pour une durée égale à i.
Terminer cette étude en créant la procédure tri_repartition(t:tab); permettant d'afficher par ordre décroissant les cinq durées restantes de location les plus fréquentes du tableau créé par la procédure repartition.

Admin
Admin

Messages : 15
Date d'inscription : 30/06/2008

https://profinfo.forumactif.info

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser