• Aucun résultat trouvé

Ligned’enfants Ronded’enfants PARIS DIDEROT .

N/A
N/A
Protected

Academic year: 2022

Partager "Ligned’enfants Ronded’enfants PARIS DIDEROT ."

Copied!
2
0
0

Texte intégral

(1)

INITIATION À LAPROGRAMMATION(IP2) TP7 : Listes chaînées circulaires et autres

université PARIS . DIDEROT

PARIS 7

Ronde d’enfants

On considère une liste chaînée simple, les cellules seront données par la classe Enfantci-dessous public class Enfant{

private String nom;

private Enfant suivant;

public Enfant(String nom, Enfant suivant){

this.nom = nom;

this.suivant = suivant;

} }

et la liste elle-même par une classe Ronde public class Ronde{

private Enfant premier;

public Ronde(){

premier = null;

} }

1. Comment faire en sorte que la liste chaînée fasse une boucle ? On ne vous demande pas de code pour l’instant, faites un dessin pour le cas général et un autre pour une liste à un seul élément.

2. On veut qu’une liste de Ronde, boucle toujours sur le premier élément (liste circulaire). Où est-il le plus facile, dans le cas général, d’ajouter un élément sur une liste non-vide ?

Écrivez la méthode ajouter(String nom) pour que cette propriété soit respectée. On fera attention aux cas particuliers.

3. Écrivez une méthodeEnfant dernierEnfant()qui retourne le dernier élément.

4. Écrivez une méthodesupprimer(String nom)qui supprime l’élément de nomnom. On sup- pose qu’il n’y en a qu’un.

5. Écrivez une méthode Ronde concatener(Ronde r) qui met bout à bout this etr pour en faire une nouvelle ronde (en respectant la boucle). Cette méthode ne fait pas de copie de listes, elle modifiera doncthis et éventuellementl.

Ligne d’enfants

On veut maintenant représenter une liste chaînée linéaire, mais avec, en plus du lien vers le début de la liste, un lien vers la fin.

On reprend la classe Enfantprécédente, mais on utilise maintenant la classeLigne suivante :

1

(2)

public class Ligne{

private Enfant premier;

private Enfant dernier;

public Ligne(){

premier = null;

dernier = null;

} }

Écrivez les méthodes suivantes en tirant profit de l’attributdernier quand c’est possible. Il faudra aussi penser à mettre à jour correctement dernier en cas de modification.

1. Écrivez la méthodeajouterEnFin(String nom)qui ajoute en fin de la liste un enfant.

2. Écrivez la méthodeajouterDebut(String nom)qui ajoute en début de la liste un enfant.

3. Écrivez la méthodedernierNom() qui retourne le nom du dernier enfant de la liste.

4. Écrivez la méthodeenleveDernier()qui enlève le dernier enfant de la liste.

5. Écrivez la méthodeconcatener(Ligne l)qui met bout à bout la lignethisetl. Attention, cette méthode doit fonctionner dans tous les cas, en particulier si l vaut null et si une ou les deux listes sont vides. Cette méthode ne fait pas de copie de listes, elle modifiera donc this et éventuellementl.

S’il reste du temps (facultatif )

1. finir le TP 6 si ce n’est pas le cas.

2. reprendre le TP 6 en changeant les règles : On considère que les cellules noires sont vivantes et les blanches sont mourantes.

— les cellules ont un âge en jours ; à la création de la cellule, il est égal à 0.

— les cellules vieillissent d’un jour à chaque étape.

— Entre deux cellules noires d’âge au moins égal à 1 (à l’étape t1) va naître une cellule noire à l’étapet;

— Les cellules noires de 3 jours ou plus à l’étapet1ont 50% de risque de devenir mourantes à l’étape t (elles deviennent blanches). Cet âge est abaissé à 2 jours si elle est entourée de deux cellules noires (pas assez à manger).

— les cellules blanches ont plus de 70% de chances de mourir, c’est-à-dire de disparaître.

2

Références

Documents relatifs

temps de pause du midi, nous allons trouver, d'ici le 30 juin, les deux créneaux nécessaires pour. visionner les deux derniers épisodes des "Grandes grandes

FICHIERS FICHIERS Mémoire de masse découpée en blocs Fichier : liste chaînée de blocs, ou.. arbre de blocs (répertoires

L’assurance maladies graves PrioritéVie – Enfant MC prévoit le versement d’une prestation unique si l’enfant assuré reçoit un diagnostic de l’une des 26 conditions

Fiche réalisée par Céline Lamour-Crochet, illustrations d’Olivier Daumas, avec l’aimable autorisation des éditions Bilboquet.. Domaine

LOUPS, ECOLE, ENTRAINEMENT, DEGUISEMENT, SOUFFLER, DENTS, BEDAINE, MUSCULATION, COURSE, GRIFFES, CHANT, PATEE, REGIME,

Fiche réalisée par Céline Lamour-Crochet, illustrations d’Olivier Daumas, avec l’aimable autorisation des éditions

Écrivez un constructeur de la classe Liste qui, à partir d’un tableau dynamique d’éléments, crée la liste contenant les mêmes éléments dans le même ordre.. Donnez un

Pour cette partie, vous pouvez utiliser la classe Personne de la page 1 ainsi que toutes les méthodes que vous avez écrites à la partie 1.. Vous disposez d’une classe TestPersonne