Nombre de Keith – Bac théorique – Section informatique – 2025

Bac Info 29-01-26
12 0

Sujet (Algo et programmation - Bac 2025)

Soit K un entier de d chiffres (avec d >= 2) ayant la forme C1C2 … Cd. A partir de ce nombre on définit une suite U telle que les d premiers termes sont les d chiffres du nombre K. Ensuite chaque terme suivant est calculé en additionnant les d termes précédents.

Le nombre K est appelé nombre de Keith, si à un moment donné, un terme de la suite U est égal au nombre K.

Exemples :

- Pour K = 197, le nombre de chiffres qui le forment est égal à 3, donc d = 3 et la suite U est définie par :

Les termes de la suite sont : U1=1, U2=9, U3=7, U4=17, U5=33, U6=57, U7=107, U8=197, ... U8 = 197 = K, K est un terme de la suite donc K est un nombre de Keith.

- Pour k = 24, le nombre de chiffres qui le forment est égal à 2, donc d = 2 et la suite U est définie par :

Les termes de la suite sont U1=2, U2=4, U3=6, U4=10, U5=16, U6=26, ... . Comme U6=26>K donc K n'est pas un terme de la suite et par conséquent K n'est pas un nombre de Keith.

Travail demandé :

1) Ecrire un algorithme d'une fonction Verif(K) qui permet de retourner

- La valeur de n telle que Un=k, si K est un nombre de Keith

- La valeur -1 dans le cas contraire.

Exemples : Verif(197) retourne 8 et Verif(24) retourne -1

2) En utilisant la fonction Verif, écrire un algorithme d'un programme qui permet de remplir un tableau d'enregistrements NK par les nombres de Keith qui sont inférieurs à 100000, sachant que chaque enregistrement du tableau NK contient les champs suivants :

- Nbre : le nombre de Keith.

- Num : le numéro du terme de la suite U qui est égal au nombre de Keith contenu dans le champ Nbre.

 

Solution Algorithmique

Dans cet algorithme, On va utiliser quatre fonctions et deux procédures :

- la fonction saisie()

- la fonction verif()

- la procédure remplir_nk()

- la procédure afficher_nk()

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
taille entier
t tableau des enregistrements

 

La fonction saisie

Cette fonction permet de saisir et retourner un entier >= 10 en contrôlant la validité de la saisie.

Déclaration des objets

Objet Type / Nature
n entier

 

La fonction verif

La fonction verif(k) permet de vérifier si un entier k peut être obtenu comme terme d’une suite numérique construite à partir des chiffres de k, selon la règle de Keith calcul donnée.

Déclaration des objets

Objet Type / Nature
i entier
u tableau
ch chaîne
d entier
n entier

 

La procédure remplir_nk

La procédure remplir_nk permet de remplir le tableau d’enregistrements t par tous les entiers compris entre 10 et 999 qui vérifient la règle de Keith donnée par la fonction verif.

Déclaration des objets

Objet Type / Nature
i entier
nk enregistrement
taille entier (variable globale)

 

La procédure fury

La procédure remplir_nk permet de remplir le tableau d’enregistrements t par tous les entiers compris entre 10 et 999 qui vérifient la règle de Keith donnée par la fonction verif.

Déclaration des objets

Objet Type / Nature
f_depart fichier
f_amplitude fichier
nombres chaîne
nombre chaîne
n entier
binaire chaîne
binaire_inverse chaîne
n1 entier
n2 entier
cycle chaîne
periode entier
amplitude enregistrement

 

Solution en Python

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