Prérequis Ce devoir nécessite de connaître les instructions de base suivantes :
Prérequis Ce devoir nécessite de connaître les instructions de base suivantes : définition et affectation de variables, entrées-sorties sur le terminal (Terminal.lire...() et Terminal.ecrire...(...)), bloc et conditionnelle if. Les calculs demandés nécessitent de calculer le cosinus, le sinus et la valeur absolue d'un nombre x réel (double) ; dans les expressions de calculs, vous écrirez : Math.cos(x) pour calculer cos x, le cosinus de x, où x est un angle exprimé en radians Math.sin(x) pour calculer sin x, le sinus de x, où x est un angle exprimé en radians Math.abs(x) pour calculer |x|, la valeur absolue de x Exemple : tangente_de_x = Math.sin(x) / Math.cos(x); Un squelette de programme Java (fichier source devoir_1.java) est proposé (vous n'êtes pas obligé de l'utiliser), dans lequel vous écrirez le bloc d'instructions demandé (les accolades ouvrante et fermante sont déjà en place) exactement à l'endroit où figure ce texte : // effacez cette ligne, et écrivez votre bloc d'instructions Java ici Enoncé Ce devoir vous propose de réaliser un petit programme de jeu : le joueur est supposé être aux commandes d'un canon, dont il fixe librement l'angle de tir α ; sa position est supposée être à l'origine O : la cible est supposée être à une distance D lorsque le tir est déclenché, l'obus part avec une vitesse V (exprimée en ms-1 [mètres par seconde], et représentée par une flèche sur le schéma); en simplifiant la physique du problème, on peut montrer que la trajectoire de l'obus est une parabole, et que l'obus touche le sol au point I (pour impact, sa distance à l'origine étant exprimée en m [mètres]) défini par : I = 2 V2 cos(α) sin(α) g où g = 9,81 ms-2 [mètres par seconde au carré] est la constante d'accélération de notre planète Terre on considère que la cible est touchée si | D-I | ≤ P, où P est la distance (exprimée en m [mètres]) en deça de laquelle on estime que la cible subit des dommages, voire est détruite. On rappelle que si x est un angle exprimé en ° [degrés], alors son équivalent en radians est πx / 180. Devoir No 1 - NFA001 FOD - CNAM Montpellier - 2011/12 http://sudest.pleiad.net/Ressources/CNAM/9/99283/D1/enonce.html 1 sur 3 17/11/2011 14:33 Travail demandé Ecrire un bloc Java capable, après avoir demandé à l'utilisateur la valeur d'un angle de tir exprimé en ° [degrés], de lui afficher s'il a touché ou non la cible, en précisant pour le tir : la distance à la cible s'il est trop court (I<D) ou trop long (I>D) quant la cible a été manquée Tous les autres paramètres du problème (D, V, g, P) sont supposés être fixés une fois pour toute dans le programme, avec les valeurs suivantes : D = 3000 m : distance de la cible V = 500 ms-1 : vistesse de l'obus g = 9,81 ms-2 : accélération terrestre P = 10 m : précision du tir demandée pour considérer la cible comme touchée Vous pouvez, si vous le souhaitez (mais ce n'est pas demandé dans le devoir), faire en sorte que le joueur puisse éventuellement changer ces paramètres, ou saisir plusieurs angles de tirs successifs. Exemples d'exécution Ces exemples ne sont présentés que pour vous donner une idée du dialogue que votre programme pourrait entretenir avec l'utilisateur ; vous êtes libre de le contrôler comme bon vous semble. Les données saisies par l'utilisateur sont présentées ainsi. 1ère exécution Pour cette session, les paramètres sont les suivants : P = 10 mètres : précision du tir demandée V = 500 mètres par seconde : vitesse de l'obus D = 3000 mètres : distance de la cible g = 9.81 mètres par seconde carrée : accélération terrestre Angle de tir en ° = 1 cible manquée ; tir trop court de 2110.614253249211 m 2ème exécution Pour cette session, les paramètres sont les suivants : P = 10 mètres : précision du tir demandée V = 500 mètres par seconde : vitesse de l'obus D = 3000 mètres : distance de la cible g = 9.81 mètres par seconde carrée : accélération terrestre Angle de tir en ° = 10 cible manquée ; tir trop long de 5716.109666811128 m 3ème exécution Pour cette session, les paramètres sont les suivants : P = 10 mètres : précision du tir demandée V = 500 mètres par seconde : vitesse de l'obus Devoir No 1 - NFA001 FOD - CNAM Montpellier - 2011/12 http://sudest.pleiad.net/Ressources/CNAM/9/99283/D1/enonce.html 2 sur 3 17/11/2011 14:33 D = 3000 mètres : distance de la cible g = 9.81 mètres par seconde carrée : accélération terrestre Angle de tir en ° = 3.38 cible touchée ; tir à moins de 10 m (exactement à 0.23652371364960345 m de la cible) Devoir No 1 - NFA001 FOD - CNAM Montpellier - 2011/12 http://sudest.pleiad.net/Ressources/CNAM/9/99283/D1/enonce.html 3 sur 3 17/11/2011 14:33 uploads/Marketing/ devoir-no-1-nfa001-fod-cnam-montpellier-2011-12.pdf
Documents similaires










-
25
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jui 08, 2022
- Catégorie Marketing
- Langue French
- Taille du fichier 0.1039MB