Suite arithmétique – Bac théorique – Section informatique – 2023

Bac Info 21-01-26
26 0

Sujet (Algo et programmation - Bac 2023)

Une agence de location de voitures se propose de gérer le budget de renouvellement de ses Nb voitures. Pour se faire, l’agence calcule pour chaque voiture le nombre d’années au bout duquel elle doit être renouvelée. Ce nombre dépend de la valeur du kilométrage initialement parcouru par la voiture (d), du nombre de kilomètres parcourus chaque année (r) et de la valeur maximale prévue des kilomètres à parcourir (m).

La valeur du kilométrage parcouru par une voiture est initialement égale à d et elle augmente chaque année d’une même valeur r, donc elle forme une suite arithmétique U de raison r :
U1 = d
Un = Un-1 + r  pour n ≥ 2

Avec :

- d : un entier qui représente la valeur du kilométrage initialement parcouru.

- r : un entier qui représente le nombre de kilomètres parcourus chaque année.

Exemple : Pour d = 10000 km, r = 40000 km et m = 400000 km, le nombre d’années au bout duquel la voiture doit être renouvelée est égale à 10 ans.

Les informations des Nb voitures de l’agence de location sont stockées dans un fichier d’enregistrements "Depart.dat" déjà rempli. Chaque enregistrement du fichier contient les champs suivants :

- immat : une chaîne de caractères qui représente le numéro d’immatriculation de la voiture.

- d : un entier naturel qui représente la valeur du kilométrage initialement parcouru.

- r : un entier naturel qui représente le nombre de kilomètres parcourus chaque année.

- m : un entier naturel qui représente la valeur maximale prévue des kilomètres à parcourir.

On se propose d’écrire un algorithme d’une procédure nommée Renouv qui, à partir du fichier "Depart.dat", permet de générer un fichier texte "Resultat.txt" contenant dans chaque ligne le numéro d’immatriculation de la voiture suivi du nombre d’années pour atteindre la distance maximale prévue séparés par le caractère espace.

Travail demandé :

1) Ecrire un algorithme d’une fonction Annee(d, r, m) qui permet de retourner un entier qui représente le nombre d’années au bout du quel une voiture ayant parcourue une distance d atteindra une distance maximale prévue m (avec m strictement supérieur à d).

2) Ecrire les instructions d’ouverture des fichiers "Depart.dat" et "Resultat.txt", sachant qu’ils sont stockés sur la racine du disque D.

3) Ecrire un algorithme de la procédure Renouv, pour générer le fichier "Resultat.txt", en faisant appel à la fonction Annee.

 

Solution Algorithmique

Dans cet algorithme, On va utiliser deux fonctions et deux procédures :

- la fonction saisie()

- la procédure remplir_fichier_depart()

- la fonction calcul_nbr_annees()

- la procédure remplir_fichier_resultat()

 

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
n entier

 

La fonction saisie

Cette fonction assure une saisie sécurisée d’un entier n tel que n ≥ 1, en redemandant la saisie tant que la condition n’est pas respectée.

Déclaration des objets

Objet Type / Nature
n entier

 

La procédure remplir_fichier_depart

Cette procédure permet de saisir les informations de n voitures et de les enregistrer dans le fichier binaire Depart.dat.

Déclaration des objets

Objet Type / Nature
f_depart fichier
i entier
voiture enregistrement

 

La fonction calcul_nbr_annees

Cette fonction calcule le nombre d’années nécessaires pour qu’une voiture atteigne ou dépasse son kilométrage maximal autorisé.

Déclaration des objets

Objet Type / Nature
r entier
d_max entier
nbr_annee entier
u1 entier
u2 entier

 

La procédure remplir_fichier_resultat

Cette procédure lit le fichier binaire Depart.dat, calcule pour chaque voiture le nombre d’années nécessaires pour atteindre son kilométrage maximal, puis écrit et affiche ces résultats dans le fichier texte Resultat.txt.

Déclaration des objets

Objet Type / Nature
f_depart fichier
f_resultat fichier
voiture Enregistrement
nbr_annee entier

 

Solution en Python

Exécution du programme

0 commentaire

laisser un commentaire

Veuillez noter s'il vous plaît*

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Passion de robotique

Atelier robotique

Construction des robots

Bras robotique

Maison intelligente

But de ce site web

La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.

Coordonnées

Zaouiet Kontech-Jemmel-Monastir-Tunisie

+216 92 886 231

medaliprof@gmail.com

Photos des articles

Site robotique réalisé par Mohamed Ali Haj Salah - Prof Info