Bonus de recharge – Bac pratique 2018 [ Algorithme + Python ]

Algo et Python 03-10-24
88 0

Sujet bac informatique pratique 2018 (Bac scientifique)

A l’occasion de son vingtième anniversaire et pour encourager ses clients, une société de télécommunication, dont les indicatifs sont 65 et 66, accorde un bonus de recharge pour les clients gagnants. Un client est dit gagnant si le montant de ses communications est supérieur ou égal à la consommation moyenne de N clients de la société.

Pour automatiser cette tâche, on se propose d’écrire un programme Python qui permet de :

1- remplir 2 tableaux T et C respectivement, par les numéros et les consommations téléphoniques des N clients, avec 10≤N≤100, sachant que :

2- chaque numéro est unique et est formé de huit chiffres commençant obligatoirement par 65 ou 66,

3- pour chaque numéro de téléphone T[i], on fait correspondre un montant de consommation C[i] exprimé en dinars tunisiens,

3- afficher les numéros de téléphone gagnants et les bonus de recharge, obtenus en multipliant par 20, la somme des six derniers chiffres de chaque numéro

Exemple :

Pour N=7 et les tableaux T et C suivants

T:

0 1 2 3 4 5 6
66456789 66127721 65980765 66123321 66285585 66285582 65347743

 

C:

0 1 2 3 4 5 6
200 20 300 250 45 99 180

 

Le programme affiche :

Le montant moyen des consommations est : 156.285

Le numéro 66456789 a gagné 780 DT

Le numéro 66127721 a gagné 400 DT

Le numéro 65980765 a gagné 700 DT

Le numéro 66123321 a gagné 240 DT

Le numéro 66285585 a gagné 660 DT

Le numéro 66285582 a gagné 600 DT

Le numéro 65347743 a gagné 560 DT

Solution Algorithmique

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

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
t  tableaux des chaînes
c tableaux des entiers
n entier

 

La fonction saisie_taille

Cette fonction saisit la taille des deux tableaux t et c des  entre 7 et 100.

Déclaration des objets

Objet Type / Nature
n entier

 

La fonction verif

Cette fonction vérifie si le numéro de téléphone est unique ou non dans le tableau t.

Déclaration des objets

Objet Type / Nature
j entier

 

La procédure remplir

Cette procédure remplit:

- le tableau t par des numéros de téléphones distinctes formés de huit chiffres commençant obligatoirement par 65ou 66

- le tableau c par les montants de consommation.

Déclaration des objets

Objet Type / Nature
i entier

 

La fonction somme_6chiffres

Cette fonction calcule et retourne la somme des six derniers chiffres du numéro de téléphone.

Déclaration des objets

 

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

 

La procédure afficher_gagnants

Cette procédure affiche le montant total consommé, les numéros de téléphone et les bonus de recherge.

Déclaration des objets

Objet Type / Nature
i entier
montant_moyen entier

 

Solution en Python

Exécution du programme

1) En cas de l'existance des clients gagnants:

2) Dans le cas ou il n'y a pas de gagnant:

Solution en Python et Designer QT

Pour créer une application en Python et Designer QT qui accorde un bonus de recharge pour les clients gagnants, 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é 'ch1' pour entrer les numéros des téléphones.

QLineEdit nommé 'ch2' pour entrer le montant consommé pour chaque numéro.

QPushButton nommé 'remplirt_bt' pour mettre les numéros des téléphones dans le tableau T.

QPushButton nommé 'remplirc_bt' pour mettre les montants consommés dans le tableau C.

QPushButton nommé 'afficher_bt' pour rechercher le montant total consommé, la liste des numéros de téléphones gagnés et leurs bonus.

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

QLabel nommé 'tabt_label' pour afficher les numéros de téléphones du tableau T.

QLabel nommé 'tabc_label' pour afficher les montants consommés du tableau C.

QLabel nommé 'resultat' pour afficher le montant total consommé, la liste des numéros de téléphones gagnés et leurs bonus.

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 T

2) Remplissage du tableau C

3) Afficher le montant total consommé, la liste des numéros de téléphones gagnés et leurs bonus.

4) Dans le cas ou il n'y a pas de gagnant:

 

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