Nombres de Keith – Examen théorique informatique [Bac scientifique 2025]

Bac SC 10-02-26
16 0

Sujet bac informatique théorique (Bac scientifique 2025)

Un nombre entier nb de k chiffrres est dit nombre de Keith s'il peut apparaltre dans une suite de nombres générés à partir de ses propres chiffres.Voiei les &tapes pour determiner si un nombre nb a k chiffres est un nombre de Keith ou non :

1- Déterminer les k premiers tonics de la suite : les k premiers termes de la suite sont les k chiffres du nombre nb en conainencant de gauche a droite.

2- Calculer le terme suivant de la suite : le terme suivant est la somme des k derniers ferules.

3- Répéter l'étape n°2 jusqu' a ce que le dernier terme calculé soit supérieur ou égal à nb

4- Verifier l'apparition du nombre nb : Si le nombre nb est un terme de la suite, alors it est un nombre de Keith sinon it n'est pas un nombre de Keith.

Exemnles

Pour nb = 14, on a done k =2 puisque 14 est un nombre forme de 2 ehiffres

1- Les 2 premiers termes de la suite sont sueeessivement : 1 et 4 (les k ehiffres de nb).

2- Le calcul du terme suivant de la suite : 5 = (1+4).

3- Le calcul des termes suivants : 9 — (4+5), puis 14 = (5+9). Arrest du calcul puisque le terme 14 est superieur ou egal a nb.

4- Verifier si 14 apparait dans la suite : puisque le terme 14 est egal a nb, done 14 est un nombre de Keith.

Pour nb = 189, on a done k --3 puisque 189 est un notnbre forme de 3 chiffres

1- Les 3 premiers termes de la suite sent successivement 1, 8 et 9 (les k chiffres de nb).

2- Le calcul du terme suivant de la suite : 18 = (1+8+9).

3- Le calcul des terries suivants : 35 = (8+9+18), puis 62 = (9+18+35). puis 115 = (18+35+62), puis 212 = (35+62+115). Arra du calcul puisque le terme 212 est supérieur ou égal à nb.

4- Verifier si 189 apparait dans la suite : puisque le terme 212 est strietement superieur a nb, done 189 n'appaxait pas dans la suite et par consequent 189 West pas un nombre de Keith.

Pour nb = 153 7, on a done k = 4 puisque 1537 est un nombre forme de 4 chiffres

1- Les 4 premiers termes de la suite sont successivement : 1, 5, 3 et 7 (les k chiffres de nb).

2- Le calcul du terme suivant de la suite : 16 = (1+5+3+7).

3- Le calcul des termes suivants : 31 = (5+3+7+16), puis 57 = (3+7+16+31), puis 111 = (7+16+31+57), puis 215 = (16+31+57+111), puis 414 = (31+57+111+215), puis 797 = (57+111+215+414), puis 1537 = (111+215+414+797). Arrêt du calcul puisque le terme 1537 est supérieur ou égal a

4- Vérifier si 1537 apparaît dans la suite puisque le terme 1537 est egal a nb, done le terme 1537 est un nombre de Keith.

On se propose d'écrire un algorithme d'un programme qui permet de :

- remplir un tableau T1 par N1 entiers sachant que chaque element du tableau doit etre un
entier compose de 2 chiffres au minimum et de 5 chiffres au maximum.

- générer un deuxieme tableau T2 contenant les elements de T1 qui sant des nombres de Keith.

- afficher les elements de T2 regroupes selon leurs nombres de chiffres conformement a l'exemple suivant

Exemple :

Pour N1 = 12 et le tableau T1 suivant :

Le tableau T2 généré sera donc :

Le programme affiche les lignes suivantes

14, 61, 47 nombre(s) de Keith de 2 chiffres.

Aucun nombre de Keith de 3 chiffres.

1537, 4788 : nombre(s) de Keith de 4 chiffres.

31331, 55604, 34285 : nombre(s) de Keith de 5 chiffres.

Travail demande

1- Ecrire un algorithme du programme principal, solution a ce problème, en le décomposant en

2- Ecrire un algorithme pour chaque module envisage.

N.B. : Le candidat est appelé a dresser les tableaux de déclaration des objets et des nouveaux types nécessaires.

 

Solution Algorithmique

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

-

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
tj tableau des chaînes des caractères
ts tableau des entiers
n entier
m entier

 

La fonction saisie_taille

Cette fonction saisit la taille du tableau entre deux bornes a et b.

Déclaration des objets

Objet Type / Nature
n entier

 

La fonction verif_nom

Cette fonction vérifie si la chaine est formée uniquement des lettres et/ou espaces

Déclaration des objets

Objet Type / Nature
i entier

 

La fonction verif_unicite

Cette fonction vérifie que le nom du joueur est distinct des autres noms du tableau tj

Déclaration des objets

Objet Type / Nature
j entier

 

La procédure remplir_tj

Cette procédure remplit le tableau des joueurs tj.

Déclaration des objets

Objet Type / Nature
i entier

 

La fonction exist_joueur

Cette fonction vérifie que le nom du joueur choisi par le journaliste existe dans le tableau des joueurs tj.

Déclaration des objets

Objet Type / Nature
i entier

 

La procédure remplir_ts

Cette procédure remplit le tableau des scores ts.

Déclaration des objets

Objet Type / Nature
i entier
j entier
indice entier
liste_choix chaine

 

La procédure afficher_MVP

Cette procédure affiche le score MVP de la saison, ainsi que le nom de chaque joueur ayant ce score.

Déclaration des objets

Objet Type / Nature
i entier
max entier

 

Solution en Python

Exécution du programme:

Solution en Python et Designer QT

Pour créer une application en Python et Designer QT afin d'automatiser l'élection du joueur MVP, 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 des messages d'erreur.

QLineEdit nommé 'ch1' pour entrer les noms des joueurs

QLineEdit nommé 'ch2' pour entrer les numéros des choix

QPushButton nommé 'remplirtj_bt' pour mettre les noms des joueurs dans le tableau TJ

QPushButton nommé 'remplirts_bt' pour mettre les scores dans le tableau TS

QLabel nommé 'tabtj_label' pour contenir les noms des joueurs dans le tableau TJ

QLabel nommé 'tabtj_label' pour contenir les scores dans le tableau TS

QPushButton nommé 'afficher_bt' pour rechercher le score MVP de la saison, ainsi que le nom de chaque joueur ayant ce score

QLabel nommé 'resulat' pour contenir le score MVP de la saison, ainsi que le nom de chaque joueur ayant ce score

Enregistrez le fichier avec l'extension .ui, par exemple tabtab-5.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) Remplissage du tableau Tj

2) Remplissage du tableau TS

3) Affichage du score MVP de la saison, ainsi que le nom de chaque joueur ayant ce score

 

Vous pouvez voir aussi :

1) des exercices sur les chaînes des caractères

2) des exercices sur les tableaux

3) des sujets Bac pratique

4) des sujets Bac théorique

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 Haj Salah - Prof Info