Exercice Java : Programme de gestion de ligne d'autocar
Rédigé par GC Team, Publié le 20 Mars 2010, Mise à jour le Samedi, 17 Décembre 2022 17:18Exercice 1 : prix des billets d’autocar
Dans cet exercice, on veut gérer une ligne de car qui relie Vierzon à Orléans en passant par Salbris, Nouans, Lamotte-Beuvron et La Ferté Saint-Aubin. Chaque tronçon du trajet a un certain prix et le prix d’un billet est la somme des prix des tronçons qu’il comporte.
La ligne fonctionne dans les deux sens, le prix est identique dans les deux sens.
Dans cet exercice, on ne veut utiliser que des tableaux, pas d’enregistrement.
On va stocker dans un tableau les noms des villes, en les mettant dans l’ordre dans lequel elles sont desservies (l’ordre donné ci-dessus). Dans un autre tableau, on va stocker les prix des différents tronçons.
Ces prix sont les suivants :
départ | arrivée | prix |
Vierzon Salbris Nouans Lamotte-Beuvron La Ferté Saint-Aubin |
Salbris Nouans Lamotte-Beuvron La Ferté Saint-Aubin Orléans |
3.20 1.80 2.30 4.20 5.00 |
Avant de commencer à programmer, dessinez les deux tableaux sur papier et réfléchissez aux algorithmes permettant de répondre aux différentes questions. {sidebar id=1}
1. écrivez une méthode permettant de retrouver l’indice d’une ville dont on donne le nom en paramètre (c’est à dire sa position dans le premier tableau).
2. écrivez une méthode qui calcule le prix d’un trajet étant donnés les noms des villes de départ et d’arrivée
Question 2
On veut instaurer des tarifs dégressifs selon le nombre de tronçons parcourus : le premier tronçon est payé à plein tarif, le second avec 10% de réduction, le second avec 20%, etc. Ecrivez une méthode qui réalise le calcul du prix d’un trajet selon ce principe.
Question 3
On veut généraliser le système pour un ensemble de lignes de bus : que faut-il changer dans le programme?
Vous écrirez un programme avec deux lignes de bus et un seul programme qui calcule les prix des trajets. Les billets sont pour un trajet sur une ligne donnée, on ne fait pas de billet avec correspondance
Exercice 2 : distances entre villes
On s’intéresse aux distances entre deux villes situées le long d’une même route. Comme exemple, on prend la nationale 20 entre Orléans et Vierzon. Voici le tableau des distances :
départ | arrivée | distance |
Orléans La Ferté Saint-Aubin Lamotte-Beuvron Nouans Salbris |
La Ferté Saint-Aubin Lamotte-Beuvron Nouans Salbris Vierzon |
21 Km 14 Km 8 Km 13 Km 23 Km |
1. représentez le tableau ci-dessus en java au moyen d’un premier tableau enregistrant les noms de ville et d’un second enregistrant les distances.
2. écrivez un programme qui calcule la distance entre deux villes.
3. écrivez un programme qui calcule un tableau à deux dimensions en registrant toutes les distances entre deux villes.
Question 2 {sidebar id=8}
On veut réaliser la même chose, mais avec plusieurs routes, si bien qu’il peut y avoir plusieurs routes pour aller d’une ville à un autre. Dans ce cas, on veut calculer et enregistrer dans le tableau à deux dimensions la distance la plus courte.
Les données du calculs seront les tronçons de route qui relient directement deux villes, c’est-à-dire qui vont d’une ville à l’autre sans passer par aucune autre ville. Pour chaque tronçon, on doit donner sa distance.
Comment peut-on représenter ces données en Java ? Comment peut-on calculer la distance la plus petite entre deux villes ? Attention, il faut éviter que le calcul proposé ne produise des boucles infinies (par exemple en refaisant éternellement certains trajets).
Cette question est une question de réflexion à laquelle vous pouvez répondre sans écrire de programme. Vous pouvez également écrire le programme si vous le désirez.