Jeu de tir – Bac pratique 2019 [ Algorithme + Python ]

Algo et Python 09-10-24
141 0

Sujet bac informatique pratique 2019 (Bac scientifique)

Le jeu de tir à l’arc consiste à tirer des flèches en utilisant un arc vers un endroit cible.

Un club de tir à l’arc organise une compétition entre ses joueurs. Cette compétition consiste à donner à chaque joueur trois essais de tir.

A chaque tir, le joueur gagne de 0 à 10 points selon l’endroit touché par la flèche sur une cible composée de 10 cercles concentriques comme l’illustre la figure ci-dessous.

Après le 3ème essai, un score est calculé pour chaque joueur représentant la somme des résultats de ses trois essais, et ce pour classer les joueurs.

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

1- de remplir un tableau A par N noms de joueurs participant à cette compétition (avec 2 ≤ N ≤ 20),

2- de calculer le score de chaque joueur sachant que le résultat d’un essai est un entier positif inférieur ou égal à 10,

3- d’afficher la liste des joueurs ainsi que les scores correspondants en commençant par le meilleur.

Exemple :

Pour N = 4 et le tableau A suivant :

 

A Mohamed ABIDI Fatma AYADI Anis OMRI Imen LOUIZ
1 2 3 4

En considérant que les résultats des trois essais ainsi que les scores calculés des quatre joueurs sont les suivants :

 

Joueur Essai n°1 Essai n°2 Essai n°3 Score
Mohamed ABIDI 8 10 9 27
Fatma AYADI 10 7 10 27
Anis OMRI 7 9 7 23
Imen LOUIZ 9 9 10 28

 

La liste des joueurs affichée sera la suivante :

Imen LOUIZ avec un score de 28 Mohamed ABIDI avec un score de 27 Fatma AYADI avec un score de 27 Anis OMRI avec un score de 23

Solution Algorithmique

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

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
a tableau des chaînes des caractères
score entier

 

La fonction saisie_taille

Cette fonction saisit la taille du tableau entre 2 et 20.

Déclaration des objets

Objet Type / Nature
n entier

 

La fonction verif_nom

Cette fonction vérifie que le nom saisi est forme uniquement des lettres et/ou espaces et ne dépasse pas 30 caractères

Déclaration des objets

Objet Type / Nature
i entier

 

La procédure remplir

Cette procédure remplit un tableau A par N noms de joueurs participant à cette compétition (avec 2 ≤ N ≤ 20) et calculer le score de 3 essais sachant que le résultat d’un essai est un entier positif inférieur ou égal à 10,

Déclaration des objets

Objet Type / Nature
i entier
e entier

 

La procédure tri

Cette procédure permet de trier le tableau score dans un ordre décroissant en utilisant la méthode de tri par sélection.

Déclaration des objets

Objet Type / Nature
i entier
j entier
max entier

 

La procédure afficher

Cette procédure permet d’afficher la liste des joueurs ainsi que les scores correspondants en commençant par le meilleur

Déclaration des objets

Objet Type / Nature
i entier

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 saisir les noms des joueurs, calculer les scores des joueurs et afficher les meilleurs, 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é 'ch1' pour entrer les noms des joueurs.

QLineEdit nommé 'ch2' pour entrer les essais des joueurs.

QPushButton nommé 'remplira_bt' pour mettre les noms des joueurs dans le tableau A.

QPushButton nommé 'remplirs_bt' pour calculer et mettre les scores dans le tableau score.

QPushButton nommé 'trier_bt' pour trier le tableau score dans un ordre croissant.

QPushButton nommé 'afficher_bt' pour afficher la liste des joueurs ainsi que les scores correspondants en commençant par le meilleur.

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

QLabel nommé 'resultat' pour contenir la liste des joueurs ainsi que les scores correspondants en commençant par le meilleur.

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 A des noms des joueurs

2) Remplissage du tableau score des essais des joueurs

3) Trier le tableau score dans un ordre décroissant

4) Afficher la liste des joueurs ainsi que les scores correspondants en commençant par le meilleur.

 

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