Le Metro de Lyon

[Inserted Image]%?

> Lignes:=[ligneA, ligneB, ligneC, ligneD];

Lignes := [[garedevaie, valmy, etc], ligneB, ligneC, ligneD]

Exercice 1:

Creer quatre listes ligneA, ligneB, ligneC, ligneD contenant tous les noms des gares das l'ordre. (simplifier les noms au besoin: un seul mot a chaque fois).

> ligneA:=['garedevaie', 'valmy', etc ];

ligneA := [garedevaie, valmy, etc]

>

Exercice 2:

Ecrire une fonction qui prenne en argument un nom de gare (tel que rentre dans l'exercice 1) et renvoie l'ensemble ( exemple : {1,4} pour 'bellecour') de lignes qui passent par cette station ( On numerotera les lignes de 1 a 4 de maniere a pouvoir ce servir de ces numeros dans le tableau Lignes ulterieurement).

>

Exercice 3:

Ecrire une fonction qui renvoit vrai si deux stations sont sur la meme ligne.

>

Exercice 4

Supposons que 2 stations ne soient pas sur la meme ligne. On va essayer de trouver une fonction qui puisse nous dire si on arrive en 1 changement a aller d'une station a l'autre. Pour ceci, on va evidemment regarder les autres stations d'une des lignes de l'une des stations concernees et voir si elles font parties d'une des lignes de l'autre station.

Ecrire une procedure qui prenne en argument 2 noms de stations, qui renvoie faux si on ne peut aller de l'une a l'autre en un seul changement et le nom de la station o il faut changer sinon.

>

Exercice 5:

Mme chose ... avec 2 changements ! Il va donc cette fois parourrir toutes les station de deux des lignes concernees, et essayer de trouver une station qui ait une autre ligne commune...

>

Exercice 6:

Ecrire un programme qui etant donne 2 villes donne un trajet qui necessite le moins de changement possible.

>

Exercice 7:

POUR CONFIRMES : essayez de modifier vos programmes pour calculer le plus court trajet (avec le moins de stations possibles) d'une ville a une autre.

>

Exercice 8:

(au cas ou certains s'ennuient). Une idee pour accelerer l'execution du programme serait de ne considerer que les stations qui font partie de plus d'une ligne. Compte tenu de cette information, essayez de reecrire vos programmes de maniere a les accelerer.

>