Bac scientifique théorique 2009 [ Algorithme + Python ]

Algo et Python 03-08-24
141 0

Sujet bac informatique théorique 2009 (Bac scientifique)

On se propose d’écrire un programme Python permettant de remplir deux tableaux V1 et V1 respectivement par n et m entiers (avec n et m deux entiers de l’intervalle [2..30] et les éléments de V1 et V2 sont saisis dans un ordre strictement croissant), puis de fusionner les éléments de ces deux tableaux dans un tableau V3 en éliminant les redondances et en gardant l’ordre croissant des éléments. Enfin, le programme affichera les éléments du tableau V3.
Exemple :

Si n=5, m=7 et les éléments de deux tableaux V1 et V2 sont :

V1

4 7 8 9 12

V2

0 2 4 7 10 12 28

V3

0 2 4 7 8 9 10 12 28

Solution Algorithmique

Pour résoudre ce problème, nous devons suivre les étapes suivantes :

1- Saisie des valeurs de n1 et n2 : Vérifiez que n1 et n2 sont bien dans l'intervalle [2..30].

2- Saisie des éléments des tableaux V1 et V2 : Assurez-vous que les éléments sont saisis dans un ordre strictement croissant.

3- Fusion des tableaux V1 et V2 dans V3 : Combinez les deux tableaux en éliminant les doublons et en maintenant l'ordre croissant.

4- Affichage des éléments de V3: Imprimez les éléments du tableau fusionné.

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

 

Algorithme du programme principal

Déclaration des objets

Objet

Type / Nature

n1

entier

n2

entier

v1

tableau de 30 entiers

v2

tableau de 30 entiers

v3

tableau de 30 entiers

La fonction saisie

Cette fonction retourne un entier n entre 1 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 distincts et d'une façon croissante.

Déclaration des objets

Objet

Type / Nature

i

entier

La procédure fusion

Cette procédure fusionne les éléments de deux tableaux V1 et V2 dans un tableau V3 en éliminant les redondances et en gardant l’ordre croissant des éléments.

Déclaration des objets

Name

Age

i

entier

j

entier

k

entier

taille_fusion (variable globale)

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 fusionner les éléments des deux tableaux V1 et V2  dans un tableau V3

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é 'ch1' pour entrer des entiers .

QPushButton nommé 'remplirv1_bt' pour exécuter le module createTab1 afin de remplir le tableau à partir de la chaine 'ch1'.

QLineEdit nommé 'ch2' pour entrer des entiers .

QPushButton nommé 'remplirv2_bt' pour exécuter le module createTab2 afin de remplir le tableau à partir de la chaine 'ch2'.

QPushButton nommé 'fusion_bt' pour exécuter le module fusionV1V2.

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

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

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

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

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