Algorithmes


Note ajoutée en 2017 : le cours donné ici est plutôt écrit pour calculatrice Texas (même s'il présente des transcriptions diverse de chaque instruction). Pour les calculatrices Casio, on pourra suivre ce lien. Les aménagements des programmes 2017 semblent inciter à utiliser un langage un peu plus élaboré que le basic des calculatrices, comme Python. Cela demande de pouvoir accéder à des ordinateurs, ce qui est difficile en classe entière. Nous commencerons donc à programmer sur la calculatrice et essayerons d'aller en salle informatique pour traiter la notion de fonction (dans un langage de programmation, où le mot n'a pas tout à fait le même sens qu'en mathématiques).


Dans les années 80, non seulement la musique était bonne, mais surtout, il était plus simple d’apprendre à programmer. On pouvait allumer son Amstrad CPC 464 et, à l’aide du manuel formidablement bien rédigé, commencer « direct » à taper des instructions en Locomotive Basic 1.0, « considéré par certains passionnés comme le meilleur BASIC ayant jamais existé ». Ce n’est pas moi qui le dis, c’est Wikipédia.


Aujourd’hui, avant de tracer un bête trait à l’écran, il faudra franchir une série d’obstacles qui décourageraient un éléphant : choisir un « langage », installer un logiciel voir plusieurs (éditeur, compilateur…), écrire des lignes assez techniques dont les paramètres dépendent de la machine sur laquelle vous travaillez. Sans compter que le "langage" en question ne va cesser d'évoluer doucettement : laissez-le de côté pendant une petite année (le temps par exemple de lire quelques volumes de Proust) et vous verrez vos anciens programmes, affectés d'une osolescence précoce, refuser de tourner sans une ennuyeuse mise à jour. Tel est désormais le destin de l'informatique, surface fébrile de ce "monde" enfanté par la technique, qui s'adapte jour et nuit à ses propres adaptations dans une contorsion sans cesse mouvante donnant à ses habitants expropriés quelque chose comme le mal de mer.


Les instructions officielles du lycée parlent d’« algorithmique » plutôt que de programmation. Un algorithme, c’est comme un programme informatique, mais qui n’est pas forcément lié à une machine. Il y a eu des algorithmes bien avant les ordinateurs. Les spécialistes de l’anachronisme seraient même capables de vous présenter la chasse au mammouth laineux comme un ancêtre de l’algorithme. Dans le genre, voici un extrait savoureux des instructions officielles : « La démarche algorithmique est, depuis les origines, une composante essentielle de l’activité mathématique ». Il reste qu’un ordinateur étant une machine à exécuter des algorithmes, autant s’en servir.


Pour les raisons susdites, je vous propose de faire vos premiers pas sur une calculatrice programmable qui, en matière de simplicité, présente les mêmes avantages que mon Amstrad de jadis, en plus de contenir le même microprocesseur : la Ti 82 Stats.fr.


Une fois que vous aurez compris le principe, il sera toujours temps de disserter sur la notion d’algorithme. Mais surtout, si l'expérience vous a fait pousser une âme de geek et qu'elle exige désormais des nourritures plus substancielles que le téléchargement de The Big Bang Théorie, vous vous trouverez assez armés pour passer à autre chose : C++, Java, Python, assembleur, Delphi... À vous de voir. Pour ma part, j’aurais tendance à vous recommander, pour l’étape suivante, le langage PureBasic, dont l’aide en français est particulièrement bien conçue et qui est considérablement plus élaboré que son nom ne le laisse entendre. Pensez aussi à aller voir du côté du site OpenClassrooms.