Suite arithmétique – Bac pratique – Section informatique – 2010

Bac Info 09-12-25
23 0

Sujet (Algo et programmation - Bac 2009)

Ecrire an programme Python qui permet de :
- remplir un fichier nommé "Nornbre.dat" par n chiffres aléatoires non nuls (avec 2 < n< 50).- déterminer et afficher le plus petit nombre (pn) et le plus grand nombre formé par tous les chiffres de ce fichier.- vérifier si les écarts entre tous les chiffres symétriques de (gn) forment des termes successifs d'une suite arithmétique, dans l'affirmative, afficher sa raison (r).Deux chiffres Ci et Cj dc gn sont dits symétriques si leurs positions respectives i et j dans gn vérifient : k +1, avec k le nombre de chiffres de gn, pour tout i allant de 1. k div 2.

 

Solution Algorithmique

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

- la fonction saisie()

- la procédure remplir_fichier_nombres()

- la procédure extraction_nombre()

- la fonction min_nombre()

- la fonction max_nombre()

- la procédure verif_suite_arithmetique()

 

Algorithme du programme Principal

Déclaration des objets

 

Objet Type / Nature
n entier
t tableau des entiers
gn entier
pn entier

 

La fonction saisir

La fonction saisie() permet à l’utilisateur de saisir un entier n et de contrôler que cet entier appartient bien à l’intervalle strict : 100

Déclaration des objets

Objet Type / Nature
n entier

 

La procédure remplir_fichier_nombres

La procédure génère automatiquement n chiffres aléatoires compris entre 0 et 9, puis les enregistre dans un fichier texte nommé Nombres.dat, un chiffre par ligne.

Elle :

- crée ou remplace le fichier Nombres.dat.

- produit n chiffres choisis au hasard.

- les écrit dans le fichier, chacun sur une nouvelle ligne.

- ferme le fichier à la fin.

Déclaration des objets

Objet Type / Nature
f fichier du Nombre.dat
i entier
chiffre entier

 

La procédure extraction_nombre

La fonction extraction_nombre a pour rôle de :

- lire les n chiffres stockés dans le fichier nombres.dat

- convertir chaque chiffre lu en entier

- placer ces valeurs dans le tableau t, dans l’ordre où elles apparaissent dans le fichier.

Déclaration des objets

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

 

La procédure min_nombre

La procédure min_nombre a pour rôle de former le plus petit nombre possible à partir des n chiffres contenus dans le tableau t.

Pour cela, elle :

- trie les chiffres du tableau t dans l’ordre croissant en utilisant un tri par sélection.

- construit un nombre en concaténant les chiffres triés du plus petit au plus grand.

- retourne ce nombre sous forme d’une chaîne de caractères.

Déclaration des objets

Objet Type / Nature
i entier
min_indice entier
nombre chaîne

 

La procédure max_nombre

La procédure max_nombre a pour rôle de former le plus grand nombre possible à partir des n chiffres contenus dans le tableau t.

Pour cela, elle :

- trie les chiffres du tableau t dans l’ordre déccroissant en utilisant un tri par sélection.

- construit un nombre en concaténant les chiffres triés du plus grand au plus petit.

- retourne ce nombre sous forme d’une chaîne de caractères.

Déclaration des objets

Objet Type / Nature
i entier
max_indice entier
nombre chaîne

La fonction verif_suite_arithmetique

La fonction verif_suite_arithmetique a pour rôle de vérifier si les chiffres du tableau t forment une suite arithmétique lorsqu’on les compare par paires symétriques (c’est-à-dire le premier avec le dernier, le deuxième avec l’avant-dernier, etc.).

Plus précisément, elle :

- calcule les premières différences entre les paires de chiffres symétriques :

𝑡[0]−𝑡[𝑛−1]

t[1]−t[n−2]

- compare ces différences pour obtenir une première relation.

- parcourt toutes les autres paires symétriques :

t[i]−t[n−i−1]

t[i+1]−t[n−i−2]

- vérifie si la même relation entre les différences est toujours respectée et retourne  Vrai si toutes les paires respectent la même différence (donc forment une suite arithmétique), Faux sinon.

Déclaration des objets

Objet Type / Nature
u0 entier
u1 entier
i entier
r 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