Facteurs premiers – Bac pratique – Section informatique – 2009

Bac Info 05-12-25
29 0

Sujet (Algo et programmation - Bac 2009)

Soit p et q deux entiers naturels tels que 10 < p < q <100000. On se pr0pose d’enregistrer dans un fichier texte decomp.txt placé sur la racine du lecteur C la décomposition en facteurs premiers de tous les entiers compris entre p et q.

La première ligne du fichier deeomp.txt contiendra le naturel p suivi d’une espace, suivie du naturel q. Chacune des autres lignes contiendra l'entier à décomposer suivi du signe égal suivi de sa décomposition.

Exemple :

Si p=34 et q=36 le fichier Jecomp.txt contiendra des informations suivantes :

34 36

34-2 .17

35=S.7

36=2 .2.3.3

Ecrire un programme en Python qui permet d'afficher à l'écran la décomposition en facteurs premiers de tous les entiers compris entre p ct q ct de remplir le fichier decomp.txt comme décrit précédemment.

 

 

Solution Algorithmique

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

- la fonction saisie()

- la fonction facteur_premiers ()

- la procédure remplir_fichier_decomp

 

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
p entier
q entier

La fonction saisir

La fonction saisie permet de demander à l’utilisateur un nombre entier n et de vérifier qu’il appartient strictement à l’intervalle : inf < n < sup Elle : 1- affiche une demande de saisie avec les bornes inférieures et supérieures. 2- contrôle la validité de la saisie : tant que l’utilisateur entre une valeur hors de l’intervalle, la fonction redemande un nombre. 3- retourne le nombre correct une fois qu'il est dans la plage exigée.

Déclaration des objets

Objet Type / Nature
n entier

La fonction facteur_premiers

Cette fonction permet de décomposer un nombre entier n en ses facteurs premiers et de retourner cette décomposition sous forme de chaîne de caractères.

Elle :

1- recherche les diviseurs premiers de n en commençant par 2.

2- à chaque fois qu’un diviseur i partage n, elle ajoute ce facteur à la chaîne ch (ex : "2.3.3.") et divise n par i pour continuer la décomposition.

3- Si i ne divise pas n, la fonction essaie le diviseur suivant.

4- La boucle continue tant que n n’est pas réduit à 1.

5- Avant de renvoyer le résultat, elle supprime le dernier point inutile.

Déclaration des objets

Objet Type / Nature
i entier
ch chaîne

 

La procédure remplir_fichier_decomp

Cette procédure permet de créer un fichier texte contenant la décomposition en facteurs premiers de tous les nombres compris entre p et q (inclus).

Elle effectue les actions suivantes :

1- ouvre un fichier nommé decomp.txt en écriture

2- écrit dans le fichier les bornes p et q

3- pour chaque nombre de l’intervalle [p, q] : elle calcule sa décomposition en facteurs premiers en appelant facteur_premiers(i) et affiche le résultat sur l’écran.

4- ferme le fichier à la fin du traitement.

Déclaration des objets

Objet Type / Nature
f fichier du nombre.dat
i entier

 

Solution en Python

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