Aller au contenu

Outils fondamentaux : les mathématiques en Python

Bienvenue dans la partie pratique de la ressource R1.07, outils mathématiques fondamentaux, du BUT informatique, premier semestre. Cinq séances de travaux pratiques, sept heures en tout, pendant lesquelles vous apprendrez Python en le faisant travailler sur des objets mathématiques : des entiers, des nombres premiers, des polynômes, des fonctions et des matrices.

Ce que vise ce module

Le programme national assigne à cette ressource une compétence précise, qu'il vaut la peine de citer telle quelle : « proposer des applications informatiques optimisées en fonction de critères spécifiques, temps d'exécution, précision, consommation de ressources ».

Retenez les trois mots. On ne vous demandera pas seulement d'écrire un programme qui donne la bonne réponse. On vous demandera de savoir combien de temps il met, avec quelle précision il répond, et ce qu'il coûte. Un programme juste mais mille fois trop lent est un programme inutilisable ; un programme rapide mais faux est un programme dangereux. C'est exactement ce qui sépare quelqu'un qui sait programmer de quelqu'un qui sait recopier du code.

Les cinq séances

Séance Sujet Ce que vous saurez faire
Mise en route Exécuter du Python lancer un programme, lire une erreur, sauvegarder son travail
TP1 Calcul numérique entiers exacts, flottants approchés, boucles, fonctions
TP2 Arithmétique et nombres premiers divisibilité, Euclide, crible, et mesurer un temps de calcul
TP3 Polynômes et fonctions évaluer, dériver, tracer, trouver une racine
TP4 Matrices et systèmes produit matriciel, pivot de Gauss, numpy
TP5 Synthèse un problème complet, de bout en bout

Le mémento Python rassemble sur une seule page tout ce dont vous avez besoin pour ces séances. C'est le seul document autorisé pendant les évaluations, alors prenez l'habitude de le consulter dès maintenant plutôt que de chercher ailleurs.

Comment travailler

Chaque TP est écrit pour être fait dans l'ordre, du début à la fin, en une séance. Les exercices sont numérotés et chacun annonce le résultat attendu : vous savez donc seul si vous avez réussi, sans attendre que je passe dans les rangs.

Sous chaque exercice se trouve un corrigé, replié. Ouvrez-le sans culpabilité si vous êtes bloqué plus de dix minutes, mais lisez-le vraiment au lieu de le recopier : un corrigé lu et compris vaut mieux qu'un exercice raté, un corrigé recopié ne vaut rien.

Certaines parties sont marquées « pour aller plus loin ». Elles ne sont pas au programme de l'évaluation. Faites-les si vous avez terminé, ignorez-les sinon, et ne vous laissez pas intimider par ceux qui les font.

Intelligence artificielle : le pacte

Vous avez tous accès à un assistant capable d'écrire ces programmes. L'interdire serait absurde et invérifiable. Le pacte de ce module, rappelé depuis la page d'accueil, tient donc en trois règles : vous devez pouvoir expliquer chaque ligne rendue, vous devez avoir cherché où le code proposé se trompe, et les évaluations se passent sans assistant.

Chaque TP contient un encadré de ce genre :

L'IA vous le donne en trois secondes

Demandez à l'assistant de votre choix d'écrire la fonction de l'exercice, puis trouvez un cas où sa réponse est fausse, trop lente, ou répond à côté. Notez ce cas. C'est un exercice à part entière, et vous serez interrogé dessus.

Ce n'est pas un exercice de défiance. C'est la compétence que l'on vous paiera pour avoir.

Une remarque sur les nombres premiers

Le programme national de cette ressource parle de calcul numérique et algébrique, de matrices, de polynômes et de fonctions. Les nombres premiers n'y figurent pas explicitement, et pourtant ils occupent une séance entière. C'est délibéré : ils offrent le meilleur terrain qui soit pour éprouver le coût d'un algorithme. Le même problème, tester si un nombre est premier, se résout de trois manières qui donnent toutes la bonne réponse, et dont les temps de calcul diffèrent d'un facteur un million. Aucun autre sujet du programme ne rend cette leçon aussi tangible en une séance.