![]() |
Faire des mathématiques en programmant |
Publié par :
Bachelier
|
Cours de mathématiques sur Faire des mathématiques en programmant
En mathématiques, les langages de haut niveau basés sur un formalisme logique nous intéressent au plus haut point car ils ont cette rigueur qui sied à notre discipline et sont en même temps moins parasités par les détails technologiques des langages trop près de la machine ou trop lâches logiquement parlant.
Les deux derniers langages sont largement répandus et sont développés par des équipes à la pointe de la recherche informatique : ils ont été pensés, améliorés depuis des années et évitent les écueils de certaines interfaces prétendument simples d'utilisation mais qui peuvent cacher de nombreux vices et ne déboucheront sur aucune utilisation en dehors du lycée. Comme nous continuons à travailler les mathématiques " avec un papier et un crayon " ou bien " calculer à la main ", nous préférons un contexte de programmation le plus sobre possible, dépouillé de toutes les choses fortement inutiles et qui nuisent à la concentration sur le sujet de réflexion. Un éditeur de texte simple (et non un logiciel de traitement de texte) fait amplement l'affaire, accompagné d'une console (*N*X de préférence) pour l'interprétation ou la compilation, puis l'exécution d'un programme. Il s'agit vraiment de se concentrer sur l'essentiel, et nous voyons les élèves accepter ce travail, dans la mesure où la récompense est immédiate : le programme fonctionne ou ne fonctionne pas, ou bien effectue autre chose que ce que son auteur prévoyait. Il y a ici une question de satisfaction intellectuelle, sans aucune autre récompense qu'un apprentissage ( !), ce qui reste une question centrale de l'école.
Nous utiliserons dans tout le document la version basique de CAML (en fait OCAML (c'est-à-dire CAML avec des modules pour faire de la programmation orientée objet) ou CAML Light (c'est la version de base que nous utiliserons)) sans charger de modules complémentaires sauf éventuellement pour créer des graphiques ou travailler sur certaines listes.
Vous remarquerez que CAML répond que le résultat de 1+2 est un entier (int) égal à 3. En effet, CAML est adepte de l'inférence de type, c'est-à-dire qu'il devine quel type de variable vous utilisez selon ce que vous avez tapé. Nous en reparlerons plus bas. Les priorités des opérations sont respectées. En cas d'ambiguïté, un parenthésage implicite à gauche est adopté :
Cela indique que vous avez utilisé l'addition des entiers pour ajouter un entier à un flottant. CAML en effet n'effectue pas de conversion implicite et demande que celle-ci soit explicite. Cela peut apparaître comme contraignant mais permet l'inférence de type qui évite nombre de " bugs ".
La Renaissance italienne, la focntion f est ses différentes affectations
Si le modèle mathématique n'admet pas de solution analytique, il est alors nécessaire de chercher une solution approchée de...
Mathematics Lessons on Introduction to Monte Carlo Algorithms
L'informatique en classes préparatoires a pour principaux objectifs d'offrir dans le tronc commun : Une familiarisation avec...
Vous utilisez depuis longtemps des algorithmes, à la manière de M. Jourdain, sans toujours le savoir, par exemple lorsque...
Ce document de travail (avec renvoi à des ressources de références s'il y a besoin d'approfondir) est utile à ceux qui...
Ce dossier présente, en particulier sur un plan méthodologique, des approches et modèles stratégiques traditionnelles qui...
Il faut davantage parler de structure hybride où les formes organisationnelles anciennes cohabitent avec des structures...
Analyser les contextes et Définir les modes de l'action formuler les axes mercatique au niveau des quatre stratégiques, les...
Définition et composantes de la culture d'entreprise A l'origine, " culture " correspond au traitement réservé à la terre
La structure de l'organisation, somme totale des moyens employés pour diviser le travail en tâches distinctes et pour ensuite...
Le problème est de trouver une fonction la satisfaisant. Par exemple, certains phénomènes en mécanique conduisent à ...
08/11/2018 - 15h52