<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://experiences.mathemarium.fr/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>Experimentarium Digitale</title>
	<link>https://experiences.mathemarium.fr/</link>
	<description> Notes : Nous produisons des simulations num&#233;riques interactives (ENI) depuis 1992, successivement sur NeXT, en Java, en ActionScript puis en JavaScript. &#192; l'heure o&#249; les LLM et le vibe coding red&#233;finissent les pratiques de d&#233;veloppement, une nouvelle &#233;tape se dessine et elle est terriblement excitante. Nous sommes en train de repenser le contenu de ce site et les simulations que nous produirons &#224; l'avenir, toujours avec l'id&#233;e que les ENI sont de formidables outils d'appropriation des concepts math&#233;matiques et physiques. Stay in touch. Les exp&#233;riences num&#233;riques interactives (ENI) de ce site sont d&#233;velopp&#233;es pour des cours &#224; l'universit&#233;, des conf&#233;rences et des MOOCs de niveaux vari&#233;s. Elles sont libres d'utilisation, mais restent la propri&#233;t&#233; intellectuelle de leurs auteurs et du CNRS. Nous alimentons r&#233;guli&#232;rement ce site avec de nouvelles ENI.Elles s'appuient sur NLKit, un portage en javascript du noyau du logiciel scientifique xDim, ainsi que jQuery Mobile et Processing.js.NB : Pour utiliser les exp&#233;riences en ligne de ce site, pr&#233;f&#233;rez utiliser les navigateurs Chrome ou Safari. Jean-Ren&#233; ChazottesCentre de Physique Th&#233;orique - CNRS UMR 7644 - Ecole polytechnique - Palaiseau jeanrene [at] cpht.polytechnique.fr Marc Monticelli Laboratoire J.A. Dieudonn&#233; - CNRS UMR 7351 - Universit&#233; C&#244;te d'Azur marc.monticelli [at] unice.fr</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://experiences.mathemarium.fr/spip.php?id_rubrique=60&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>Experimentarium Digitale</title>
		<url>https://experiences.mathemarium.fr/local/cache-vignettes/L144xH68/siteon0-10b19.jpg?1776352278</url>
		<link>https://experiences.mathemarium.fr/</link>
		<height>68</height>
		<width>144</width>
	</image>



<item xml:lang="fr">
		<title>Quand Ada Lovelace inventa la programmation un si&#232;cle avant les premiers ordinateurs
</title>
		<link>https://experiences.mathemarium.fr/Quand-Ada-Lovelace-inventa-la.html</link>
		<guid isPermaLink="true">https://experiences.mathemarium.fr/Quand-Ada-Lovelace-inventa-la.html</guid>
		<dc:date>2026-02-11T11:23:33Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Monticelli Marc
, Programmation expressive (LLM)
</dc:creator>



		<description>
&lt;p&gt;La visualisation interactive ci-dessous reproduit le fonctionnement de la Note G &#233;crite par Ada Lovelace constitant le tout premier programme informatique de l'histoire (plus de d&#233;tails sous la visualisation). Vous pouvez suivre, op&#233;ration par op&#233;ration, le cheminement des donn&#233;es entre le Magasin et le Moulin, observer les boucles se d&#233;rouler, et voir le r&#233;sultat B&#8328; = &#8722;1/30 &#233;merger pas &#224; pas. Espace ou &#8594; : avancer d'une &#233;tape &#8592; : reculer A : lecture automatique R : r&#233;initialiser Lien (&#8230;)&lt;/p&gt;


-
&lt;a href="https://experiences.mathemarium.fr/-Algorithme-Informatique-.html" rel="directory"&gt;Algorithme/Informatique
&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src='https://experiences.mathemarium.fr/local/cache-vignettes/L150xH70/ada-97331.jpg?1776343480' class='spip_logo spip_logo_right' width='150' height='70' alt=&#034;&#034; /&gt;
		&lt;div class='rss_texte'&gt;
&lt;div class='spip_document_437 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://experiences.mathemarium.fr/IMG/png/adaia.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://experiences.mathemarium.fr/local/cache-vignettes/L500xH279/adaia-f1b09.png?1776343480' width='500' height='279' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt; &lt;p&gt;La visualisation interactive ci-dessous reproduit le fonctionnement de la &lt;i&gt;Note G&lt;/i&gt; &#233;crite par Ada Lovelace constitant le tout premier programme informatique de l'histoire (plus de d&#233;tails sous la visualisation). Vous pouvez suivre, op&#233;ration par op&#233;ration, le cheminement des donn&#233;es entre le &lt;i&gt;Magasin&lt;/i&gt; et le &lt;i&gt;Moulin&lt;/i&gt;, observer les boucles se d&#233;rouler, et voir le r&#233;sultat &lt;i&gt;B&#8328; = &#8722;1/30&lt;/i&gt; &#233;merger pas &#224; pas.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;Espace&lt;/strong&gt; ou &lt;strong&gt;&#8594;&lt;/strong&gt; : avancer d'une &#233;tape&lt;/li&gt;&lt;li&gt; &lt;strong&gt;&#8592;&lt;/strong&gt; : reculer&lt;/li&gt;&lt;li&gt; &lt;strong&gt;A&lt;/strong&gt; : lecture automatique&lt;/li&gt;&lt;li&gt; &lt;strong&gt;R&lt;/strong&gt; : r&#233;initialiser&lt;/li&gt;&lt;/ul&gt;&lt;hr class=&#034;spip&#034; /&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://experiences.mathemarium.fr/simulations/AdaLovelaceBernoulli&#034;&gt;Lien direct vers la visualisation&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;iframe style=&#034;overflow: hidden;&#034; src=&#034;https://experiences.mathemarium.fr/simulations/AdaLovelaceBernoulli/&#034; width=&#034;100%&#034; height=&#034;800&#034; frameborder=&#034;0&#034; scrolling=&#034;no&#034; onload=&#034;parent.scroll(0,0);&#034;&gt;&lt;/iframe&gt; &lt;hr class=&#034;spip&#034; /&gt;&lt;h1 class=&#034;spip&#034;&gt; &lt;strong&gt;Qui est Ada Lovelace ?&lt;/strong&gt; &lt;/h1&gt;
&lt;p&gt;Augusta Ada King, comtesse de Lovelace (1815&#8211;1852), est la fille du po&#232;te Lord Byron et d'Annabella Milbanke. &#201;lev&#233;e dans les sciences par sa m&#232;re, Ada se passionne tr&#232;s t&#244;t pour les math&#233;matiques.&lt;/p&gt;
&lt;p&gt;En 1833, &#224; 17 ans, elle rencontre &lt;strong&gt;Charles Babbage&lt;/strong&gt;, inventeur et math&#233;maticien, qui travaille sur un projet visionnaire : la &lt;strong&gt;Machine Analytique&lt;/strong&gt;, un calculateur m&#233;canique programmable par cartes perfor&#233;es, inspir&#233; des m&#233;tiers &#224; tisser Jacquard, un si&#232;cle avant les premiers ordinateurs.&lt;/p&gt;
&lt;p&gt;Ada saisit imm&#233;diatement la port&#233;e de l'invention. L&#224; o&#249; Babbage voit un calculateur, elle voit un instrument capable de manipuler &lt;strong&gt;tout ce qui peut &#234;tre exprim&#233; par des symboles&lt;/strong&gt; &#8212; nombres, musique, logique. Elle &#233;crit dans la &lt;i&gt;Note A&lt;/i&gt; : &#171; &lt;i&gt;La Machine Analytique tisse des motifs alg&#233;briques tout comme le m&#233;tier Jacquard tisse des fleurs et des feuilles&lt;/i&gt; &#187;.&lt;/p&gt;
&lt;h1 class=&#034;spip&#034;&gt; &lt;strong&gt;La Note G : le premier programme&lt;/strong&gt; &lt;/h1&gt;
&lt;p&gt;En 1843, Ada traduit de l'italien un article de Luigi Menabrea d&#233;crivant la Machine Analytique. Elle y ajoute &lt;strong&gt;sept notes&lt;/strong&gt; (A &#224; G), trois fois plus longues que l'article original. La derni&#232;re, la &lt;strong&gt;Note G&lt;/strong&gt;, contient ce qui est aujourd'hui consid&#233;r&#233; comme le &lt;strong&gt;premier programme informatique&lt;/strong&gt; de l'histoire.&lt;/p&gt;
&lt;p&gt;Ce programme calcule les &lt;strong&gt;nombres de Bernoulli&lt;/strong&gt;, une suite de fractions qui apparaissent dans de nombreux domaines des math&#233;matiques &#8212; s&#233;ries, th&#233;orie des nombres, sommes de puissances d'entiers.&lt;/p&gt;
&lt;p&gt;Ada choisit d&#233;lib&#233;r&#233;ment un cas complexe pour d&#233;montrer la puissance de la Machine : &#171; &lt;i&gt;Nous terminerons ces Notes en suivant en d&#233;tail les &#233;tapes par lesquelles la machine pourrait calculer les Nombres de Bernoulli, ceci &#233;tant un exemple assez compliqu&#233; de ses capacit&#233;s&lt;/i&gt; &#187;.&lt;/p&gt;
&lt;h1 class=&#034;spip&#034;&gt; &lt;strong&gt;Un algorithme complet et moderne&lt;/strong&gt; &lt;/h1&gt;
&lt;p&gt;Le programme de la Note G n'est pas un simple calcul s&#233;quentiel. Il introduit des concepts fondamentaux de la programmation :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;Boucles imbriqu&#233;es&lt;/strong&gt; &#8212; des op&#233;rations qui se r&#233;p&#232;tent selon un compteur, un concept absent de toute machine de l'&#233;poque&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Variables et m&#233;moire&lt;/strong&gt; &#8212; plusieurs &#171; colonnes &#187; du Magasin, num&#233;rot&#233;es V1 &#224; V24, jouant le r&#244;le de registres&lt;/li&gt;&lt;li&gt; &lt;strong&gt;R&#233;cursivit&#233;&lt;/strong&gt; &#8212; chaque nombre de Bernoulli est calcul&#233; &#224; partir des pr&#233;c&#233;dents&lt;/li&gt;&lt;li&gt; &lt;strong&gt;S&#233;paration code/donn&#233;es&lt;/strong&gt; &#8212; les &#171; cartes d'op&#233;ration &#187; (le programme) sont distinctes des &#171; cartes de variables &#187; (les donn&#233;es)&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Le programme comporte &lt;strong&gt;25 op&#233;rations&lt;/strong&gt; distinctes, qui se d&#233;roulent en 36 &#233;tapes une fois les boucles d&#233;roul&#233;es. Il utilise les quatre op&#233;rations arithm&#233;tiques et un compteur de boucle stock&#233; en V10.&lt;/p&gt;
&lt;h1 class=&#034;spip&#034;&gt; &lt;strong&gt;La Machine Analytique : un ordinateur m&#233;canique&lt;/strong&gt; &lt;/h1&gt;
&lt;p&gt;La machine de Babbage, jamais construite de son vivant, comportait deux organes principaux :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;Le Moulin&lt;/strong&gt; (&lt;i&gt;the Mill&lt;/i&gt;) &#8212; l'unit&#233; de calcul, &#233;quivalent de notre processeur. Il re&#231;oit deux op&#233;randes, ex&#233;cute une op&#233;ration (+, &#8722;, &#215;, &#247;) et produit un r&#233;sultat.&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Le Magasin&lt;/strong&gt; (&lt;i&gt;the Store&lt;/i&gt;) &#8212; la m&#233;moire, constitu&#233;e de colonnes de roues dent&#233;es. Chaque colonne stocke un nombre de 50 chiffres d&#233;cimaux.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Les donn&#233;es circulent entre le Magasin et le Moulin via des engrenages et des axes m&#233;caniques. Le programme, lui, est encod&#233; sur des &lt;strong&gt;cartes perfor&#233;es&lt;/strong&gt; &#8212; une id&#233;e emprunt&#233;e aux m&#233;tiers Jacquard.&lt;/p&gt;
&lt;h1 class=&#034;spip&#034;&gt; &lt;strong&gt;La question de la convention&lt;/strong&gt; &lt;/h1&gt;
&lt;p&gt;Un d&#233;tail qui pr&#234;te &#224; confusion : Ada utilise une &lt;strong&gt;convention de num&#233;rotation&lt;/strong&gt; diff&#233;rente de la n&#244;tre pour les nombres de Bernoulli. Elle ne retient que les valeurs non triviales (en excluant B&#8320; et B&#8321; modernes) et les num&#233;rote avec des indices impairs :&lt;/p&gt;
&lt;table class=&#034;table spip&#034;&gt;
&lt;thead&gt;&lt;tr class='row_first'&gt;&lt;th id='id8823_c0'&gt;Ada (1843)&lt;/th&gt;&lt;th id='id8823_c1'&gt;Moderne&lt;/th&gt;&lt;th id='id8823_c2'&gt;Valeur&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='id8823_c0'&gt;B&#8321; (n=1)&lt;/td&gt;
&lt;td headers='id8823_c1'&gt;B&#8322;&lt;/td&gt;
&lt;td headers='id8823_c2'&gt;1/6&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id8823_c0'&gt;B&#8323; (n=2)&lt;/td&gt;
&lt;td headers='id8823_c1'&gt;B&#8324;&lt;/td&gt;
&lt;td headers='id8823_c2'&gt;&#8722;1/30&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='id8823_c0'&gt;B&#8325; (n=3)&lt;/td&gt;
&lt;td headers='id8823_c1'&gt;B&#8326;&lt;/td&gt;
&lt;td headers='id8823_c2'&gt;1/42&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id8823_c0'&gt;B&#8327; (n=4)&lt;/td&gt;
&lt;td headers='id8823_c1'&gt;B&#8328;&lt;/td&gt;
&lt;td headers='id8823_c2'&gt;&#8722;1/30&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Son programme, avec n=4, calcule donc ce qu'elle appelle &#171; B&#8327; &#187;, qui correspond &#224; notre &lt;strong&gt;B&#8328; = &#8722;1/30&lt;/strong&gt;.&lt;/p&gt;
&lt;h1 class=&#034;spip&#034;&gt; &lt;strong&gt;Un bug historique&lt;/strong&gt; &lt;/h1&gt;
&lt;p&gt;Le programme contient un &lt;strong&gt;bug&lt;/strong&gt; &#8212; probablement le premier de l'histoire du logiciel. &#192; l'op&#233;ration n&#186;4, Ada &#233;crit une division V5&#247;V4 alors qu'il faudrait V4&#247;V5 : les op&#233;randes sont invers&#233;s. Probablement une erreur de typographie plut&#244;t qu'une erreur logique d'Ada, car la colonne &#171; Statement of Results &#187; du m&#234;me tableau montre bien le bon r&#233;sultat (contenu de V4 divis&#233; par contenu de V5).&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;&lt;h1 class=&#034;spip&#034;&gt; &lt;strong&gt;Pour aller plus loin&lt;/strong&gt; &lt;/h1&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://en.wikipedia.org/wiki/Note_G&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Note G sur Wikipedia (en)&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://twobithistory.org/2018/08/18/ada-lovelace-note-g.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&#171; What Did Ada Lovelace's Program Actually Do ? &#187;&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://www.101computing.net/ada-lovelace-and-the-first-computer-algorithm/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&#201;mulateur de la Machine Analytique (101computing)&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://projectlovelace.net/problems/ada-lovelaces-note-g/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Analyse d&#233;taill&#233;e de l'algorithme (Project Lovelace)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;i&gt;Simulation r&#233;alis&#233;e d'apr&#232;s le diagramme original publi&#233; dans &lt;i&gt;Scientific Memoirs&lt;/i&gt;, vol. III, 1843.&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
