Tableau de suite – Bac Pratique 2014 [ Algorithme + Python ]

Algo et Python 24-08-24
83 0

Sujet bac informatique pratique 2015 (Bac scientifique)

On se propose d’écrire un programme qui à partir d’un tableau T de n entiers positifs, permet de placer dans un nouveau tableau V, chaque élément de T qui représente un terme d’une suite U définie comme suit :

U0=1

Un=3*Un-1-1

Travail demandé : Ecrire un programme Python qui permet de :

- saisir un entier n (avec n  [5,40]) et de remplir un tableau T par n entiers positifs.

- placer dans un tableau V les éléments qui représentent des termes de la suite U dans leur ordre d’apparition dans la suite.

- afficher le tableau V s’il n’est pas vide ou afficher, dans la cas contraire, le message « Aucun élément de T ne correspond à un terme de la suite U »

Exemple : Pour n=6 et le tableau T suivant :

12 41 26 2 5 5

On ontient le tableau V suivant :

41 2 5 5

Solution Algorithmique

Pour résoudre ce problème, voici le principe de l'algorithme à suivre :

1. Saisie de l'entier n et remplissage du tableau T

a) Demander à l'utilisateur de saisir un entier n qui doit être compris entre 5 et 40.

b) Initialiser un tableau T de taille n.

c) Remplir le tableau T avec n entiers positifs fournis par l'utilisateur.

2. Calcul des termes de la suite U

a) Initialiser le premier terme de la suite U avec U0 = 1.

b) Calculer les termes suivants de la suite en utilisant la relation de récurrence : Un = 3 * Un-1 - 1, jusqu'à ce que le terme calculé soit supérieur au plus grand élément du tableau T.

3. Remplissage du tableau V

a) Parcourir le tableau T et pour chaque élément de T, vérifier s'il correspond à l'un des termes calculés de la suite U.

b) Si c'est le cas, ajouter cet élément dans le tableau V.

4. Affichage du tableau V

a) Si le tableau V contient des éléments, les afficher.

b) Sinon, afficher le message : "Aucun élément de T ne correspond à un terme de la suite U".

Dans cet algorithme, On va utiliser 2 fonctions et 3 procédures :

Algorithme du programme principal

Déclaration des objets

Objet

Type / Nature

i

entier

t

tableau de 50 entiers

v

tableau de 50 entiers

La fonction saisie

Cette fonction retourne un entier n entre 5 et 40 saisi par l'utilisateur.

Déclaration des objets

Objet

Type / Nature

n

entier

La procédure remplir

Cette procédure remplit le tableau t de n entiers distincts.

Déclaration des objets

Objet

Type / Nature

i

entier

La fonction recherche_terme

Cette fonction vérifie si un entier n correspond à l'un des termes calculés de la suite U

Déclaration des objets

Objet

Type / Nature

u

entier

La procédure transfert

Cette procédure parcourt le tableau T et pour chaque élément de T, vérifier s'il correspond à l'un des termes calculés de la suite U.

Et si c'est le cas, elle ajouter cet élément dans le tableau V.

Déclaration des objets

Objet

Type / Nature

i

entier

j

entier

La procédure afficher_tableau

Cette procédure affiche les éléments du tableau.

Déclaration des objets

Objet

Type / Nature

i

entier

Solution en Python

Exécution du programme

Solution en Python et Designer QT

Pour remplir un tableau d'entiers à partir d'une chaîne de caractères en Python, vous pouvez suivre les étapes suivantes :

1- Découper la chaîne de caractères en sous-chaînes contenant les entiers.

2- Convertir chaque sous-chaîne en entier.

3- Ajouter chaque entier au tableau.

Pour créer une application en Python pour placer dans un nouveau tableau V, chaque élément de T qui représente un terme d’une suite U.

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:

QLineEdit nommé 'ch' pour entrer des entiers .

QPushButton nommé 'remplir_bt' pour exécuter le module createTab afin de remplir le tableau à partir de la chaine 'ch'.

QPushButton nommé 'remplir_bt' pour exécuter le module createTab.

QPushButton nommé 'bt_transfert' pour exécuter le module transfert.

QLabel nommé 'msg' pour afficher un message d'erreur si ch est vide ou contient des valeurs non numériques ou les éléments du tableau ne sont pas positifs.

QLabel nommé 'tab_label' pour afficher les éléments du tableau T.

QLabel nommé 'tabV_label1' pour afficher les éléments du tableau V.

Enregistrez le fichier avec l'extension .ui, par exemple tabtab-2.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

 

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