Création d’un nom pour un nouvel article – Bac pratique 2019 [ Algorithme + Python ]

Algo et Python 08-10-24
27 0

Sujet bac informatique pratique 2019 (Bac scientifique)

Le responsable de marketing d’une société veut créer un nom pour un nouvel article à partir de N noms de produits existants, sachant que ces derniers ont le même nombre de caractères. Le procédé ci-après a été sélectionné pour générer des propositions à utiliser dans le choix du nouveau nom.

Choisir un entier P inférieur à la longueur des noms des

Former une chaîne en concaténant le Pième caractère de chaque nom des N produits

Procéder à des permutations spirales des N lettres obtenues pour avoir N propositions à exploiter.

Le principe de la permutation spirale consiste à concaténer les différents caractères d’une chaîne de manière spirale en commençant par le dernier caractère (dernier caractère, premier caractère, avant dernier caractère, deuxième caractère, etc…).

Ce principe est illustré par l’exemple ci-dessous, qui pour une chaîne de départ "ABCDE" formée de 5 lettres et après 4 permutations spirales, on obtient la chaîne "BDECA". La 5ème permutation spirale permet de retrouver la chaîne de départ.

On se propose d’écrire un programme Python permettant :

1- de remplir un tableau Nom par les N noms des produits déjà commercialisés (avec 3 ≤ N ≤ 20), sachant que le nom d’un produit est une chaîne formée de 10 lettres majuscules,

2- de former une chaîne CH en concaténant le Pième caractère de chaque nom des N produits déjà commercialisés,

3- de procéder à des permutations spirales des N lettres de la chaîne CH,

4- d’afficher les N propositions

Solution Algorithmique

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

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
nom tableaux des chaînes des caractères
n entier

 

La fonction saisie_taille

Cette fonction saisit un entier entre deux bornes a et b.

Déclaration des objets

Objet Type / Nature
n entier

 

La fonction verif_nom

Cette fonction vérifie que le nom saisi est formé par des lettres majuscules.

Déclaration des objets

Objet Type / Nature
i entier

 

La procédure remplir

Cette procédure remplit le tableau T des noms des articles.

Déclaration des objets

Objet Type / Nature
i entier

 

La procédure spirale

Cette procédure permet de :

1- de former une chaîne CH en concaténant le Pième caractère de chaque nom des N produits déjà commercialisés,

2- de procéder à des permutations spirales des N lettres de la chaîne CH,

3- d’afficher les N propositions

Déclaration des objets

Objet Type / Nature
i entier
ch chaîne des caractères
ch2 chaîne des caractères

 

Solution en Python

Exécution du programme

Solution en Python et Designer QT

Pour créer une application en Python et Designer QT qui va générer un nom pour le nouvel article, on va suivre 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 les noms des articles.

QPushButton nommé 'remplir_bt' pour mettre les noms des articles dans le tableau Nom.

QLineEdit nommé 'p' pour entrer le rang des caractères à concatiner.

QPushButton nommé 'afficher_bt' pour procéder à des permutations spirales des N lettres de la chaîne CH.

QLabel nommé 'msg' pour afficher des messages d'erreur.

QLabel nommé 'resultat' pour afficher les N propositions pour le nouvel article.

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

1) Remplissage du tableau Nom des noms des articles

2) Afficher les propositions des noms pour le nouvel article.

 

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