Bac scientifique pratique 2013 [ Algorithme + Python ]

Algo et Python 03-08-24
52 0

Travail demandé

La segmentation d’un tableau T de N entiers par rapport à l’élément numéro 1 du tableau consiste à placer les éléments inférieurs ou égaux à T[0] à sa gauche et les éléments strictement supérieurs à T[0] à sa droite.

Exemple :

Soient N=10 et le tableau suivant :

125 10 34 48 125 1026 22 -365 411 192

La segementation de T par rapport à l’élément numéro 1 donne le tableau suivant :

10 34 48 125 22 -365 125 1026 411 192

N.B : L’ordre d’apparition des éléments inférieurs ou égaux à T[0] et celui des éléments strictement supérieurs à T[0] doit rester le même que dans le tableau initial.

Ecrire un programme Python qui permet de saisir un entier N(2<=N<=30), de rempli un tableau T par N entiers, de segmenter le tableau T par rapport à T[0] et d’afficher le tableau T segmenté.

Solution Algorithmique

1. Saisie de la taille du tableau n

Demander à l'utilisateur de saisir un entier n tel que 2≤n≤30 .

Vérifier que la valeur saisie est dans l'intervalle autorisé. Si ce n'est pas le cas, redemander la saisie jusqu'à obtenir une valeur correcte.

2. Remplissage du tableau T par n entiers

Initialiser un tableau T vide.

Demander à l'utilisateur de saisir n entiers et les ajouter successivement au tableau T.

3. Segmentation du tableau T par rapport à T[0]

Initialiser une variable x avec la valeur de T[0].

a- Utiliser deux indices i qui commence à l'index 1 (juste après le pivot).

a- Utiliser deux indices j qui commence à l'index i .

b- Parcourir le tableau en comparant les éléments à x :

Si T[i] est inférieur ou égal à x, avancer i d'une position.

Si T[i] est strictement inférieur à x, échanger T[i] avec T[i-1].

Si T[i] est égal à x, j prend la valeur de i

Répéter ce processus jusqu'à ce que i dépasse la taille du tableau.

4. Affichage du tableau segmenté

Afficher le tableau T segmenté, où tous les éléments inférieurs ou égaux à t[0] sont à gauche et tous les éléments strictement supérieurs à t[0] sont à droite.

Dans cet algorithme, On va utiliser une fonction et trois procédures :

Déclaration des objets

Objet

Type / Nature


n

entier

t

tableau de 30 entiers

La fonction saisie_taille

Cette fonction retourne un entier n entre 2 et 30 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.

Objet

Type / Nature

i

entier

La procédure segmenter

Cette procédure transforme le tableau T afin d'obtenir tous les éléments inférieurs ou égaux à t[0] sont à gauche et tous les éléments strictement supérieurs à t[0] sont à droite..

Objet

Type / Nature

i

entier

j

entier

x

entier

temp

entier

La procédure afficher

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

Objet

Type / Nature

i

entier

Solution en Python

Exécution du programme

Le tableau T après la segmentation:

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 afficher segmenter le tableau T des n entiers en utilisant Qt Designer pour l'interface graphique, suivez 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:

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é 'segmenter_bt' pour exécuter le module segmenterTab afin de segmenter le tableau T .

QLabel nommé 'msg' pour afficher un message d'erreur si ch est vide ou contient des valeurs non numériques .

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

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

Le tableau T après la segmentation:

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