Le document d'accompagnement pour l'algorithmique et la programmation en seconde mentionne page 13 :

Un ordinateur ne travaille pas avec des nombres réels, mais avec des flottants, c’est-à-dire un sous-ensemble des nombres décimaux dont la précision est limitée par des contraintes liées au codage en mémoire.

C’est ainsi qu’en Python, le test d’égalité 3+10**(-16)==3 s’évalue en True alors que le test 3+10**(-15)==3 s’évalue en False. On retiendra qu’il faut éviter de tester l’égalité entre deux flottants, et préférer la recherche d’une précision donnée. En revanche, bien sûr, il n’y a aucun problème à comparer deux nombres entiers.

C'est tout à fait exact et le programme de seconde ne demande pas d'enseigner les subtilités des flottants aux élèves. Cependant, au cours de leurs manipulations, les élèves peuvent obtenir des résultats qui semblent aberrants si on assimile les flottants aux réels, comme dans l'exemple cité. Également, on constate que 1.1 + 1.1 donne 2.2 mais que 1.1 + 1.1 + 1.1 donne 3.3000000000000003. Il peut être utile au professeur d'en savoir un peu plus afin de pouvoir en dire suffisamment aux élèves pour que l'informatique et les résultats qu'elle donne n'apparaissent pas comme quelque chose d'ésotérique. Cela permet aussi de comprendre pourquoi certaines façons de faire qu'on pouvait être contraint d'utiliser avec certaines calculatrices limitées sont à bannir.


Les adaptations du programme de seconde qui entrent en vigueur à la rentrée 2017 apportent des changements majeurs dans la façon d'aborder l'écriture d'algorithmes, qui se double de plus de l'écriture de programmes informatiques dans un langage textuel, concis, interprété et répandu (dixit le texte), ce qui est une assez bonne périphrase pour décrire Python3. Lire la suite


L'informatique existe en tant que discipline dans le tronc commun des CPGE scientifiques depuis 2013 et cela fait également plusieurs années que des éléments d'algorithmique ont été introduits dans les programmes de mathématiques de lycée. Je me réjouis qu'on fasse étudier quelques algorithmes aux lycéens (il était temps !), même si je préférerais que soient dédiés à cet enseignement des heures spécifiques et des professeurs spécialistes. Mais la présentation qui est faite des algorithmes n'est pas très heureuse : elle donne naissance à de mauvaises pratiques, est source de confusions dans le supérieur et doit être désapprise par les étudiants. Lire la suite