Bonus des adhérents fidèles – Bac informatique pratique 2019 [ Bac Scientifique ]

Algo et Python 10-10-24
56 0

Sujet bac informatique pratique 2019 (Bac scientifique)

Un gérant d’une salle de sport veut récompenser les adhérents fidèles en leur offrant un bonus sous forme d’heures d’entraînement gratuites, calculé à partir de leurs numéros d’abonnement.

Le bonus est calculé en fonction de l’ancienneté de l’adhérent, exprimée en nombre de mois par rapport à la date du jour. En effet, une heure supplémentaire est offerte pour chaque mois d’ancienneté, sachant que le bonus ne sera pris en considération que si l’ancienneté dépasse 5 ans.

Un numéro d’abonnement est formé de 10 caractères dont le premier est une lettre majuscule indiquant la catégorie de l’adhérent (A : Adulte, J : Junior, E : Enfant) suivi de 9 chiffres répartis comme suit :

- Les 4 premiers chiffres représentent l’année d’adhésion qui doit être comprise entre 2000 et

- Les 2 suivants représentent le mois d’adhésion dont la valeur doit être comprise entre 1 et

- Les 3 derniers chiffres représentent le numéro d’adhésion qu’on suppose distinct pour tous les adhérents.

Exemple :

Pour le numéro d’abonnement E201403080, l’adhérent est un enfant dont l’année d’adhésion est 2014, le mois d’adhésion est 03 (mars) et son numéro d’adhésion est 080. Le bonus accordé à cet adhérent est de 62 heures. En effet, son ancienneté est égale à cinq ans et deux mois par rapport à la date d’aujourd’hui (28/05/2019), en nombre de mois elle est égale à 62 (12*5 + 2).

On se propose d’écrire un programme Pascal qui permet :

- de saisir un entier N représentant le nombre d’adhérents de cette salle (avec 5 ≤ N ≤ 30),

- de remplir un tableau TA par les N numéros d’abonnements de ces adhérents en respectant le format décrit précédemment,

- d’afficher les numéros d’abonnements des adhérents ayant une ancienneté supérieure à 5 ans ainsi que leurs bonus correspondants

Exécution du programme:

Solution Algorithmique

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

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
ta tableau des chaînes des caractères
n entier

 

La fonction saisie_taille

Cette fonction saisit la taille du tableau entre 5 et 30.

Déclaration des objets

Objet Type / Nature
n entier

 

La fonction verif_numero

Cette fonction vérifie la validité du numéro d’abonnement.

Déclaration des objets

Objet Type / Nature
i entier

 

La fonction verif_unicite

Cette fonction vérifie l'unicité du numéro d’abonnement dans le tableau des adhérents.

Déclaration des objets

Objet Type / Nature
i entier
ch chaîne des caractères
ch2 chaîne des caractères

 

La procédure remplir

Cette procédure remplit un tableau TA par les N numéros d’abonnements de ces adhérents en respectant le format décrit précédemment.

Déclaration des objets

Objet Type / Nature
i entier
ch chaine des caractères

 

La fonction calcul_bonus

Cette fonction calcule le bonus accordé à un adhérent du tableau.

Déclaration des objets

Objet Type / Nature
today chaine des caractères

 

La procédure afficher_adherents_bonus

Cette procédure affiche les numéros d’abonnements des adhérents ayant une ancienneté supérieure à 5 ans ainsi que leurs bonus correspondants.

Déclaration des objets

Objet Type / Nature
i entier

 

Solution en Python

 

Solution en Python et Designer QT

Pour créer une application en Python et Designer QT qui va saisir les noms des joueurs, calculer les scores des joueurs et afficher les meilleurs, on va suivre ces étapes:

1- Créer l'interface graphique avec Qt Designer

a- Ouvrez Qt Designer et créez un nouveau fichier de type Main Window.

b- Ajoutez ces widgets:

QLineEdit nommé 'ch' pour entrer les numéros d'abonnements

QPushButton nommé 'remplir_bt' pour mettre les numéros d'abonnements dans le tableau TA.

QPushButton nommé 'trier_bt' pour trier le tableau score dans un ordre croissant.

QPushButton nommé 'afficher_bt' pour afficher les numéros d’abonnements des adhérents ayant une ancienneté supérieure à 5 ans  ainsi que leurs bonus correspondants.

QLabel nommé 'msg' pour afficher des messages d'erreur.

QLabel nommé 'resultat' pour contenir les numéros d’abonnements des adhérents ayant une ancienneté supérieure à 5 ans ainsi que leurs bonus correspondants.

Enregistrez le fichier avec l'extension .ui, par exemple tabtab-2.ui.

2- Créer le script Python pour l'application

Voici un exemple de script Python qui utilise l'interface graphique générée par Qt Designer.

Exécution du programme

1) Remplissage du tableau TA des numéros d'abonnements

2) Affichage des numéros d’abonnements des adhérents ayant une ancienneté supérieure à 5 ans ainsi que leurs bonus correspondants.

 

Vous pouvez voir aussi :

1) des exercices sur les chaînes des caractères

2) des exercices sur les tableaux

3) des sujets Bac pratique

4) des sujets Bac théorique

 

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-Prof Info