{"id":538,"date":"2013-06-13T06:08:00","date_gmt":"2013-06-13T02:08:00","guid":{"rendered":"https:\/\/iremi.univ-reunion.fr\/?p=538"},"modified":"2025-06-27T18:34:16","modified_gmt":"2025-06-27T14:34:16","slug":"alcoffeethmique","status":"publish","type":"post","link":"https:\/\/iremi.univ-reunion.fr\/?p=538","title":{"rendered":"Alcoffeethmique"},"content":{"rendered":"\n<p>La webApp <a href=\"https:\/\/alainbusser.github.io\/alcoffeethmique\/alcoffeethmique.html\">alcoffeethmique<\/a> permet de programmer des algorithmes en <a href=\"https:\/\/fr.wikipedia.org\/wiki\/CoffeeScript\">CoffeeScript<\/a>, un langage qui ressemble un peu \u00e0 Python. Elle est accompagn\u00e9e d&rsquo;<a href=\"https:\/\/alainbusser.github.io\/alcoffeethmique\/fonctionsCoffee.html\">un petit utilitaire sur les fonctions<\/a>. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Exemple : la suite de Syracuse<\/h2>\n\n\n\n<p>On \u00e9crit le script dans la partie gauche, et en cliquant sur le bouton en dessous de cette fen\u00eatre, le script s&rsquo;ex\u00e9cute et affiche les r\u00e9sultats dans la fen\u00eatre de droite :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"611\" height=\"248\" src=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-194255.png\" alt=\"\" class=\"wp-image-545\" srcset=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-194255.png 611w, https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-194255-300x122.png 300w\" sizes=\"auto, (max-width: 611px) 100vw, 611px\" \/><\/figure>\n\n\n\n<p>Un bouton en haut \u00e0 droite permet d&rsquo;afficher l&rsquo;algorithme en pseudocode :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"338\" height=\"314\" src=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-194337.png\" alt=\"\" class=\"wp-image-546\" srcset=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-194337.png 338w, https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-194337-300x279.png 300w\" sizes=\"auto, (max-width: 338px) 100vw, 338px\" \/><\/figure>\n\n\n\n<p>Une suite peut aussi \u00eatre mod\u00e9lis\u00e9e par un tableau, dans lequel on empile les termes successifs de la suite :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"347\" height=\"503\" src=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-194730.png\" alt=\"\" class=\"wp-image-547\" srcset=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-194730.png 347w, https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-194730-207x300.png 207w\" sizes=\"auto, (max-width: 347px) 100vw, 347px\" \/><\/figure>\n\n\n\n<p>Une suite peut \u00e9galement \u00eatre repr\u00e9sent\u00e9e graphiquement, sous la forme d&rsquo;un nuage de points (le rayon et la couleur des points sont les derniers param\u00e8tres donn\u00e9s) :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"506\" height=\"234\" src=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-195041.png\" alt=\"\" class=\"wp-image-548\" srcset=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-195041.png 506w, https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-195041-300x139.png 300w\" sizes=\"auto, (max-width: 506px) 100vw, 506px\" \/><\/figure>\n\n\n\n<p>Voici le graphique obtenu avec le script ci-dessus :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/collatz.png\" alt=\"\" class=\"wp-image-549\" srcset=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/collatz.png 640w, https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/collatz-300x225.png 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Exemple de fonction : la fonction nulle<\/h2>\n\n\n\n<p>Comme les fonctions exponentielle et logarithme sont inverses l&rsquo;une de l&rsquo;autre, pour tout r\u00e9el x, ln(e<sup>x<\/sup>)=x, donc ln(e<sup>x<\/sup>)-x est la fonction nulle, qui \u00e0 tout r\u00e9el x, associe 0 :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"520\" height=\"150\" src=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-195555.png\" alt=\"\" class=\"wp-image-550\" srcset=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-195555.png 520w, https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-195555-300x87.png 300w\" sizes=\"auto, (max-width: 520px) 100vw, 520px\" \/><\/figure>\n\n\n\n<p>Pour repr\u00e9senter graphiquement une fonction, on fournit<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>l&rsquo;instruction <code>dessineFonction<\/code><\/li>\n\n\n\n<li>le nom de la fonction<\/li>\n\n\n\n<li>la plus petite abscisse du rep\u00e8re<\/li>\n\n\n\n<li>la plus grande abscisse<\/li>\n\n\n\n<li>la plus petite ordonn\u00e9e<\/li>\n\n\n\n<li>la plus grande ordonn\u00e9e<\/li>\n\n\n\n<li>la couleur de la courbe<\/li>\n<\/ul>\n\n\n\n<p>Le script ci-dessus donne cette courbe :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/nulle.png\" alt=\"\" class=\"wp-image-551\" srcset=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/nulle.png 640w, https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/nulle-300x225.png 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<p>La fonction nulle \u00e9tant constante, sa repr\u00e9sentation graphique est cens\u00e9e \u00eatre une droite horizontale, ici ce n&rsquo;est pas exactement le cas, les fluctuations \u00e9tant li\u00e9es \u00e0 des erreurs d&rsquo;approximation d\u00e9pendant de x. Un ph\u00e9nom\u00e8ne similaire appara\u00eet avec la fonction sin<sup>2<\/sup>x+cos<sup>2<\/sup>x-1, elle aussi cens\u00e9e \u00eatre nulle. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Graphisme avec alcoffeethmique<\/h2>\n\n\n\n<p>Outre la possibilit\u00e9 de repr\u00e9senter graphiquement les suites et fonctions, alcoffeethmique peut aussi dessiner des diagrammes en b\u00e2tons, des histogrammes, des cercles, segments et polygones, des ensembles (cercles d&rsquo;Euler d\u00e9form\u00e9s), des pavages de Truchet et m\u00eame des diagrammes de Voronoi :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"455\" height=\"201\" src=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-200604.png\" alt=\"\" class=\"wp-image-553\" srcset=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-200604.png 455w, https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/Capture-decran-2025-06-12-200604-300x133.png 300w\" sizes=\"auto, (max-width: 455px) 100vw, 455px\" \/><\/figure>\n\n\n\n<p>Le script ci-dessus dessine un nuage de points simulant les positions des graines de tournesol (en marron), ainsi que le diagramme de Voronoi (en vert), que voici :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/tournesol.png\" alt=\"\" class=\"wp-image-554\" srcset=\"https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/tournesol.png 640w, https:\/\/iremi.univ-reunion.fr\/wp-content\/uploads\/2025\/06\/tournesol-300x225.png 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Voir aussi<\/h2>\n\n\n\n<p>alcoffeethmique a \u00e9t\u00e9 utilis\u00e9 dans la revue MathemaTICE avec<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>des <a href=\"http:\/\/revue.sesamath.net\/IMG\/pdf\/CoffeeScript-2.pdf\">\u00e9tudes de suites<\/a><\/li>\n\n\n\n<li>de la <a href=\"http:\/\/revue.sesamath.net\/IMG\/pdf\/stats_CoffeeScript.pdf\">statistique<\/a><\/li>\n\n\n\n<li>une <a href=\"http:\/\/revue.sesamath.net\/IMG\/pdf\/Markov_CoffeeScript.pdf\">cha\u00eene de Markov<\/a><\/li>\n\n\n\n<li>un <a href=\"http:\/\/revue.sesamath.net\/IMG\/pdf\/coffeescript.pdf\">sujet de bac<\/a> sur une suite<\/li>\n\n\n\n<li>sur la <a href=\"http:\/\/revue.sesamath.net\/IMG\/pdf\/coffeescript-2.pdf\">r\u00e9partition<\/a> des nombres premiers<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La webApp alcoffeethmique permet de programmer des algorithmes en CoffeeScript, un langage qui ressemble un peu \u00e0 Python. Elle est accompagn\u00e9e d&rsquo;un petit utilitaire sur les fonctions. Exemple : la suite de Syracuse On \u00e9crit le script dans la partie gauche, et en cliquant sur le bouton en dessous de cette fen\u00eatre, le script s&rsquo;ex\u00e9cute [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":554,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,10,14],"tags":[32,52],"coauthors":[54],"class_list":["post-538","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-algorithmes-programmation-et-langages","category-machines-information-codage","category-outils-numeriques","tag-lycee","tag-resolution-de-problemes"],"_links":{"self":[{"href":"https:\/\/iremi.univ-reunion.fr\/index.php?rest_route=\/wp\/v2\/posts\/538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iremi.univ-reunion.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/iremi.univ-reunion.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/iremi.univ-reunion.fr\/index.php?rest_route=\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/iremi.univ-reunion.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=538"}],"version-history":[{"count":5,"href":"https:\/\/iremi.univ-reunion.fr\/index.php?rest_route=\/wp\/v2\/posts\/538\/revisions"}],"predecessor-version":[{"id":556,"href":"https:\/\/iremi.univ-reunion.fr\/index.php?rest_route=\/wp\/v2\/posts\/538\/revisions\/556"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/iremi.univ-reunion.fr\/index.php?rest_route=\/wp\/v2\/media\/554"}],"wp:attachment":[{"href":"https:\/\/iremi.univ-reunion.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=538"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/iremi.univ-reunion.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=538"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iremi.univ-reunion.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=538"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/iremi.univ-reunion.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcoauthors&post=538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}