Correction des exercices
ANNEXE
330
Exercice 9.2
La nouvelle classe Point s’écrit facilement :
classe Point
{ méthode fixeAbs (entier x)
{ abs := x
}
méthode fixeOrd
{ ord := y
}
entier méthode valeurAbs
{ retourne abs
}
entier méthode valeurOrd
{ retourne ord
}
entier abs, ord
}
En revanche, le programme d’utilisation doit être fortement remanié pour pallier la disparition de initialise et de affiche :
Point p, r
// deux variables de type Point
p := Création Point
// instanciation d’un objet de type Point
p.fixeAbs (3) ; p.fixeOrd (5)
écrire «Je suis un point de coordonnées », p.valeurAbs, p.valeurOrd
p.fixeAbs (5)
écrire «Je suis un point de coordonnées », p.valeurAbs, p.valeurOrd
r := Création Point
// instanciation d’un autre objet de type Point
r.fixeAbs (6) ; r.fixeOrd (8)
écrire «Je suis un point de coordonnées », r.valeurAbs, r.valeurOrd
Exercice 9.3
Voici ce que pourrait être la définition de notre classe Carac :
classe Carac
{ méthode Carac (caractère c)
// constructeur à un paramètre
{ car := c
}
méthode Carac
// constructeur sans paramètre
{ car := ’ ’
}
booléen méthode estVoyelle
{ booléen ok
si car = ’a’ ou car = ’e’ ou car = ’i’ ou car = ’o’ ou car = ’u’ ou car = ’y’
alors ok := vrai
sinon ok := faux
retourne ok
}
caractère car
// pour conserver le caractère
}
ANNEXE
330
Exercice 9.2
La nouvelle classe Point s’écrit facilement :
classe Point
{ méthode fixeAbs (entier x)
{ abs := x
}
méthode fixeOrd
{ ord := y
}
entier méthode valeurAbs
{ retourne abs
}
entier méthode valeurOrd
{ retourne ord
}
entier abs, ord
}
En revanche, le programme d’utilisation doit être fortement remanié pour pallier la disparition de initialise et de affiche :
Point p, r
// deux variables de type Point
p := Création Point
// instanciation d’un objet de type Point
p.fixeAbs (3) ; p.fixeOrd (5)
écrire «Je suis un point de coordonnées », p.valeurAbs, p.valeurOrd
p.fixeAbs (5)
écrire «Je suis un point de coordonnées », p.valeurAbs, p.valeurOrd
r := Création Point
// instanciation d’un autre objet de type Point
r.fixeAbs (6) ; r.fixeOrd (8)
écrire «Je suis un point de coordonnées », r.valeurAbs, r.valeurOrd
Exercice 9.3
Voici ce que pourrait être la définition de notre classe Carac :
classe Carac
{ méthode Carac (caractère c)
// constructeur à un paramètre
{ car := c
}
méthode Carac
// constructeur sans paramètre
{ car := ’ ’
}
booléen méthode estVoyelle
{ booléen ok
si car = ’a’ ou car = ’e’ ou car = ’i’ ou car = ’o’ ou car = ’u’ ou car = ’y’
alors ok := vrai
sinon ok := faux
retourne ok
}
caractère car
// pour conserver le caractère
}
