Nombre porte-bonheur – Bac Pratique 2015 [ Algorithme + Python ]

Algo et Python 02-09-24
27 0

Travail demandé

Un nombre X est dit porte-bonheur si ses chiffres forment une suite arithmétique de raison r, c'est-à-dire les chiffres de X sont ordonnés et la différence entre deux chiffres successifs est égale à une constante r.

Exemples :

1357 est un nombre porte-bonheur car ses chiffres sont ordonnés dans l’ordre croissant : 1<3<5<7 et la différence entre deux chiffres successifs est constante est égale à 2 8765 est un nombre porte-bonheur car ses chiffres sont ordonnés dans l’ordre décroissant : 8>7>6>5 et la différence entre deux chiffres successifs est constante est égale à -1.

3679 n’est pas un nombre porte-bonheur car la différence entre deux chiffres successifs n’est pas constante.

Ecrire un programme en Python qui permet de remplir un tableau T de n (5 ≤ N ≤ 30) entiers positifs de 4 chiffres, de chercher et d’afficher tous les entiers porte-bonheur du tableau T

Exemple : Pour N=6 et le tableau T suivant :

1234 9753 4596 2468 1033 7200

Le programme affiche : « les nombres porte-bonheur sont : 1234 9753 2468 »

Solution Algorithmique

Pour identifier les nombres "porte-bonheur" dans un tableau de nombres à 4 chiffres, il est nécessaire de vérifier si les chiffres de chaque nombre forment une suite arithmétique avec une raison constante. Voici comment concevoir l'algorithme pour ce problème :

1. Initialisation

Créer un tableau T de taille N, où 5 ≤ N ≤ 30.

Remplir le tableau T avec N entiers positifs à 4 chiffres.

2. Vérification des nombres "porte-bonheur"

Pour chaque nombre dans le tableau T :

a) Convertir le nombre en chaîne de caractères ou diviser successivement pour obtenir chaque chiffre.

b) Calculer la différence entre les deux premiers chiffres (d).

c) Pour les chiffres suivants, vérifier que la différence entre chaque paire successive de chiffres est égale à d.

d) Si toutes les différences sont égales à d, le nombre est considéré comme "porte-bonheur".

3. Affichage des résultats

Parcourir les résultats de la vérification et afficher tous les nombres "porte-bonheur" identifiés.

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

Déclaration des objets

Objet Type / Nature
n entier
t tableau des 100 entiers

 

La fonction saisie_taille

Cette fonction retourne un entier n entre 3 et 30 saisi par l'utilisateur.

Déclaration des objets

Objet

Type / Nature

n

entier

La procédure remplir

Cette procédure remplit le tableau t de n entiers entre 1000 et 9999.

Déclaration des objets

Objet

Type / Nature

i

entier

La fonction test_portebonheur

Cette fonction teste si un un nombre est porte-bonheur ou non .

Déclaration des objets

Objet Type / Nature
i entier
d1 entier
d2 entier
ch chaine des caracteres

 

La procédure afficher_entiers_portebonheurs

Cette procédure identifie et affiche les nombres porte-bonheur.

Déclaration des objets

Objet Type / Nature
i entier

 

Solution en Python

Exécution du programme

Solution en Python et Designer QT

Pour remplir un tableau d'entiers à partir d'une chaîne de caractères en Python, vous pouvez suivre les étapes suivantes :

1- Découper la chaîne de caractères en sous-chaînes contenant les entiers.

2- Convertir chaque sous-chaîne en entier.

3- Ajouter chaque entier au tableau.

Pour créer une application en Python pour identifier et afficher les nombres riches

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 des entiers .

QPushButton nommé 'remplir_bt' pour exécuter le module createTab afin de remplir le tableau à partir de la chaine 'ch'.

QPushButton nommé 'bt_recherche' pour exécuter le module afficher_entiers_portebonheurs.

QLabel nommé 'msg' pour afficher un message d'erreur si ch est vide ou contient des valeurs non numériques ou les éléments du tableau non formé de 4 chiffres.

QLabel nommé 'tab_label' pour afficher les éléments du tableau T.

QLabel nommé 'resultat' pour afficher les entiers porte-bonheur.

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

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

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