IFT1010 Programmation I

Département d'informatique et de
recherche opérationnelle

Hiver 2002


Accueil

Professeurs et
Démonstrateurs

Horaires et locaux

Notes de cours

Démonstrations
et devoirs

Examens

Liens utiles

Au sujet du
livre de cours

Consultez vos notes

Foire aux questions
(FAQ)

Démonstration 10: Récursivité et listes chaînées


Pratique | Exercice Noté

Travail pratique (pas noté)

Liste chaînée et pile

Reprenez l'exercice de la démonstration 8 en codant une pile par une liste chaînée. Vous devez offrir la même interface (méthodes publiques) que celle décrite dans cette démonstration.

Exercice noté (1 point)

Inversion d'une chaîne de caractères

Écrivez la classe Demo10 qui doit au moins contenir la méthode statique récursive suivante:

public static String inverse(String s)

Cette méthode retourne la chaîne inverse de la chaîne passée en argument. Deplus, si un caractère de la chaîne initiale est une voyelle en minuscule (a, e, i, o, u, y) alors ce caractère est transformé en son équivalent en majuscule; si un caractère de la chaîne initiale est une voyelle en majuscule (A, E, I, O, Y, Y) alors ce caractère est transformé en son équivalent en minuscule.

Contraintes

Il vous est imposé d´écrire une version récursive de l'algorithme et non une version itérative. La récursion peut par exemple s'énoncer comme suit:

Inverser une chaîne s consiste à créer une chaîne constituée du dernier caractère de s et de la chaîne résultante de l'inversion de s privée de son dernier caractère.

La classe Demo10 ne doit pas contenir de métode main. Si vous voulez tester votre classe (ce que vous souhaiterez certainement faire), écrivez une autre classe qui contient une méthode main ayant pour seul rôle de faire des appels à la méthode inverse (c'est comme cela que nous testerons votre classe):

Demo10.inverse("test");

Exemples:

inverse("bonjour") retourne "rUOjnOb"
inverse("bonjoUr") retourne "ruOjnOb"
inverse("bonne continuation") retourne "nOitAUnItnOc EnnOb"

Pour remettre votre programme

remise ift1010 demo10 Demo10.java


Dernière mise à jour : Sat Apr 6 01:25:16 EST 2002
dift1010@iro.umontreal.ca