100% ont trouvé ce document utile (1 vote)
41 vues3 pages

DC Pratique2

Le document présente un devoir de contrôle en algorithmique pour les élèves de 4ème en sciences informatiques. Il décrit la notion de nombres BONBONS et les étapes pour créer un programme qui génère des entiers aléatoires, les enregistre dans un fichier, puis calcule et affiche leur décomposition en facteurs premiers. Enfin, il demande de développer des modules pour interagir avec l'interface utilisateur afin de remplir et traiter les fichiers de données.

Transféré par

charfeddinenaoufel4028
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
41 vues3 pages

DC Pratique2

Le document présente un devoir de contrôle en algorithmique pour les élèves de 4ème en sciences informatiques. Il décrit la notion de nombres BONBONS et les étapes pour créer un programme qui génère des entiers aléatoires, les enregistre dans un fichier, puis calcule et affiche leur décomposition en facteurs premiers. Enfin, il demande de développer des modules pour interagir avec l'interface utilisateur afin de remplir et traiter les fichiers de données.

Transféré par

charfeddinenaoufel4028
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ministère de l’éducation

D.R.E. Monastir DEVOIR DE CONTRÔLE N°2 Niveau : 4ème Sc. Info.


Matière : Algorithmique
et programmation
Lycée Ksibet Médiouni
2023-2024 PRATIQUE     
Durée:1 heure Prof : MILADI Souâd

L'arithmétique est une branche des mathématiques qui étudie les propriétés et les règles de calcul entre les
nombres. Dans ce contexte, un nombre positif est dit BONBON si sa décomposition en facteurs premiers
contient un nombre de facteurs (non obligatoirement distincts) égal au nombre de ses chiffres.

Exemples de nombres BONBONS:


• 9610 = 2*5*31*31
En effet, 9610 contient 4 chiffres et sa décomposition en facteurs premiers contient 4 facteurs.
• 916=2*2*229
En effet, 916 contient 3 chiffres et sa décomposition en facteurs premiers contient 3 facteurs.
On veut écrire un programme qui permet de :
➢ Remplir un fichier texte "nombres.txt" par N Exemple :
entiers aléatoires , non premiers et compris Si on a N=10 et b=16
entre 100 et 10000 représentés dans une base b "nombres.txt"
sur chaque ligne un nombre avec N et b sont
D23 Ces nombres sont choisis
deux données qui vérifient les conditions 946 aléatoirement tel que chaque
suivantes : 8DE entiers x est :
◦ N est un entier compris entre 5 et 20 2541 • compris entre 100 et
◦ b est un entier compris entre 2 et 16 et B10 10000
b10 2709 • non premier
734 puis chaque x choisi
178F aléatoirement sera converti en
987 base b=16 et stocké sur une ligne
1FD2 du fichier

"nombres.txt" "resultat.dat"
➢ A partir du fichier texte "nombres.txt" remplir
D23 3363 "3*19*59"
un deuxième fichier d’enregistrements
"resultat.dat" tel que chaque enregistrement de 946 2374 "2*1187"
ce fichier est composé de deux champs :
◦ x : sera rempli à partir d’une ligne du fichier 8DE 2270 "2*5*227"
"nombres.txt" en prenant le nombre
2541 9537 "3*11*17*17"
correspondant à cette ligne et le convertir en
décimal (entier). B10 2832 "2*2*2*2*3*59"
◦ fact : La décomposition en facteurs
premiers de l’entier x. 2709 9993 "3*3331"

734 1844 "2*2*461"

178F 6031 "37*163"

987 2439 "3*3*271"

1FD2 8146 "2*4073"

➢ Chercher et afficher tous les nombres BONBONS qui apparaissent dans le fichier"resultat.dat"
Pour cela, on vous donne l’interface suivante nombre.ui déjà créée et donnée dans le fichier ressources.rar
Cette fenêtre est composée par :

• Trois labels nommées titre, l1 et l2


contenant respectivement les textes
N= et base b=
• Deux zones de saisies d1 et d2
• Une liste widget list
• Une table widget table
• Trois boutons b1,b2 et b3
contenant respectivement les texte
Remplir, Transférer vers un
fichier data et BONBONS

Travail demandé :
Ouvrir le fichiers nombres.ui et program.py et les enregistrer sur votre dossier de travail. Puis ajouter les
modules suivants :

1) Un module qui s’exécute suite au clic sur le bouton b1 (Remplir) qui permet de récupérer les données
tapées dans les zones de saisies d1 et d2 puis vérifier les données, si toutes les contraintes données ci dessus
sont respectées alors le programme passe à :
• Remplir le fichier par N entiers aléatoires , non premiers et compris entre 100 et 10000 représentés
dans la base b tapée.
• Afficher le contenu du fichier dans la listwidget .

Sinon un message d’erreur sera affiché via un QmessageBox.

On vous donne des captures d’écran concernant l’exécution du clic sur ce bouton
2) Un module qui s’exécute suite au clic sur le bouton b2 (Transférer vers un fichier data) permettant de
remplir le fichier "resultat.dat" comme expliqué ci dessus et d’afficher son contenu dans la tableWidget.

On vous donne une capture d’écran pour comprendre le fonctionnement de ce bouton.

3) Un module qui s’exécute suite au clic sur le bouton b3 (BONBONS) permettant d’afficher la liste des
entiers BONBONS qui apparaissent dans le fichiers"resultat.dat"

Ci-dessous une capture d’écran pour le clic sur ce bouton.

BON TRAVAIL 

Vous aimerez peut-être aussi