Nouveaux nés – Bac informatique pratique 2019 [ Bac scientifique ]

Algo et Python 16-10-24
49 0

Sujet bac informatique pratique 2019 (Bac scientifique)

Un spécialiste en psychologie analytique veut faire une étude sur les heures qui se disent heures miroirs et ce, à partir des heures de naissances des nouveau-nés. Les heures miroirs sont classées selon trois types à savoir les heures miroirs doublées, les heures miroirs triplées et les heures miroirs inversées. Pour commencer cette étude, il a demandé auprès de l’administration d’un hôpital de lui fournir, pour une journée donnée, la liste des noms et prénoms des nouveau-nés ainsi que les heures de leurs naissances.

Selon la représentation horaire HH:MM, l’heure miroir est dite :

- doublée si le nombre qui représente l’heure est le même que celui qui représente les minutes (exemples 13:13, 22:22, 15:15, …)

- triplée s’il existe une séquence de trois chiffres identiques et consécutifs (exemples 22:22, 22:29, 10:00, …)

- inversée si les chiffres qui représentent les minutes sont l’inverse de ceux qui représentent l’heure (exemples 13:31, 14:41, 22:22, …)

NB : Une heure miroir peut être à la fois doublée, triplée et inversée.

Pour faire cette étude, on se propose d’écrire un programme Python qui permet de remplir deux tableaux NP et HN respectivement par :

les noms et les prénoms des N nouveau-nés de la journée, l’heure de naissance de chacun, puis d’afficher :

- la liste des nouveau-nés ayant une heure de naissance miroir, en précisant pour chacun le type de l’heure miroir correspondant (doublée, triplée ou inversée),

- le nombre des nouveau-nés ayant l’heure de naissance miroir doublée,

- le nombre des nouveau-nés ayant l’heure de naissance miroir triplée,

- le nombre des nouveau-nés ayant l’heure de naissance miroir inversée.

Exemple :

Pour N = 10 et les tableaux NP et HN suivants :

NP:

Rania

Kefi

Karim

Salhi

Hatem

Krid

Sahar

Feki

Maha

Sessi

Fedi

Krayem

Amin

Douaji

Dina

Selmi

Samir

Siala

Abir

Zekri

 

HN:

06:05 11:14 12:23 13:13 14:44 15:51 20:33 21:11 22:22 23:07

 

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
np tableau des chaînes des caractères
hn tableau des chaînes des caractères
n entier

 

La fonction saisie_taille

Cette fonction saisit la taille du tableau entre 3 et 20.

Déclaration des objets

Objet Type / Nature
n entier

 

La fonction verif_nom

Cette fonction vérifie que la chaîne commence par une lettre majuscule et est formée au maximum de 30 lettres,

Déclaration des objets

Objet Type / Nature
i entier

 

La fonction verif_heure

Cette fonction vérifie que l'heure de naissance respecte le format horaire HH:MM, sachant que la valeur de HH est comprise entre 0 et 23 et celle de MM est comprise entre 0 et 59 représentée chacune sur deux chiffres.

La fonction test_heuremiroir

Cette fonction vérifie que l'heure de naissance est une heure miroir ou non

La procédure remplir

Cette procédure remplit deux tableaux NP et HN respectivement par : les noms et les prénoms des N nouveau-nés de la journée, l’heure de naissance de chacun.

Déclaration des objets

Objet Type / Nature
i entier
prenom chaine des caractères
nom chaine des caractères

 

La procédure afficher_nouveaunes_heuremiroir

Cette procédure affiche la liste des nouveau-nés ayant une heure de naissance miroir et les nombres des nouveau-nés pour chaque type d'heure miroir.

Déclaration des objets

Objet Type / Nature
i entier
cp_doublee entier
cp_triplee entier
cp_inversee entier

 

Solution en Python

Exécution du programme:

Solution en Python et Designer QT

Pour créer une application en Python et Designer QT qui fait une étude sur les heures de naissances des nouveau-nés, 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 prénoms et les noms des nouveaux né

QLineEdit nommé 'ch2' pour entrer les heures de naissances

QPushButton nommé 'remplirnp_bt' pour mettre les prénoms et les noms des nouveaux né dans le tableau NP.

QPushButton nommé 'remplirhn_bt' pour mettre les heures de naissances  dans le tableau HN.

QPushButton nommé 'afficher_bt' pour afficher la liste des nouveau-nés ayant une heure de naissance miroir et les nombres des nouveau-nés pour chaque type d'heure miroir.

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

QLabel nommé 'tabnp_label' pour contenir les prénoms et les noms des nouveaux né du tableau NP

QLabel nommé 'tabhn_label' pour contenir les heurs de naissance des nouveaux né du tableau HN

QLabel nommé 'resultat' pour contenir la liste des nouveau-nés ayant une heure de naissance miroir et les nombres des nouveau-nés pour chaque type d'heure miroir.

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 NP

2) Remplissage du tableau HN

3) Afficher la liste des nouveau-nés ayant une heure de naissance miroir et les nombres des nouveau-nés pour chaque type d'heure miroir.

 

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