Nombre premier sûr – Bac Pratique 2015 [ Algorithme + Python ]

Algo et Python 10-09-24
20 0

Travail demandé

Un nombre M est dit nombre premier sûr s’il est un nombre premier de la forme 2*p+1 avec p un nombre premier.

Exemples : Si M=11, alors M est un nombre premier sûr. En effet, 11 est premier et il peut s’écrire sous la forme 2*p+1 ou p=5 qui est un nombre premier.

Si M=31, alors M n’est pas un nombre premier premier sûr. En effet 31 est premier et il peut s’écrire sous la forme 2*p+1 ou p=15 qui n’est pas un nombre premier.

N.B : Un nombre est premier s’il est divisible que par 1 et par lui-même. (1 n’est pas premier)

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

1- Remplir un tableau T par n entiers > 2 (10 ≤ n ≤ 45).

2- Trier dans l’ordre croissant les éléments premiers sûrs du tableau T suivis du reste des éléments sans tri.

3-Afficher le tableau T résultant.

Exemple : Pour n=10 et le tableau T suivant :

Solution Algorithmique

Remplir le tableau T avec n entiers :

Remplir un tableau T avec n entiers aléatoires supérieurs à 2, où 10≤n≤4510.

Vérifier si un nombre est premier :

Créer une fonction pour vérifier si un nombre donné est premier (c'est-à-dire divisible uniquement par 1 et lui-même).

Vérifier si un nombre est un nombre premier sûr :

Pour chaque élément du tableau T, vérifier si c'est un nombre premier sûr :

Un nombre M est premier sûr s'il est premier et qu'il existe un nombre premier p tel que M=2∗p+1.

Trier les nombres premiers sûrs :

Récupérer tous les nombres premiers sûrs et les trier dans l'ordre croissant.

Conserver le reste des éléments sans les trier :

Les éléments qui ne sont pas des nombres premiers sûrs doivent rester dans le tableau sans changement.

Afficher le tableau final :

Afficher le tableau T avec les nombres premiers sûrs triés en premier, suivis du reste des éléments non triés.

Dans cet algorithme, on va utiliser trois fonctions et trois fonctions:

Déclaration des objets

Objet Type / Nature
n entier
t tableau de 50 entiers

 

La fonction saisie_taille

Cette procédure saisit la taille n du tableau tel que 10 ≤ n ≤ 45

Déclaration des objets

Objet Type / Nature
n entier

 

La procédure remplir

Cette procédure remplit un tableau de taille n par des entiers > 2.

Déclaration des objets

Objet Type / Nature
i entier

 

La procédure trie

Cette procédure trie un tableau de taille n dans un ordre croissant en utilisant la méthode tri par sélection.

Déclaration des objets

Objet Type / Nature
i entier
j entier
minimum entier

 

La fonction test_premier

Cette fonction teste si un entier est premier ou non.

Déclaration des objets

Objet Type / Nature
i entier

 

La fonction premier_sur

Cette fonction vérifie si un entier est premier sûr.

La procédure partitionner

Cette procédure met les éléments au début du tableau puis il les trie dans un ordre croissant.

Déclaration des objets

Objet Type / Nature
cp entier
i entier
j entier
x entier

 

La procédure afficher

Cette procédure affiche les éléments du tableau de taille n.

Déclaration des objets

Objet Type / Nature
i entier

 

Solution en Python

Exécution du programme

Solution en Python et Designer QT

Pour créer une application en Python pour remplir un tableau T par n entiers > 2 (10 ≤ n ≤ 45) et trier dans l’ordre croissant les éléments premiers sûrs du tableau T suivis du reste des éléments sans tri en utilisant Qt Designer pour l'interface graphique, suivez 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 entiers > 2.

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

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

QPushButton nommé 'bt_partition' pour placer les nombres premiers sûrs au début du tableau.

QPushButton nommé 'bt_trie' pour trier dans l’ordre croissant les éléments premiers sûrs du tableau T suivis du reste des éléments sans tri.

QLabel nommé 'msg' pour afficher les messages d'erreur

Enregistrez le fichier avec l'extension .ui, par exemple SIERPINSKI-interface.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) Remplir le tableau par des entiers > 2

2) Placer les nombres premiers sûrs au début du tableau.

3) Trier dans l’ordre croissant les éléments premiers sûrs du tableau T suivis du reste des éléments sans tri.

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