{"id":3075,"date":"2026-05-22T15:29:43","date_gmt":"2026-05-22T13:29:43","guid":{"rendered":"https:\/\/actilud.com\/info\/?p=3075"},"modified":"2026-06-08T11:04:14","modified_gmt":"2026-06-08T09:04:14","slug":"linstruction-formule","status":"publish","type":"post","link":"https:\/\/actilud.com\/info\/blog\/linstruction-formule\/","title":{"rendered":"L&rsquo;instruction FORMULE"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-3077 alignleft\" src=\"https:\/\/actilud.com\/info\/wp-content\/uploads\/2026\/05\/instr_formule.png\" alt=\"\" width=\"140\" height=\"140\" srcset=\"https:\/\/actilud.com\/info\/wp-content\/uploads\/2026\/05\/instr_formule.png 200w, https:\/\/actilud.com\/info\/wp-content\/uploads\/2026\/05\/instr_formule-150x150.png 150w\" sizes=\"auto, (min-width: 960px) 75vw, 100vw\" \/><strong>Bient\u00f4t sur Actilud. Article en construction. <\/strong>Applique une formule math\u00e9matique. La formule utilise les valeurs calculables. Une formule s&rsquo;applique toujours sur une, et une seule, s\u00e9rie r\u00e9f\u00e9rente, calculable ou non. On peut l&rsquo;utiliser pour d\u00e9terminer une propri\u00e9t\u00e9 d&rsquo;un \u00e9l\u00e9ment d&rsquo;une s\u00e9rie. Par exemple on peut utliser FORMULE pour calculer la diff\u00e9rence entre le prix de vente et le prix d&rsquo;achat d&rsquo;un objet donn\u00e9 (la s\u00e9rie r\u00e9f\u00e9rente pouvant \u00eatre le nom de l&rsquo;objet), mais pas pour comparer plusieurs objets entre eux. <span class=\"\" style=\"display:block;clear:both;height: 0px;padding-top: 0px;border-top-width:0px;border-bottom-width:0px;\"><\/span><\/p>\n<blockquote><p>f(a,b,c) = a * (c-b)<\/p><\/blockquote>\n<p>Depuis la mise \u00e0 jour de mai 2026, les instruction SOMME, TOTAL, SEUIL font appel \u00e0 l&rsquo;instruction FORMULE, car ces instructions n&rsquo;utilisent qu&rsquo;une seule s\u00e9rie r\u00e9f\u00e9rente.<\/p>\n<p>Cette instruction a \u00e9t\u00e9 programm\u00e9e pour permettre la cr\u00e9ation d&rsquo;int\u00e9grammes originaux, comme le jeu <em>boursicotage<\/em> sur Actilud. Dans ce Jeu, Alice vend 5 actions qu&rsquo;elle avait pr\u00e9c\u00e9demment achet\u00e9es. Pour chaque action, on conna\u00eet le nom, le prix de vente et le prix d&rsquo;achat unitaires, ainsi que la quantit\u00e9 vendue. Ceci permet de r\u00e9aliser des \u00e9nonc\u00e9s du type :<\/p>\n<blockquote>\n<ol>\n<li>L&rsquo;action Aci\u00e9dur a gagn\u00e9 10\u20ac :\u00a0 prix d&rsquo;achat &#8211; prix de vente<\/li>\n<li>La vente des actions B\u00e2ti-Fol a g\u00e9n\u00e9r\u00e9 une plus-value de 100 \u20ac : quantit\u00e9 * (prix d&rsquo;achat &#8211; prix de vente)<\/li>\n<\/ol>\n<\/blockquote>\n<p><a id=\"post-preview\" class=\"preview button\" href=\"https:\/\/actilud.com\/info\/blog\/linstruction-formule\/?preview=true\" target=\"wp-preview-3075\">Pr\u00e9visualiser les modifications<span class=\"screen-reader-text\"> (ouvre un nouvel onglet)<\/span><\/a>Dans une formule, chaque valeur calculable doit \u00eatre repr\u00e9sent\u00e9e de mani\u00e8re alg\u00e9brique, par une lettre. La premi\u00e8re lettre utilis\u00e9e doit toujours \u00eatre un <em>a,\u00a0<\/em>et les suivantes, si elles existent, doivent appara\u00eetre dans l&rsquo;ordre alphab\u00e9tique. Dans notre jeu nous avons trois valeurs calculables :\u00a0 <em>a,b,c<\/em>.<\/p>\n<p>Pour obtenir notre \u00e9nonc\u00e9 de type (1)\u00a0 on pose :<\/p>\n<ul>\n<li>a est le prix d&rsquo;achat unitaire<\/li>\n<li>b est le prix de vente unitaire.<\/li>\n<\/ul>\n<blockquote><p>La formule est donc : f(a,b) = b-a<\/p>\n<p>prix de vente &#8211; prix d&rsquo;achat<\/p><\/blockquote>\n<p>On voit que cette formule peut g\u00e9n\u00e9rer un nombre positif (une plus-value) un nombre n\u00e9gatif (perte) ou un r\u00e9sultat nul, si l&rsquo;action s&rsquo;est vendue \u00e0 son prix d&rsquo;achat .<\/p>\n<p>On peut aussi d\u00e9cider que <em>a<\/em> est le prix de vente et <em>b<\/em> le prix d&rsquo;achat ! dans ce cas, la formule sera invers\u00e9e : f(a,b)=a-b. Le choix des valeurs de a et de b est programmable.<\/p>\n<p>Pour obtenir un \u00e9nonc\u00e9 du type (2), on pose :<\/p>\n<ul>\n<li>a est le prix d&rsquo;achat unitaire<\/li>\n<li>b est le prix de vente unitaire.<\/li>\n<li>c est la quantit\u00e9 vendue.<\/li>\n<\/ul>\n<blockquote><p>La formule est donc : f(a,b,c)= c*(b-a)<\/p>\n<p>quantit\u00e9 * (prix de vente &#8211; prix d&rsquo;achat)<\/p><\/blockquote>\n<p>Ce qui nous donne le montant de la plus-value, ou de la moins-value, r\u00e9alis\u00e9e par Alice sur une action donn\u00e9e (ici: B\u00e2ti-Fol) au moment de la vente.<\/p>\n<p>Remarquez les op\u00e9rateurs: le signe \u00ab\u00a0mutliplier\u00a0\u00bb n&rsquo;est pas un \u00ab\u00a0x\u00a0\u00bb comme d&rsquo;habitude, mais le signe \u00ab\u00a0*\u00a0\u00bb. Il s&rsquo;agit du codage informatique (pour \u00e9viter de confondre le signe multiplier avec la lettre x).<\/p>\n<h3>Les op\u00e9rateurs<\/h3>\n<ul>\n<li>Les op\u00e9rateurs classiques sont : + (addition, &#8211; (soustraction), * (multiplication), \/ (division), % (modulo.)<\/li>\n<li>les parenth\u00e8ses.<\/li>\n<li>les op\u00e9rateurs de comparaison : &lt; (inf\u00e9rieur), &lt;= (inf\u00e9rieur ou \u00e9gal), == (\u00e9gal) , != (diff\u00e9rent), &gt; (sup\u00e9rieur), &gt;= (sup\u00e9rieur ou \u00e9gal). Ces op\u00e9rateurs renvoient une valeur bool\u00e9enne (vrai ou faux). \u00c0 la sortie de la formule, les valeurs bool\u00e9ennes sont converties en nombres (<em>faux<\/em> est traduit en 0 et <em>vrai<\/em> est traduit en 1.)<\/li>\n<li>l&rsquo;op\u00e9rateur unaire\u00a0 ! (non) : <em>!a<\/em> est vrai si <em>a<\/em> est faux, faux si <em>a<\/em> est vrai. <em>!(a&lt;b)<\/em> est vrai si <em>a &gt;=b.<\/em><\/li>\n<li>l&rsquo;op\u00e9rateur ternaire : <em>expression ?\u00a0valeur_si_vrai<\/em> \u00a0: <em>valeur si faux\u00a0 \u00a0&#8211; <\/em>par exemple : (a-b)&gt;=0?1:0 renvoie 1 si (a-b) &gt;=0, 0 si non.<\/li>\n<li>toutes les formules disponibles dans la biblioth\u00e8que Javascript Math, dont :\n<ul>\n<li>Math.sign(expression) : renvoie -1 si l&rsquo;expression est n\u00e9gative, 0 si elle est nulle, 1 si elle est positive;<\/li>\n<li>Math.floor(expression) : renvoie la partie enti\u00e8re;<\/li>\n<li>Math.round(expression): arrondit l&rsquo;expression \u00e0 l&rsquo;unit\u00e9;<\/li>\n<li>Math.abs(expression) renvoie la valeur absolue de l&rsquo;expression;<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Toute op\u00e9ration r\u00e9alisable en Javascript, tenant dans une ligne, peut \u00eatre programm\u00e9e.<\/p>\n<p>Depuis la mise en place de FORMULE, SOMME est cod\u00e9e sous la forme\u00a0 f(a,b)= a+b et TOTAL, dans le jeu \u00ab\u00a0le Verger\u00a0\u00bb, est cod\u00e9e f(a,b,c)= a+b+c. Les instructions SOMME et TOTAL sont conserv\u00e9es par souci de compatibilit\u00e9, et aussi parce qu&rsquo;elles sont plus faciles \u00e0 programmer que FORMULE ! Notez cependant que FORMULE n&rsquo;a pas besoin de d\u00e9finir des s\u00e9ries \u00ab\u00a0sommables\u00a0\u00bb, car toutes les s\u00e9ries calculables sont disponibles.<\/p>\n<h4>Attention !<\/h4>\n<p>Tous les calculs se font sur des nombres r\u00e9els. De ce fait, des approximations d&rsquo;arrondi peuvent se produire dans les formules complexes. Recourez alors \u00e0 Math.round.<\/p>\n<h1>Les param\u00e8tres<\/h1>\n<h3>Nom de la formule<\/h3>\n<p>C&rsquo;est ce nom qui sera affich\u00e9 dans la proposition formelle. Par exemple, pour le point (2), vous pouvez appeler votre formule \u00ab\u00a0PLUSVALUE\u00a0\u00bb (seules des lettres et des chiffres sont admis). Pour le point (1) on peut appeler la formule \u00ab\u00a0VARIATION\u00a0\u00bb qui traduit l&rsquo;\u00e9volution du prix unitaire entre la vente et l&rsquo;achat.<\/p>\n<p>L&rsquo;\u00e9nonc\u00e9 r\u00e9sutant sera, par exemple:<\/p>\n<blockquote><p>B\u00e2ti-Fol: PLUSVALUE(prix d&rsquo;achat unitaire, prix de vente unitaire,quantit\u00e9) = 500<\/p>\n<p>Aci\u00e9dur: VARIATION(prix d&rsquo;achat unitaire, prix de vente unitaire) = -20<\/p><\/blockquote>\n<h3>S\u00e9rie r\u00e9f\u00e9rente<\/h3>\n<p>Rappel : une <strong>s\u00e9rie<\/strong> est form\u00e9e par un en-t\u00eate et des valeurs. Par d\u00e9faut, le nom de la s\u00e9rie est celui de l&rsquo;en-t\u00eate. Exemple : la s\u00e9rie <em>prix d&rsquo;achat\u00a0<\/em>est form\u00e9e par l&rsquo;en-t\u00eate\u00a0<em>prix d&rsquo;achat<\/em> et des valeurs {10,20,30,40,50}<\/p>\n<p>La s\u00e9rie <strong>r\u00e9f\u00e9rente <\/strong>est la s\u00e9rie sur laquelle la formule s&rsquo;applique. Dans notre exemple, c&rsquo;est la s\u00e9rie <em>nom, <\/em>qui contient <em>AcierDur<\/em> ou <em>B\u00e2ti-Fol<\/em>. Vous pouvez choisir une s\u00e9rie particuli\u00e8re ou laisser l&rsquo;algorithme choisir al\u00e9atoirement. Il ne peut y avoir qu&rsquo;une seule s\u00e9rie r\u00e9f\u00e9rente.<\/p>\n<p><strong>Choix al\u00e9atoire<\/strong> : il\u00a0s&rsquo;effectue sur les s\u00e9ries n&rsquo;intervenant <strong>pas<\/strong> dans la formule, au moment de son ex\u00e9cution. Dans le cas (1), la variable <em>a\u00a0<\/em>est toujours le prix d&rsquo;achat et\u00a0<em>b\u00a0<\/em>toujours le prix de vente. La s\u00e9rie r\u00e9f\u00e9rente peut donc \u00eatre choisie entre \u00ab\u00a0<em>nom de l&rsquo;action\u00a0\u00bb<\/em> ou <em>\u00ab\u00a0quantit\u00e9\u00a0\u00bb<\/em>. Le choix se fera al\u00e9atoirement sur les deux possibilit\u00e9s. Si le choix se fait sur la quantit\u00e9, on produira un \u00e9nonc\u00e9 du type :<\/p>\n<blockquote><p>30 : VARIATION(prix d&rsquo;achat unitaire, prix de vente unitaire) = -20<\/p>\n<p>Le lot de\u00a0 30 a perdu 20\u20ac par action.<\/p><\/blockquote>\n<p><strong>Choix d&rsquo;une s\u00e9rie :\u00a0<\/strong> contrairement \u00e0 ce qu&rsquo;il se passe pour le choix al\u00e9atoire, la s\u00e9rie choisie peut faire partie des s\u00e9ries attribu\u00e9es aux variables (voir ci-dessous). Dans ce cas, l&rsquo;\u00e9nonc\u00e9 formel g\u00e9n\u00e9r\u00e9 n&rsquo;affichera pas la variable entre les parenth\u00e8ses de la formule.<\/p>\n<h3>S\u00e9rie a, b, c, &#8230;<\/h3>\n<p>C&rsquo;est ici que l&rsquo;on indique les s\u00e9ries dans lesquelles les variables <em>a, b, c,&#8230;\u00a0<\/em> vont chercher leurs valeurs.<\/p>\n<p>C&rsquo;est un tableau de cases \u00e0 cocher. Chaque colonne correspond \u00e0 une variable de la formule : a,b, c, &#8230; Chaque ligne est une s\u00e9rie calculable de notre int\u00e9gramme (donc dans notre cas, les noms des actions ne figure pas). Les colonnes doivent \u00eatre remplies de gauche \u00e0 droite. Il est interdit de laisser une colonne vide entre deux colonnes renseign\u00e9es. On doit donc obligatoirement commencer par <em>a,\u00a0<\/em>puis par\u00a0<em>b,\u00a0<\/em>et ainsi de suite.<\/p>\n<p>Dans le cas de notre exemple, cas (1), formule<em>\u00a0 f(a,b) = b-a, <\/em>on cochera les cases <em>(a,<\/em>\u00a0<em>prix d&rsquo;achat unitaire), (<\/em><em>b, <\/em><em>prix de vente unitaire)<\/em><em>. <\/em>Pour le cas (2), formule <em>f(a,b,c)=c*(b-a)<\/em>, on cochera <em>(a, prix d&rsquo;achat unitaire)<\/em> ,<em> (b, prix de vente unitaire)<\/em> ,<em> (c, quantit\u00e9)<\/em>\u00a0<em>.<\/em><\/p>\n<figure id=\"attachment_3141\" aria-describedby=\"caption-attachment-3141\" style=\"width: 277px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3141 size-full\" src=\"https:\/\/actilud.com\/info\/wp-content\/uploads\/2026\/05\/serie_fr.png\" alt=\"\" width=\"277\" height=\"97\" \/><figcaption id=\"caption-attachment-3141\" class=\"wp-caption-text\">Cas 2: affectation de a,b,c aux s\u00e9ries<\/figcaption><\/figure>\n<h4>Cocher plusieurs s\u00e9ries pour une m\u00eame variable<\/h4>\n<p>Si une variable est associ\u00e9e \u00e0 plusieurs s\u00e9ries, l&rsquo;algorithme traite chaque s\u00e9rie parmi celles qui sont coch\u00e9es, \u00e0 condition qu&rsquo;elle ne soit pas d\u00e9j\u00e0 choisie par les variables pr\u00e9c\u00e9dentes. Pour illustrer ce cas, prenons l&rsquo;\u00e9nigme <em>au verger<\/em> o\u00f9 nous avons trois s\u00e9ries calculables concernant le poids d<em>es noix,<\/em> des <em>pommes<\/em> et des<em> poires<\/em>. Nous souhaitons effectuer la somme de deux s\u00e9ries au hasard. Nous choisirons <strong>les trois s\u00e9ries<\/strong> pour a et pour b. Les calculs s&rsquo;effectueront sur (noix,pommes), (noix, poires), (pommes,poires) , a et b \u00e9tant toujours choisis dans des s\u00e9ries diff\u00e9rentes. La formule \u00e9tant commutative, il n&rsquo;y a que 3 combinaisons possibles. Ici, la variable\u00a0<em>c\u00a0<\/em>n&rsquo;est pas utilis\u00e9e dans la formule: on laisse donc vide la colonne <em>c .<\/em><\/p>\n<figure id=\"attachment_3143\" aria-describedby=\"caption-attachment-3143\" style=\"width: 256px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3143 size-full\" src=\"https:\/\/actilud.com\/info\/wp-content\/uploads\/2026\/05\/serie_fr_verger.png\" alt=\"\" width=\"256\" height=\"99\" \/><figcaption id=\"caption-attachment-3143\" class=\"wp-caption-text\">a et b seront choisis al\u00e9atoirement entre Noix, pommes et poires<\/figcaption><\/figure>\n<h4>Variable inutilis\u00e9e dans la formule<\/h4>\n<p>Les colonnes vides sont toujours situ\u00e9es sur les derni\u00e8res variables. Les variables associ\u00e9es aux colonnes vides ne sont pas utilis\u00e9es dans la formule.<\/p>\n<h3>f(a,&#8230;)=<\/h3>\n<p>Formule en \u00e9criture alg\u00e8brique utilisant les variables a,b,c. Votre formule sera compil\u00e9e en temps r\u00e9el et test\u00e9e sur <em>toutes les combinaisons possibles<\/em> g\u00e9n\u00e9r\u00e9es par vos s\u00e9ries. V\u00e9rifiez donc bien la syntaxe et soyez attentif aux probl\u00e8mes, comme les divisions par z\u00e9ro !<\/p>\n<h3>La formule est commutative<\/h3>\n<p>Cochez la case si la formule est commutative. C&rsquo;est le cas pour les instructions de type SOMME : a+b. En effet,\u00a0 a+b = b+a. Ceci permet d&rsquo;acc\u00e9lerer les calculs en \u00e9vitant les combinaisons inutiles. Dans le cas de l&rsquo;\u00e9nigme <em>au verger<\/em>, la commutativit\u00e9 produira uniquement des sommes de type (noix, pommes), (noix, poires), (pommes, poires). Les autres combinaisons possibles, comme (poires, pommes) seront ignor\u00e9es car d\u00e9j\u00e0 trait\u00e9es par l&rsquo;\u00e9quivalent commutatif.<\/p>\n<h2>Travail avec des constantes<\/h2>\n<p>Dans le cas g\u00e9n\u00e9ral, on \u00e9crit la constante directement dans la formule :<\/p>\n<blockquote><p>a &lt; 30<br \/>\nrenvoie 1 pour toutes les valeurs de a inf\u00e9rieures \u00e0 30, et 0 pour toutes celles sup\u00e9rieures ou \u00e9gales \u00e0 30.<\/p><\/blockquote>\n<p>Ces valeurs pourront ensuite \u00eatre filtr\u00e9es (voir ci-dessous), pour ne retenir par exemple que les valeurs \u00e0 1.<\/p>\n<p>On peut souhaiter que la constante soit choisie parmi les valeurs d&rsquo;une s\u00e9rie, sans conna\u00eetre pr\u00e9cis\u00e9ment cette valeur. On utilise \u00e0 ce moment la <strong>constante K,\u00a0<\/strong>que l&rsquo;on doit associer \u00e0 une des variables d\u00e9j\u00e0 d\u00e9finies. K doit \u00eatre \u00e9crite avec une majuscule.<\/p>\n<blockquote><p>a &lt; K<br \/>\nrenvoie 1 pour toutes valeurs de a inf\u00e9rieures \u00e0 K, K \u00e9tant choisie parmi les valeurs de a.<\/p><\/blockquote>\n<p>Pour utiliser la constante K dans la formule, cochez une des cases situ\u00e9es sous les variables.<\/p>\n<p>Remarque : K n&rsquo;est pas\u00a0<em>vraiment <\/em>une constante, m\u00eame c&rsquo;est ainsi que vous devez la consid\u00e9rer lorsque vous \u00e9crivez la formule. En r\u00e9alit\u00e9, <em>toutes les valeurs possibles de K\u00a0<\/em>seront trait\u00e9es dans votre formule, exactement comme pour les variables.<\/p>\n<h2>Les filtres<\/h2>\n<p>Il y a trois filtres qui permettent d&rsquo;accepter ou de refuser une formule, selon son r\u00e9sultat, le nombre de combinaisons qu&rsquo;elle cr\u00e9\u00e9e ou l&rsquo;incidence qu&rsquo;elle a sur la grille de jeu.<\/p>\n<h3>R\u00e9sultats accept\u00e9s, exclus :<\/h3>\n<p>Vous pouvez demander que votre formule renvoie un r\u00e9sultat choisi parmi un ensemble. Indiquez tous les r\u00e9sultats souhait\u00e9s, s\u00e9par\u00e9s par des virgules, dans le champ <em>accept\u00e9s.<\/em><\/p>\n<p>Certains r\u00e9sultats ne sont pas souhaitables. Vous pouvez les exclure dans le champ correspondant. Dans l&rsquo;\u00e9nigme\u00a0<em>boursicotage, <\/em> on exclut la valeur 0 pour les formules, car on veut \u00e9viter les \u00e9nonc\u00e9s qui contiennent des plus-values \u00e0 0 ou les gains nuls.<\/p>\n<p>Les nombres sont au format informatique standard : une suite continue de chiffres. Si le nombre est d\u00e9cimal (avec une virgule), utilisez <strong>le\u00a0point<\/strong> du pav\u00e9 num\u00e9rique.<\/p>\n<p>Par d\u00e9faut, laissez les champs vides.<\/p>\n<h3>Seuil combinatoire<\/h3>\n<p>D\u00e9finit la taille de la combinaison r\u00e9sultant de l&rsquo;application d&rsquo;une formule.<\/p>\n<p>Plusieurs valeurs pour a, b, c&#8230; peuvent produire le m\u00eame r\u00e9sultat. Par exemple, notre fonction VARIATION= b-a peut donner un r\u00e9sultat de 10. Ce r\u00e9sultat est possible pour plusieurs valeurs de (a,b) : (10,20); (20,30),(30,40),(40,50) soit 4 couples possibles. On dira que la taille de la combinaison est de 4. Un r\u00e9sultat de 40, lui, n&rsquo;est possible que pour un seul couple : (10,50). La taille de la combinaison, ici, est de 1. Attention, la combinaison ne contient pas uniquement des couples. S&rsquo;il n&rsquo;y a qu&rsquo;une variable, ce sera des singletons. Pour 3 variables, on aura des triplets, etc.<\/p>\n<p>Le seuil combinatoire d\u00e9finit la taille acceptable de la combinaison g\u00e9n\u00e9r\u00e9e par la formule, une fois qu&rsquo;elle a un r\u00e9sultat.<\/p>\n<p><strong>Seuil &gt;=0 : <\/strong> la taille de la combinaison doit \u00eatre <strong>strictement sup\u00e9rieure<\/strong> au seuil. La valeur 0 est la valeur par d\u00e9faut: on accepte donc tous les r\u00e9sultats, peu importe la taille de la\u00a0 combinaison . Un seuil de 1 autorise des combinaisons de taille sup\u00e9rieure ou \u00e9gale \u00e0 2, ce qui rend le jeu plus difficile, en \u00e9liminant les solutions imm\u00e9diates. Plus le seuil est \u00e9lev\u00e9, plus le jeu est difficile. Mais veillez \u00e0 ce qu&rsquo;il ne soit pas trop \u00e9lev\u00e9, au risque de rendre la formule inop\u00e9rante !<\/p>\n<p><strong>Seuil &lt;0 : <\/strong>le nombre de combinaisons doit \u00eatre <strong>exactement<\/strong> celui indiqu\u00e9, en valeur absolue: dans notre exemple, une combinaison de -1 n&rsquo;autorisera que les valeurs (10,50),avec un r\u00e9sultat de 40. Cela peut \u00eatre utile pour cr\u00e9er des \u00e9nigmes faciles. Vous devez veiller \u00e0 ce que le seuil ne contredise pas la liste des r\u00e9sultats accept\u00e9s ou exclus.<\/p>\n<h3>Limite des coups<\/h3>\n<p>Lors de l&rsquo;\u00e9valuation de la formule, l&rsquo;ensemble des cas va \u00eatre trait\u00e9, dans un ordre al\u00e9atoire. L&rsquo;ordre al\u00e9atoire fait que les items ne sont pas trait\u00e9s dans l&rsquo;ordre de leur s\u00e9rie. Chaque r\u00e9sultat accept\u00e9 est enregistr\u00e9 : c&rsquo;est un \u00ab\u00a0coup\u00a0\u00bb possible. Une fois que l&rsquo;ensemble des coups possibles a \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9, ou qu&rsquo;un maximum de 150 coups a \u00e9t\u00e9 atteint, le logiciel choisit un seul coup dans la liste, celui qui a le meilleur score \u00e0 l&rsquo;\u00e9valuation.<\/p>\n<p>Si vous traitez tous les cas possibles, alors, forc\u00e9ment, l&rsquo;\u00e9valuation ne retiendra toujours que les coups qu&rsquo;elle pr\u00e9f\u00e8re&#8230; et donnera souvent les m\u00eame \u00e9nonc\u00e9s. Ainsi, en mode \u00ab\u00a0standard\u00a0\u00bb, le logiciel privil\u00e9gie les signes \u00ab\u00a0vrai\u00a0\u00bb par rapport aux \u00ab\u00a0faux\u00a0\u00bb et aux bool\u00e9ens. Il ne retiendra donc que les solutions les plus triviales, celles qui produisent toujours des \u00ab\u00a0vrai\u00a0\u00bb dans la grille. Par exemple, si vous faites une comparaison de type a&lt;K, et si <em>a<\/em> est un nombre compris dans {10,20,30,40,50} le logiciel retiendra les formules qui satisfont a&lt;20, car elles cr\u00e9ent un signe \u00ab\u00a0vrai\u00a0\u00bb dans la case li\u00e9e au \u00ab\u00a010\u00a0\u00bb, ce qui rapporte plus de points \u00e0 l&rsquo;\u00e9valuation.<\/p>\n<p>Pour contrer cet effet, on limite le nombre de coups g\u00e9n\u00e9r\u00e9s. Cette limite peut \u00eatre drastique. Par exemple, pour simuler l&rsquo;instruction SEUIL, on utilise effectivement la formule a&lt;K ou a&gt;K, mais en limitant le nombre de coups \u00e0 1. Cela cr\u00e9e plus de variabilit\u00e9 dans les \u00e9nonc\u00e9s. De plus, les calculs sont consid\u00e9rablement acc\u00e9l\u00e9r\u00e9s puisqu&rsquo;on s&rsquo;arr\u00eate d&rsquo;\u00e9valuer les formules d\u00e8s qu&rsquo;un coup a \u00e9t\u00e9 trouv\u00e9. Ce n&rsquo;est pas forc\u00e9ment le meilleur des coups possibles, mais au moins on \u00e9vite les \u00e9nonc\u00e9s triviaux.<\/p>\n<h3>Codage dans la grille<\/h3>\n<p>Lorsque la formule est effectivement appliqu\u00e9e dans la grille, elle peut produire l&rsquo;apparition de bool\u00e9ens, de signes faux, voire m\u00eame, s&rsquo;il n&rsquo;y a qu&rsquo;un seul uplet, des signes <em>vrai.\u00a0<\/em>Attention, les r\u00e9percussions dans la grille d\u00e9pendent de son \u00e9tat au moment o\u00f9 l&rsquo;instruction est ex\u00e9cut\u00e9e. Si d&rsquo;autres instructions ont eu lieu avant, elles peuvent avoir une incidence sur le remplissage de la grille.<\/p>\n<p>Le codage d\u00e9termine l&rsquo;impact de la toute premi\u00e8re utilisation de la formule :<\/p>\n<ul>\n<li><strong>vide :\u00a0<\/strong> la formule ne doit pas produire de modification dans la grille. Pour r\u00e9soudre la formule, il faut donc que le joueur traite d&rsquo;autres propositions pour avancer dans le jeu.<\/li>\n<li><strong>partiel : <\/strong>la formule doit permettre de placer des signes <em>faux\u00a0<\/em>ou des\u00a0bool\u00e9ens.<\/li>\n<li><strong>complet :<\/strong> on peut placer des signes <em>vrai<\/em> dans la grille : la formule est r\u00e9solue.<\/li>\n<\/ul>\n<p>Le codage a \u00e9t\u00e9 mis en place pour garder une compatibilit\u00e9 avec l&rsquo;instruction TOTAL. Remarquez cependant l&rsquo;impr\u00e9cision de cette directive. L&rsquo;ordre de cr\u00e9ation des \u00e9nonc\u00e9s ne correspond pas forc\u00e9ment \u00e0 celui que le joueur va employer. Pour un joueur, un \u00e9nonc\u00e9 peut tr\u00e8s bien provoquer une modification dans la grille, alors qu&rsquo;il n&rsquo;en produisait pas pour le programme au moment de sa cr\u00e9ation.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-687 alignleft\" src=\"https:\/\/actilud.com\/info\/wp-content\/uploads\/2023\/08\/isole.png\" alt=\"\" width=\"35\" height=\"35\" \/><\/p>\n<p>Isol\u00e9: si l\u2019instruction fonctionne en mode isol\u00e9, le concepteur ne choisit pas les rang\u00e9es qui contiennent d\u00e9j\u00e0 des signes, y compris des bool\u00e9ens.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-688 alignleft\" src=\"https:\/\/actilud.com\/info\/wp-content\/uploads\/2023\/08\/maximum.png\" alt=\"\" width=\"35\" height=\"35\" \/><\/p>\n<p>Maximum : nombre maximum d&rsquo;ex\u00e9cutions de cette instruction.<span class=\"\" style=\"display:block;clear:both;height: 0px;padding-top: 0px;border-top-width:0px;border-bottom-width:0px;\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bient\u00f4t sur Actilud. Article en construction. Applique une formule math\u00e9matique. La formule utilise les valeurs calculables. Une formule s&rsquo;applique toujours sur une, et une seule, s\u00e9rie r\u00e9f\u00e9rente, calculable ou non. On peut l&rsquo;utiliser pour d\u00e9terminer une propri\u00e9t\u00e9 d&rsquo;un \u00e9l\u00e9ment d&rsquo;une s\u00e9rie. Par exemple on peut utliser FORMULE pour calculer la diff\u00e9rence entre le prix de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3075","post","type-post","status-publish","format-standard","hentry","category-glossaire-des-instructions"],"_links":{"self":[{"href":"https:\/\/actilud.com\/info\/wp-json\/wp\/v2\/posts\/3075","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/actilud.com\/info\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/actilud.com\/info\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/actilud.com\/info\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/actilud.com\/info\/wp-json\/wp\/v2\/comments?post=3075"}],"version-history":[{"count":95,"href":"https:\/\/actilud.com\/info\/wp-json\/wp\/v2\/posts\/3075\/revisions"}],"predecessor-version":[{"id":3206,"href":"https:\/\/actilud.com\/info\/wp-json\/wp\/v2\/posts\/3075\/revisions\/3206"}],"wp:attachment":[{"href":"https:\/\/actilud.com\/info\/wp-json\/wp\/v2\/media?parent=3075"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/actilud.com\/info\/wp-json\/wp\/v2\/categories?post=3075"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/actilud.com\/info\/wp-json\/wp\/v2\/tags?post=3075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}