0% ont trouvé ce document utile (0 vote)
8 vues9 pages

App 1

tp de programmation java

Transféré par

nignanalexgael
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
8 vues9 pages

App 1

tp de programmation java

Transféré par

nignanalexgael
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

M.

NAGALO ISGE-BF 2020-2021

Un robot d’intervention pour le sauvetage des personnes en


environnement hostile

Guide pour l’APP


Quels sont les objectifs de l’APP ?
Le but de l’activité en APP est de vous familiariser avec un nouveau mode d’apprentissage,
cette transition est importante dans ce dispositif. Le tuteur vous accompagnera et devra veiller
à:
• Faciliter cette transition
• Proposer une formation spécifique au métier d’« étudiant actif» en traitant une 1ère
fois un petit nombre de savoir-faire méthodologiques essentiels pour la réussite des
études:
o Les modalités d’exploitation d’un problème
o L’acquisition de méthodes de travail en groupe et individuel
o Des repères pour communiquer les conclusions d’un APP
• Faire découvrir aux étudiants le contexte des études d’ingénieur ainsi que certaines
attentes des enseignants en matière de qualité, de rigueur, de précision, etc.
• Atteindre un certain nombre d’objectifs disciplinaires (cf. Ci-dessous)

Le problème en APP
Dans l’APP, la démarche suivie est structurée autour d’un problème en lien avec l’exercice
d’une profession plutôt que de matières ou disciplines. Il s’agit de confronter un groupe
d’étudiants à une situation ou à un problème proche d’une pratique professionnelle donnée dans
le but d’asseoir solidement les connaissances, les savoir-faire ou les attitudes et aptitudes
nécessaires à l’exercice de cette profession. Dans le cadre de l’APP en JAVA, il s’agit pour
l’étudiant de se mettre dans la peau d’un ingénieur informaticien qui est face à un problème
réel.

Page 1 sur 9
Enoncé du problème
La société Novel SARL conçoit et développe des robots d’intervention qui sont utilisés dans de
nombreuses entreprises au Burkina Faso.
Son directeur général M. PALE est heureux d’avoir remporté un appel d’offre important émis
par la société Burkina Equipements. Cet appel d’offre concerne la réalisation d’un robot
d’intervention pour le sauvetage des personnes en milieu hostile (cas d’accident sur un site
minier, chimique, bactériologique…)
Vous êtes un (e) jeune ingénieur (e) nouvellement recruté (e) chez Novel SARL et êtes intégré
(e) dans le pôle « Recherche et développement » dirigé par M. TIEMTORE. Ce pôle doit
concevoir un simulateur : les programmes réalisés dans le simulateur pourront – sans aucune
modification – être ensuite utilisés dans le robot. Comme le robot est un robot mobile, le
simulateur permet de visualiser les déplacements du robot sur un écran d’ordinateur.
M. TIEMTORE souhaite que, d’ici une semaine, le simulateur soit en mesure de détecter
quelques victimes dans un environnement sans obstacle, d’en compter le nombre, de déterminer
la position de la victime dans l’état le plus critique et d’afficher les caractéristiques de celle-ci.
Les affichages seront à faire dans la console ou dans une boîte de dialogue.
Les messages doivent pouvoir s’afficher dans 4 langues différentes : le français, l’anglais, à
vous de proposer 2 autres langues (le simulateur pourrait être exporté dans différents pays). La
langue utilisée doit être choisie au démarrage de la simulation
Etant nouvel embauché chez Novel SARL, M. TIEMTORE vous a divisé le travail en 2
variantes de difficulté différente pour cette mission.
Variante 1 – difficulté : *
Le robot parcourt tout le terrain à la recherche des victimes. En plus des données ci-dessus, la
simulation doit afficher la gravité moyenne sur l’ensemble des victimes.
M. TIEMTORE vous conseille de commencer par prendre en main le simulateur en réalisant
un déplacement du robot sur la première ligne (jusqu’à la dernière case).
Variante 2 – difficulté : **
Au début de la simulation, le nombre de victimes est saisi. Pour cette version du simulateur,
vous devrez vous assurer que ce nombre est compris entre 1 et 6.
Dès la dernière victime trouvée, le robot interrompt son exploration du terrain, rejoint la victime
dans l’état le plus critique et lui communique un message d’encouragement dans la langue
appropriée. Ce message s’affichera dans une fenêtre dédiée. Enfin, la simulation doit afficher
le pourcentage de terrain non exploré.

Pré-acquis
Vous avez une première expérience en programmation qui vous a permis de définir et utiliser
des variables, de choisir une structure de contrôle de type test et/ou répétition.
M. NAGALO ISGE-BF 2020-2021

Vous avez, à cette occasion, utilisé un environnement de programmation.

Objectifs d’apprentissage

À la fin de ce problème, chacun d’entre vous :


• Sera en mesure d’expliquer la signification et l’intérêt des notions ci-dessous :
o Algorithme
o Commentaires
o Environnement de développement
o Programme et langage de programmation
o Types, variables et affectation
o Sorties à l’écran (dans la console)
• Sera en mesure d’éditer, modifier, compiler et exécuter un programme java avec
Eclipse,
• Sera en mesure d’expliquer la signification et l’intérêt des notions ci-dessous :
o Les 3 types de répétitions
o Les 2 types de tests
• Sera capable de déterminer, face à un problème, s’il faut utiliser une structure de
répétition ou une structure de test,

• Pourra argumenter le choix de telle ou telle structure de répétition pour résoudre un


problème donné,

• Saura formuler correctement toutes les structures de répétition.

Objectifs du groupe
Chacun d’entre vous aura démontré sa capacité à travailler en groupe :
1. Pour répondre à des questions relatives à la programmation
2. Pour aider les membres du groupe qui ont des difficultés dans leur apprentissage

Page 3 sur 9
Calendrier
Timing de la séance Aller [80’]
Etapes Durée Activités / Tâches
1 10’ Prendre connaissance des documents fournis

2 10’ Organiser les groupes : distribuer les rôles (cf. « les rôles »)
3 40’ Comprendre et clarifier le problème
1. Quel est au juste le problème ? Produisez-en une formulation
synthétique.
2. Clarifier les incertitudes
3. De quelles informations disposez-vous?
4. Quelles sont les questions relatives au problème auxquelles vous devrez
trouver des réponses?
5. Quels livrables devrez-vous produire?
6. Quelles sont vos pistes pour la résolution du problème?
4 20’ Formulez les objectifs d’apprentissage et établir un plan d’actions pour la séance
de travail individuel
• Une liste des parties du support de cours à consulter
• Une liste de livrables à produire
• Une liste de tâches à accomplir
• Qu’est-ce que chacun d’entre vous doit apprendre?
A la fin de la séance le secrétaire se charge de communiquer à l’équipe avec copie au tuteur la
synthèse de la production et le plan d’actions.

Travail individuel
Le temps de travail individuel, hors séance et en séance doit être consacré à l’apprentissage
des notions mises en jeu dans le problème en cours.
Timing de la séance retour [55’]
Etapes Durée Activités / Tâches
1 5’ Répartition des rôles

2 5’ Fournir au tuteur les programmes produits au format papier et la grille d’évaluation


remplie au préalable
3 20’ Réaliser individuellement l’exercice proposé par le tuteur
4 10’ Un volontaire écrit la solution du groupe au tableau.
Cette proposition est ensuite commentée par le groupe.
5 10’ Vérifier que vous connaissez les réponses aux « questions auxquelles chacun doit
être capable de répondre »
M. NAGALO ISGE-BF 2020-2021

6 5’ Le secrétaire fournit au tuteur au moins une question pour le cours de


restructuration

Les ressources
Liste des ressources utiles

Type de ressource Disponibilité


L’énoncé du TP1 ENT
Livre «Le livre de JAVA premier langage » Bibliothèque
Support de cours « Apprenez à programmer en Java », C. Site OpenClassRooms
Herby
Diapositives de cours ENT
Exercices ENT
Le projet en .ZIP ENT

L’environnement du robot

Page 5 sur 9
Les questions auxquelles chacun doit être en mesure de
répondre

La liste ci-dessous comporte quelques-unes des questions auxquelles chacun d’entre vous doit
être en mesure de répondre à la fin de ce TP. Cette liste n’est pas exhaustive.
• À quoi sert une variable ? Quels sont les éléments qui la caractérisent ?

• À quoi sert l’opération d’affectation et par quoi est-elle représentée ?


• Comment afficher la valeur d’une variable à l’écran dans la console ?
• Comment afficher un message à l’écran dans la console ?
• Quel environnement de développement utilisez-vous ? Que vous permet-il de faire ?
• Que faut-il utiliser pour réaliser une saisie au clavier ?
• Quels sont les opérateurs logiques utilisés pour définir les conditions ?
• Où trouve-t-on parenthèses et accolades ?
• Quelles structures connaissez-vous permettant de faire des choix ?
• Quelles structures connaissez-vous permettant de répéter des actions ?
• Comment choisir parmi les structures de test ?
• Comment choisir parmi les boucles disponibles ?
M. NAGALO ISGE-BF 2020-2021

Les rôles
Les 4 rôles spécifiques

Animateur Scribe
▪ S’assure que l’équipe suit les étapes ▪ Note au tableau l’essentiel
prévues des échanges (support et
mémoire de la discussion de
▪ Anime les rencontres et la discussion : l’équipe)
o Distribue la parole, suscite/sollicite la ▪ Résume et fait la synthèse
participation ou modère les des informations pour aider
interventions
l’animateur
o Amène l’équipe à clarifier les idées
développées ▪ Organise le tableau en fonction des
étapes (de manière à garder la trace de
o Réalise des synthèses toute la réflexion →ne pas effacer).
▪ Crée un climat où tous sont
invités à participer
o S’assure que tout le monde a la
chance de s’exprimer
o Motive les silencieux à faire valoir leurs
idées et opinions.

Secrétaire
Gestionnaire du temps ▪ Garde une trace écrite et complète des
documents et de la production de
l’équipe
Pour alléger la tâche de l’animateur,
un gestionnaire du temps peut être désigné ▪ Transmet cette trace à tous les membres
pour : de l’équipe et au tuteur.

▪ S’assurer du respect du timing pour


chaque étape et du timing général
▪ Informer l’équipe régulièrement (ex : il
nous reste 30 minutes pour cette séance)
▪ S’assurer que le travail progresse et que
l’équipe n’accumule pas de retard

Le tuteur
• Ne fait pas partie de l’équipe d’apprenants
• Guide l’équipe : l’empêche de s’égarer, l’incite à aller plus loin, …
• N’est pas là pour donner un cours
• Connaît la réponse au problème, mais c’est à vous, étudiants, de faire le travail. Vous ne serez donc
pas étonnés qu’il refuse parfois de répondre directement aux questions que vous vous posez. Ce sera
le cas notamment s’il estime que cette question n’a pas été débattue préalablement au sein de l’équipe.

Document à rendre
La classe principale à déposer sur Moodle selon le chronogramme défini.
Annexes
Extrait de la javadoc du robot

avancer
public int avancer()
permet d'avancer le robot droit devant lui
Returns:
1 si le robot a pu avancer
reculer
public int reculer()
Permet de faire reculer le robot
Returns:
1 si le robot a pu reculer
tournerDroite
public int tournerDroite()
Permet de faire pivoter le robot sur sa droite
Returns:
1 si le robot a pu tourner correctement
tournerGauche
public int tournerGauche()
Permet de faire pivoter le robot sur sa gauche
Returns:
1 si le robot a pu tourner correctement
isSurVictime
public boolean isSurVictime()
Permet de savoir si le robot se trouve sur une case victime
Returns:
true si le robot se trouve sur une case victime
detecterGravite
public int detecterGravite()
Permet de connaître la gravité des blessures d’une victime
Returns:
0 si le robot n’est pas sur une case comportant une victime,
Entre 1 et 10 (en fonction du niveau de gravité) dans le cas contraire.
M. NAGALO ISGE-BF 2020-2021

Grille d’évaluation
Critères Niveaux de qualité
Déterminer et déclarer des variables ++ + - --

Les déclarations de variables répondent au besoin de manière


appropriée (type, nombre de variable…)
Les noms sont représentatifs du rôle
Les déclarations sont placées en début de programme (sauf dans le
cas du for)

Les déclarations sont commentées


Réaliser un affichage à l'écran et une saisie clavier ++ + - --
Afficher un message contenant la valeur d'une variable

La méthode de la classe Scanner est conforme au type de la


variable à saisir. La méthode parseInt est utilisée si nécessaire.

Structures de test ++ + - --
Les structures « if – else » sont opérationnelles et répondent au
besoin
Le switch est opérationnel (break présent…)
Les structures de tests sont bien choisies (if – else vs switch)

Structures de répétition ++ + - --
Les structures de répétition sont bien choisies (parmi les 3
possibles)
Les while et do ... while sont opérationnels : initialisation de la
variable de contrôle, condition, modification de la variable de
contrôle

L’indice de la boucle est déclaré lors de l’initialisation dans le for

Présenter un programme de manière lisible ++ + - --


Le cartouche est présent et répond aux consignes
Le programme est correctement indenté
Les standards de présentation java sont respectés
Le code du programme est commenté
Appliquer la syntaxe du langage java ++ + - --
Le code témoigne d'une bonne utilisation du langage java

++ Les critères sont parfaitement respectés


+ Les critères sont globalement respectés
- La plupart des critères ne sont pas respectés
-- Les critères ne sont pas du tout respectés

Vous aimerez peut-être aussi