Algorithmique & Programmation Orientée Objet Semestre 2 ST Les types agrégés
Cours | Exercices PDL | Exercices Java - Corrections
Version PDF
Clavier.class - Ecran.class - Documentation
Première partie Implantation en langage Java et validation des exercices de TD Seconde partie: Exercices supplémentaires optionels Exercice supplémentaire n°1 Une sphère est caractérisée par la position en 3D de son centre et son rayon. a) Concevoir un type agrégé Java "Sphere" permettant de stocker une sphère. b) Concevoir un algorithme réalisant les traitements suivants: - Lecture de deux sphères. - Calcul de la distance entre ces deux sphères (Distance minimale entre leurs surfaces). - Affichage de cette distance. La distance minimale entre deux sphères est égale à la distance entre leurs centres à laquelle est retranchée le rayon de la première sphère et le rayon de la seconde sphère. L'obtention d'une valeur négative signifie que les deux sphères se coupent. Une droite dans un espace 3D peut être représentée par le système d'équations paramétriques la définissant. c) Concevoir un type agrégé Java "Droite3D" permettant de stocker une droite 3D. d) Concevoir un algorithme réalisant les traitements suivants: - Lecture d'une sphère et d'une droite 3D. - Test de l'existence d'une intersection entre cette sphère et cette droite. - Affichage du résultat de ce test. On pourra utiliser comme méthode de résolution la technique consistant à résoudre le système d'équations constitué des équations paramétriques de la droite et de l'équation cartésienne de la sphère. Par substitution, ce système se réduit à une équation du second degré a*t*t+b*t+c = 0.0 pour laquelle on calcule la valeur de delta (b*b-4*a*c). si cette valeur est supérieure ou égale à 0.0, il y a au moins une intersection. Dans le cas contraire, il n'y en a pas. Exercice supplémentaire n°2 On souhaite développer un jeu de guerre en ambiance "Seconde guerre mondiale". Pour ce faire, les blindés disponibles doivent être modélisés informatiquement. Pour chacun d'eux, on souhaite gérer les caractéristiques suivantes: - nom, - type, - pays, - date, - poids, - hauteur, - largeur, - longueur caisse seule, - longueur totale avec canon, - équipage, - caractéristiques d'armement, - caractéristiques de blindage, - caractéristiques de motorisation, - caractéristiques de déplacement. Les caractéristiques d'armement sont décrites de la manière suivante: - caractéristiques de l'armement principal, - caractéristiques de l'armement secondaire 1, - caractéristiques de l'armement secondaire 2. Les armements primaire et secondaires sont décrits par les points suivants: - armement présent, - nom, - nombre de coups stockables, - cadence de tir, - létalité sur les fantassins, - létalité sur les blindés. Les caractéristiques de blindage sont: - résistance du blindage de la caisse, - résistance du blindage de la tourelle. Les résistance de blindage sont (réels de 0.0 à l'infini): - résistance blindage face avant, - résistance blindage face latérale, - résistance blindage face arrière, - résistance blindage toit. Les caractéristiques de motorisation sont: - nom, - type, - cylindrée, - puissance. Les caractéristiques de déplacement sont: - vitesse maximale sur route, - capacité de franchissement en tout-terrain: - pente, - tranchée, - gué, - pression au sol, - vitesse maximale en tout-terrain, - autonomie sur route, - autonomie en tout-terrain. Exemple: Le char JS-2 - Nom: "JS-2 modèle 1944" - Type: "Char lourd" - Pays: "URSS" - Date: 01/01/1944 - Poids: 46 tonnes - Hauteur: 2.70 m - Largeur: 3.10 m - Longueur caisse seule: 6.80 m - Longueur totale avec canon: 9.80 m - Equipage: 4 - Armement principal, présent: oui - Armement principal, nom: "122 mm D-25T L/43" - Armement principal, nombre de coups stockables: 28 projectiles - Armement principal, cadence de tir: 3 coups/mn - Armement principal, létalité sur les fantassins: 10.0 - Armement principal, létalité sur les blindés: 20.0 - Armement secondaire 1, présent: oui - Armement secondaire 1, nom: "Mitrailleuse DT 7.62 mm" - Armement secondaire 1, nombre de coups stockables: 2330 projectiles - Armement secondaire 1, cadence de tir: 550 coups/mn - Armement secondaire 1, létalité sur les fantassins: 15.0 - Armement secondaire 1, létalité sur les blindés: 0.2 - Armement secondaire 2, présent: oui - Armement secondaire 2, nom: "Mitrailleuse DShk 12.7 mm" - Armement secondaire 2, nombre de coups stockables: 945 projectiles - Armement secondaire 2, cadence de tir: 350 coups/mn - Armement secondaire 2, létalité sur les fantassins: 18.0 - Armement secondaire 2, létalité sur les blindés: 0.4 - Résistance de blindage caisse, face avant: 120.0 - Résistance de blindage caisse, face latérale: 90.0 - Résistance de blindage caisse, face arrière: 60.0 - Résistance de blindage caisse, toit: 20.0 - Résistance de blindage tourelle, face avant: 90.0 - Résistance de blindage tourelle, face latérale: 90.0 - Résistance de blindage tourelle, face arrière: 90.0 - Résistance de blindage tourelle, toit: 30.0 - Motorisation nom: "V-2-IS" - Motorisation type: "12 cylindres en V - Diesel" - Motorisation cylindrée: 38.9 litres - Motorisation puissance: 520 cv - Caractéristiques de déplacement, vitesse maximale sur route: 37 km/h - Caractéristiques de déplacement, capacité de franchissement en tout-terrain, pente: 36° - Caractéristiques de déplacement, capacité de franchissement en tout-terrain, tranchée: 2.5 m - Caractéristiques de déplacement, capacité de franchissement en tout-terrain, gué: 1.3 m - Caractéristiques de déplacement, capacité de franchissement en tout-terrain, pression au sol: 0.81 kg/cm2 - Caractéristiques de déplacement, vitesse maximale en tout-terrain: 19 km/h - Caractéristiques de déplacement, autonomie sur route: 220 km - Caractéristiques de déplacement, autonomie en tout-terrain: 178 km Concevoir et valider un type agrégé Java permettant de modéliser les caractéristiques d'un blindé.