Bac scientifique théorique 2006 [ Algorithme + Python ]

Algo et Python 01-08-24
120 0

Sujet bac informatique théorique 2006 (Bac scientifique)

Soient deux tableaux T1 et T2 contenant chacun n éléments distincts deux à deux (1<=n<=30). On appelle intersection de T1 et T2 l’ensemble des éléments communs à ces deux tableaux. On se propose d’écrire un programme qui range les éléments de l’intersection des deux tableaux dans un tableau INTER puis affiche les trois tableaux T1,T2 et INTER.  

Solution Algorithmique

Pour trouver l'intersection de deux tableaux T1 et T2 contenant chacun éléments distincts, et pour ranger les éléments communs dans un tableau INTER, nous pouvons suivre l'algorithme suivant :

1- Remplissage des tableaux T1 et T2 par n entiers distincts :

Pour chaque tableau suivre ces étapes :

a- Saisir le premier élément du tableau (lire t[0])

a- Initialiser un index i à 1, qui suivra le nombre d'éléments actuellement dans T.

b- Saisir un entier (lire t[i]).

c- Vérifier si cet entier n'est pas déjà présent dans T. Pour ce faire, parcourir le tableau T jusqu'à l'index i-1 et comparer chaque élément à t[i].

d- Si t[i] est trouvé dans T, on retourne à la phase (b)

Sinon on incrémente l'indice i et on retourne à la phase (b) .

2- Initialisation :

Créer un tableau INTER pour stocker les éléments communs.

Initialiser un index k à 0 pour suivre le nombre d'éléments dans INTER.

3- Recherche des éléments communs :

Pour chaque élément T1[i] dans T1 :

- Parcourir T2 et vérifier si T1[i] est présent dans T2.

- Si T1[i] est trouvé dans T2, ajouter T1[i] dans INTER[k] et incrémenter k.

4- Affichage le tableaux INTER

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

 

Algorithme du programme principal

Déclaration des objets

Objet

Type / Nature

n

entier

t1

tableau de 30 entiers

t2

tableau de 30 entiers

inter

tableau de 30 entiers

La fonction saisie_taille

Cette fonction retourne un entier n entre 1 et 30 saisi par l'utilisateur.

Déclaration des objets

Objet

Type / Nature

n

entier

La fonction verif_distinct

Cette fonction vérifie si un entier saisi par l'utilisateur se trouve dans le tableau.

Déclaration des objets

Objet

Type / Nature

i

entier

j

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 procédure intersection

Cette procédure parcourt les deux tableaux T1 et T2 contenant chacun éléments distincts et range les éléments communs dans un tableau INTER

Déclaration des objets

Objet

Type / Nature

i

entier

j

entier

k

entier

taille_intersection (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 ranger les éléments communs des deux tableaux T1 et T2  dans un tableau INTER

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é 'remplirt1_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é 'remplirt2_bt' pour exécuter le module createTab2 afin de remplir le tableau à partir de la chaine 'ch2'.

QPushButton nommé 'intersection_bt' pour exécuter le module intersectionT1T2.

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

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

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

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

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