Errata
Seules les erreurs marquées d'une astérisque rouge (*) sont importantes, ou empêcheraient les programmes de compiler ou fonctionner. Les petites fautes d'orthographe et de typographie sont regroupées à la fin.
Dernière mise à jour : 10 août 2017
Page 35
Les messages montrés dans l'affichage ne correspondent pas exactement aux instructions montrées. On devrait voir « taxe » au lieu de « TPS ».
Page 42
Dans l'exercice 5, pour rendre bien clair qu'on ne doit pas demander ou tester si la personne prendra sa retraite, on peut remplacer « , si la retraite est prise à 65 ans. » par « . On suppose que la retraite est prise à 65 ans. ».
Page 251*
Il y a un point-virgule de trop à la fin de la première ligne, il faut simplement :
if (nombres.All(n => n % 2 == 0))
Page 266*
Il manque un using static System.String
:
using static System.Console;
using static System.String;
using static Utilitaires.Util;
Page 268*
Le type de la variable moyenneDesPommesMangéesParJour
devrait être double
:
double moyenneDesPommesMangéesParJour = // Calcul simple plus rapide que Average() ici
Page 274*
Dans les exemples à la fin de l'exercice 2, la formulation est boîteuse et pour qu'ils fonctionnent, il faudrait remplacer 41 et 21 par 40 et 20. En fait, on devrait donner de meilleurs exemples, et reformuler légèrement ainsi :
Page 283
Pour rendre bien clair le fait qu'on doit mettre un commentaire normal aux constructeurs des classes, le dernier paragraphe devrait être :
Page 297
Comme expliqué dans le commentaire initial du fichier, les commentaires //**
indiquent des commentaires explicatifs que l'on ne retrouverait normalement pas dans les
programmes. Le commentaire sur les using static System.DateTime;
devrait être de ce type :
using static System.DateTime; //** Pour Today, voir explication dans le code
Page 301
La fin du commentaire sur DateTime
et Today
devrait être :
//** par sa propriété Year. DateTime sera expliqué en détail à la section 10.15.
Page 420*
Selon les chapitres, le livre décrit une fonction appelée DateValide
avec paramètres (j, m, a)
et une autre appelée
EstDateValide
avec paramètres (a, m, j)
. Elles ne font pas exactement les mêmes validations (EstDateValide
vérifie spécifiquement que les paramètres sont valables pour DateTime
). Si les deux sont dans les utilitaires, il vaudrait mieux que
l'ordre des paramètres soit identique, mais l'idéal est vraiment d'en n'avoir rien qu'une, EstDateValide
. Il faut donc corriger :
if (!EstDateValide(2004, p_mois, p_jour))
Quelques fautes d'orthographe (ou de choix de vocabulaire)
Page 40, dans le dernier paragraphe, il faudrait « erreurs de logique » au lieu de « erreurs de logiques ».
Page 62, dans l'algorithme au bas de la page, il faudrait "manteau d'hiver"
au lieu de "manteau d'hivers"
.
Page 98, première ligne, c'est évidemment C-dièse et non C-dièze.
Page 147, Le TAUX_RÉDUCTION_FAMILLE sera appliquée à
devrait être Le TAUX_RÉDUCTION_FAMILLE sera appliqué à
.
Page 151, dans le dernier paragraphe, il faudrait « paramètres nommés » au lieu de « paramètres nommées ».
Page 171, au début du premier paragraphe après la puce, il serait préférable d'avoir « Ce genre de démarche » au lieu de « Ce genre de méthode ».
Page 251, la note de bas de page devrait commencer par « On aurait pu coder », et se terminer par « recherche de la bibliothèque. ».
Page 261, dans le troisième paragraphe de la fin, il faudrait « donc pas reliée à un vecteur. » au lieu de « donc pas relié à un vecteur. ».
Page 269, dernière ligne de l'avant-dernier paragraphe, il faudrait « comme on l'a montré » au lieu de « comme on l'a montrée ».
Pages 295 et 297, pour respecter la nomenclature utilisée ailleurs, le namespace devrait être Chapitre10Section9
au lieu de Chap10Section9
.
Pages 332 et 334, pour respecter la nomenclature utilisée ailleurs, le namespace devrait être Chapitre10Section17
au lieu de Chap10Section17
.
Page 416 et suivantes, le programme déclare et utilise une classe ÉvènementNommée
qui devrait évidemment s'appeler ÉvènementNommé
. Les
évènements dans ce programme ont longtemps été appelés fête (dont FêteNommée
bien sûr), partout dans le programme, pour éviter la discussion sur
l'orthographe événement/évènement (les deux sont acceptées, mais évidemment pas en
combinaison dans un programme informatique). Fête était trop restrictif, mais le mot évènement est en conflit avec la notion informatique du même nom.
L'idéal serait donc de trouver et utiliser un autre synonyme...
Page 426, pour faire suite aux corrections pour les pages 416 et suivantes, il faudrait parler de CréerÉvènementÀDateFixe
au lieu de
CréerFêteÀDateFixe
. Cependant, pour des raisons de mise en page, on donnera plutôt CréerAnniversaire
comme exemple.
Page 427 et 428, toujours pour faire suite aux corrections pour les pages 416 et suivantes, il faut remplacer fête
par évènement
à quatre endroits et ajuster les phrases en conséquence :
(p. 427) " - un évènement à date [f]ixe,\n" +
(p. 427) string nom = LireStringNonVide("Nom de l’évènement à date fixe : ");
(p. 428) jour = LireInt32DansIntervalle("Numéro du jour de l’évènement : ", 1, 31);
(p. 428) mois = LireInt32DansIntervalle("Mois de l’évènement : ", 1, 12);
N.B. Il y avait aussi un point-virgule superflu à la fin de cette ligne.
Quelques erreurs de typographie (mineures)
Page 9, il semble y avoir un pied de page contenant une barre verticale à droite. C'est une erreur.
Page 112, il y a une espace de trop entre la parenthèse fermante et la virgule, dans l'avant-dernier paragraphe.