Cet exercice est lui aussi extrait d’un sujet de partiel.

Exercice

Nous cherchons à référencer des voitures (en france). Pour cela nous considèrerons qu’une voiture possède :

  • Un nombre de chevaux (cv, entier)
  • Une année de mise en service (mes)
  • Un taux d’émission de dioxyde de carbone (co2) en gr/Km
  • Une immatriculation (matricule) sous la forme AA-XXX-AA, où A représente une lettre et X un chiffre
  • Un propriétaire (proprio), nous nous limiterons à son nom (64 caractères max.)
  • Un département actuel (departement). Seuls les départements entre 1 et 99 seronts considérés
  1. Écrire la structure qui représente une voiture en C (voiture) ?
  2. Écrire la fonction qui affiche joliment une voiture à l’écran (affiche_voiture), par exemple: AA-XXX-AA 2008 190cv (203gr/Km): MORANDAT (33)
  3. Écire la fonction qui, pour un tableau de voiture, affiche toutes les voitures mises en services après 2014.
  4. Une immatriculation temporaire commence par WW, écrire la fonction temporaire() qui, pour une immatriculation retourne vrai si elle est temporaire ou non.
  5. Écrire la fonction qui, en fonction d’un tableau de voiture, retourne l’ensemble des voitures avec une immatriculation temporaire.
  6. Écrire la fonction qui, étant donné une voiture avec une immatriculation temporaire et une nouvelle immatriculation, change l’immatriculation de la voiture. Remarque: si l’immatriculation de la voiture n’est pas temporaire, ou la nouvelle immatriculation est temporaire, la fonctionne doit rien faire et retourner une erreur.
  7. Écrire la fonction puissance_fiscale(), sachant que depuis juillet 1998 en France (article 62 de la loi \(n^o~98-546\) du 2 juillet 1998), la Puissance Fiscale est calculée comme suit : \(PF = \frac{CO_2}{45} + (\frac{P}{40})^{1.6}\) (où P: Puissance du moteur en kW avec 1 ch = 0.736 kW)
  8. En fin d’année, le conseil régional de chaque région établit le prix du cheval fiscal, écrire la fonction (prix_de) qui, étant donnée une voiture et une table des prix par chevaux par département, retourne le prix à payer pour ce véhicule.
  9. Pour passer d’une immatriculation à la suivante on incrémente d’abord les chiffres (jusqu’à 999), puis les lettres de gauche (en commençant par celles de droite), enfin on incrémente les lettres de droite (en commençant par celle de droite). De plus, les immatriculation contenant des I, des O et des V ne sont pas autorisés. Enfin les immatriculation commençant par WW sont réservés aux immatriculations temporaires. Écrire la fonction prochaine_immatriculation() qui calcule la prochaine immatriculation à partir d’une immatriculation donnée.