Nombres ronds – Bac informatique pratique scientifique 2025

Algo et Python 01-10-25
39 0

Sujet bac informatique pratique (Bac scientifique 2025)

On se propose de concevoir une interface graphique permettant de saisir deux entiers A et B tels que (10 ≤ A ≤ 30) et (A < B ≤ 99), puis d’afficher tous les nombres ronds compris entre A et B.

Un nombre est dit rond si sa conversion à la base 2 (base binaire) contient autant de 1 que de 0 (le nombre des 0 égal à celui des 1).

Exemples :

  • Pour A = 20 et B = 40 :

Le programme affiche : Les nombres ronds sont : 35-37-38

En effet, - la conversion binaire de 35(10) vaut 100011(2) qui contient autant de 1 que de 0.

  • la conversion binaire de 37(10) vaut 100101(2) qui contient autant de 1 que de
  • la conversion binaire de 38(10) vaut 100110(2) qui contient autant de 1 que de
  • Pour A = 15 et B = 30 :

Il n’existe aucun nombre rond compris entre 15 et 30, d’où :

Le programme affiche : Aucun nombre rond

Solution Algorithmique

1- Saisie des bornes

Lire la valeur de A.

Lire la valeur de B.

Vérifier que : 10≤A≤30  et A≤B≤99.

Si les conditions ne sont pas respectées → afficher un message d’erreur et redemander la saisie.

2- Parcours de l’intervalle

Pour chaque entier N allant de A à B (inclus) :

Convertir N en binaire.

Compter le nombre de 1 et le nombre de 0 dans cette représentation binaire.

3- Test de rondeur

Si le nombre de 1 = nombre de 0, alors :

Afficher N (c’est un nombre rond).

Sinon → ne rien afficher.

4- Fin de traitement

Lorsque tous les nombres de l’intervalle ont été testés, afficher un message indiquant la fin du programme.

Dans cet algorithme, On va utiliser trois fonctions et une procédure :

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
a entier
b entier

La fonction saisir

Cette fonction saisit un nombre entier N entre deux bornes

Déclaration des objets

Objet Type / Nature
n entier

La fonction conv_binaire

Cette fonction permet de convertir un entier en binaire.

Déclaration des objets

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

 

La fonction verif

Cette fonction permet de vérifier si un entier est rond.

Déclaration des objets

Objet Type / Nature
nbr_0 entier
nbr_1 entier
ch chaîne des caractères

 

La procédure ronds

Cette procédure recherche et affiche tous les nombres ronds compris entre A et B.

Déclaration des objets

Objet Type / Nature
i entier
liste chaine

 

Solution en Python

Exécution du programme :

Solution en Python et Designer QT

Pour créer une application en Python et Designer QT afin de saisir deux entiers A et B tels que (10 ≤ A ≤ 30) et (A < B ≤ 99), puis d’afficher tous les nombres ronds compris entre A et B., 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:

QLabel nommé 'msg' pour afficher les messages générés par le programme

QLineEdit nommé 'a' pour entrer le nombre A

QLineEdit nommé 'b' pour entrer le nombre B

QPushButton nommé 'afficher_bt' pour chercher et afficher tous les nombres ronds compris entre A et B

Enregistrez le fichier avec l'extension .ui, par exemple bac-pratique-3-interface.ui.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

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