{"id":459,"date":"2026-05-22T15:28:10","date_gmt":"2026-05-22T13:28:10","guid":{"rendered":"https:\/\/actilud.com\/info\/en\/?p=459"},"modified":"2026-05-27T18:18:04","modified_gmt":"2026-05-27T16:18:04","slug":"the-formula-instruction","status":"publish","type":"post","link":"https:\/\/actilud.com\/info\/en\/the-formula-instruction\/","title":{"rendered":"The FORMULA instruction"},"content":{"rendered":"<div class=\"entry-content\">\n<p><strong><span dir=\"auto\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft\" src=\"https:\/\/actilud.com\/info\/wp-content\/uploads\/2026\/05\/instr_formule.png\" width=\"83\" height=\"83\" \/>Coming soon to Actilud. Article under construction.<\/span><\/strong><span dir=\"auto\">\u00a0Applies a mathematical formula. The formula can be applied to all calculable values.<span class=\"\" style=\"display:block;clear:both;height: 0px;padding-top: 0px;border-top-width:0px;border-bottom-width:0px;\"><\/span><\/span><\/p>\n<blockquote><p><span dir=\"auto\">f(a,b,c) = a * (cb)<\/span><\/p><\/blockquote>\n<p><span dir=\"auto\">Since the May 2026 update, the SUM, TOTAL, THRESHOLD instructions use the FORMULA instruction.<\/span><\/p>\n<p><span dir=\"auto\">This instruction was programmed to allow the creation of original puzzles, such as the <\/span><em><span dir=\"auto\">stock market<\/span><\/em><span dir=\"auto\">\u00a0game on Actilud. In this game, Alice sells 5 shares that she had previously bought. For each share, we know the name, the selling price, the unit purchase price, and the quantity sold. This allows us to create statements of the type:<\/span><\/p>\n<blockquote>\n<ol>\n<li><span dir=\"auto\">Styledsteel&#8217;s share price rose by \u20ac10: purchase price \u2013 selling price<\/span><\/li>\n<li><span dir=\"auto\">The sale of Foolishbuild shares generated a capital gain of \u20ac100: quantity * (purchase price \u2013 sale price)<\/span><\/li>\n<\/ol>\n<\/blockquote>\n<p><span dir=\"auto\">In a formula, each computable value must be represented algebraically, by a letter. The first letter used must always be a\u00a0<\/span><em><span dir=\"auto\">,\u00a0<\/span><\/em><span dir=\"auto\">\u00a0and subsequent letters, if any, must appear in alphabetical order. In our game, we have three computable values:\u00a0\u00a0<\/span><em><span dir=\"auto\">a, b, c<\/span><\/em><span dir=\"auto\">\u00a0.<\/span><\/p>\n<p><span dir=\"auto\">To obtain our statement of type (1), we set:<\/span><\/p>\n<ul>\n<li><span dir=\"auto\">a is the unit purchase price<\/span><\/li>\n<li><span dir=\"auto\">b is the unit selling price.<\/span><\/li>\n<\/ul>\n<blockquote><p><span dir=\"auto\">The formula is therefore: f(a,b) = ba<\/span><\/p>\n<p><span dir=\"auto\">selling price \u2013 purchase price<\/span><\/p><\/blockquote>\n<p><span dir=\"auto\">We can see that this formula can generate a positive number (a capital gain), a negative number (a loss), or a zero result, if the stock was sold at its purchase price.<\/span><\/p>\n<p><span dir=\"auto\">We can also decide that\u00a0<\/span><em><span dir=\"auto\">a<\/span><\/em><span dir=\"auto\">\u00a0is the selling price and\u00a0<\/span><em><span dir=\"auto\">b<\/span><\/em><span dir=\"auto\"> the buying price! In this case, the formula will be reversed: f(a,b)=a-b. The choice of values \u200b\u200bfor a and b is programmable.<\/span><\/p>\n<p><span dir=\"auto\">To obtain a statement of type (2), we set:<\/span><\/p>\n<ul>\n<li><span dir=\"auto\">a is the unit purchase price<\/span><\/li>\n<li><span dir=\"auto\">b is the unit selling price.<\/span><\/li>\n<li><span dir=\"auto\">That&#8217;s the quantity sold.<\/span><\/li>\n<\/ul>\n<blockquote><p><span dir=\"auto\">The formula is therefore: f(a,b,c) = c*(b-a)<\/span><\/p>\n<p><span dir=\"auto\">quantity * (selling price \u2013 purchase price)<\/span><\/p><\/blockquote>\n<p><span dir=\"auto\">This gives us the amount of the capital gain, or loss, realized by Alice on a given share (here: Foolishbuild) at the time of the sale.<\/span><\/p>\n<p><span dir=\"auto\">Note the operators: the &#8220;multiply&#8221; sign is not an &#8220;x&#8221; as usual, but the &#8220;*&#8221; sign. This is computer coding (to avoid confusion between the multiplication sign and the letter x).<\/span><\/p>\n<h3><span dir=\"auto\">The operators<\/span><\/h3>\n<ul>\n<li><span dir=\"auto\">The standard operators are: + (addition), \u2013 (subtraction), * (multiplication), \/ (division), % (modulo)<\/span><\/li>\n<li><span dir=\"auto\">parentheses<\/span><\/li>\n<li><span dir=\"auto\">The comparison operators are: &lt; (less), &lt;= (less or equal), == (equal), != (not equa), &gt; (greater), and &gt;= (greater or equal). These operators return a Boolean value (true or false). Upon exiting the formula, the Boolean values \u200b\u200bare converted to numbers ( <\/span><em><span dir=\"auto\">false<\/span><\/em><span dir=\"auto\">\u00a0is translated to 0 and\u00a0<\/span><em><span dir=\"auto\">true<\/span><\/em><span dir=\"auto\">\u00a0to 1).<\/span><\/li>\n<li><span dir=\"auto\">The unary operator ! (not):\u00a0<\/span><em><span dir=\"auto\">!a<\/span><\/em><span dir=\"auto\">\u00a0is true if\u00a0<\/span><em><span dir=\"auto\">a<\/span><\/em><span dir=\"auto\">\u00a0is false, false if\u00a0<\/span><em><span dir=\"auto\">a<\/span><\/em><span dir=\"auto\">\u00a0is true.\u00a0<\/span><em><span dir=\"auto\">!(a&lt;b)<\/span><\/em><span dir=\"auto\">\u00a0is true if\u00a0<\/span><em><span dir=\"auto\">a &gt;= b<\/span><\/em><\/li>\n<li><span dir=\"auto\">The ternary operator:\u00a0<\/span><em><span dir=\"auto\">expression? value_if_true<\/span><\/em><span dir=\"auto\">\u00a0\u00a0:\u00a0<\/span><em><span dir=\"auto\">value if false \u2013<\/span><\/em><span dir=\"auto\"> for example: (a-b)&gt;=0?1:0 returns 1 if (a-b) &gt;=0, 0 otherwise<\/span><\/li>\n<li><span dir=\"auto\">all the formulas available in the Javascript Math library, including:<\/span>\n<ul>\n<li><span dir=\"auto\">Math.sign(expression): returns -1 if the expression is negative, 0 if it is zero, 1 if it is positive<\/span><\/li>\n<li><span dir=\"auto\">Math.floor(expression): returns the integer part<\/span><\/li>\n<li><span dir=\"auto\">Math.round(expression): rounds the expression to the nearest whole number<\/span><\/li>\n<li><span dir=\"auto\">Math.abs(expression) returns the absolute value of the expression<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span dir=\"auto\">Any operation that can be performed in Javascript, and that fits in a single line, can be programmed.<\/span><\/p>\n<p><span dir=\"auto\">Since the introduction of FORMULA, SUM is coded as f(a,b) = a + b and TOTAL, in the game &#8220;The Orchard&#8221;, is coded as f(a,b,c) = a + b + c. The SUM and TOTAL instructions are retained for compatibility reasons, and also because they are easier to program than FORMULA! Note, however, that FORMULA does not need to define &#8220;summable&#8221; series, as all computable series are available.<\/span><\/p>\n<h4><span dir=\"auto\">Attention !<\/span><\/h4>\n<p><span dir=\"auto\">All calculations are performed on real numbers. Therefore, rounding approximations may occur in complex formulas. In such cases, use Math.round.<\/span><\/p>\n<h1><span dir=\"auto\">The parameters<\/span><\/h1>\n<h3><span dir=\"auto\">Formula name<\/span><\/h3>\n<p><span dir=\"auto\">This is the name that will be displayed in the formal proposal. For example, for point (2), you can call your formula &#8220;GAINVALUE&#8221; (only letters and numbers are allowed). For point (1), you can call the formula &#8220;VARIATION&#8221; which reflects the change in the unit price between the sale and the purchase.<\/span><\/p>\n<p><span dir=\"auto\">The summarizing statement will be, for example:<\/span><\/p>\n<blockquote><p><span dir=\"auto\">Foolishbuild: GAINVALUE(unit purchase price, unit selling price, quantity) = 500<\/span><\/p>\n<p><span dir=\"auto\">Styledsteel: VARIATION (unit purchase price, unit selling price) = -20<\/span><\/p><\/blockquote>\n<h3><span dir=\"auto\">Reference series<\/span><\/h3>\n<p><span dir=\"auto\">Reminder: A\u00a0<\/span><strong><span dir=\"auto\">series<\/span><\/strong><span dir=\"auto\">\u00a0is formed by a header and values. By default, the series name is the same as the header name. Example: The\u00a0<\/span><em><span dir=\"auto\">purchase price\u00a0<\/span><\/em><span dir=\"auto\">\u00a0series is formed by the header\u00a0\u00a0<\/span><em><span dir=\"auto\">purchase price<\/span><\/em><span dir=\"auto\">\u00a0and the values \u200b\u200b{10, 20, 30, 40, 50}.<\/span><\/p>\n<p><span dir=\"auto\">The\u00a0<\/span><strong><span dir=\"auto\">reference<\/span><\/strong><span dir=\"auto\">\u00a0series is the series to which the formula is applied. In our example, it&#8217;s the\u00a0<\/span><em><span dir=\"auto\">name series,<\/span><\/em><span dir=\"auto\">\u00a0which contains\u00a0<\/span><em><span dir=\"auto\">Styledsteel<\/span><\/em><span dir=\"auto\">\u00a0or\u00a0<em>Foolishbuild<\/em><\/span><span dir=\"auto\">\u00a0. You can choose a specific series or let the algorithm choose randomly.<\/span><\/p>\n<p><span dir=\"auto\">The random selection is made from the series not included in the formula at the time of its execution. In case (1), the variable\u00a0<\/span><em><span dir=\"auto\">a\u00a0<\/span><\/em><span dir=\"auto\">\u00a0is always the purchase price and\u00a0\u00a0<\/span><em><span dir=\"auto\">b\u00a0<\/span><\/em><span dir=\"auto\"> is always the selling price. The reference series can therefore be chosen between &#8220;<em>stock name<\/em><\/span><em><span dir=\"auto\">&#8220;<\/span><\/em><span dir=\"auto\">\u00a0or\u00a0<\/span><em><span dir=\"auto\">&#8220;quantity&#8221;<\/span><\/em><span dir=\"auto\">\u00a0. The choice will be made randomly from the two possibilities. If the choice is made from the quantity, a statement of the type will be produced:<\/span><\/p>\n<blockquote><p><span dir=\"auto\">30: VARIATION (unit purchase price, unit selling price) = -20<\/span><\/p>\n<p><span dir=\"auto\">The lot of 30 lost \u20ac20 per share.<\/span><\/p><\/blockquote>\n<h3><span dir=\"auto\">Series a, b, c, \u2026<\/span><\/h3>\n<p><span dir=\"auto\">This is where we indicate the series in which the variables\u00a0<\/span><em><span dir=\"auto\">a, b, c,\u2026\u00a0<\/span><\/em><span dir=\"auto\">\u00a0will find their values.<\/span><\/p>\n<p><span dir=\"auto\">This is a table of checkboxes. Each column corresponds to a variable in the formula: a, b, c, \u2026 Each row is a computable series in our puzzle (so in our case, the stock names are not included). The columns must be filled in from left to right. It is forbidden to leave a column empty between two filled columns. Therefore, we must start with <\/span><em><span dir=\"auto\">a,\u00a0<\/span><\/em><span dir=\"auto\">\u00a0then\u00a0\u00a0<\/span><em><span dir=\"auto\">b,\u00a0<\/span><\/em><span dir=\"auto\">\u00a0and so on.<\/span><\/p>\n<p><span dir=\"auto\">In our example, case (1), formula\u00a0<\/span><em><span dir=\"auto\">\u00a0 f(a,b) = b-a,<\/span><\/em><span dir=\"auto\">\u00a0we will check the boxes\u00a0<\/span><em><span dir=\"auto\">(a,\u00a0<\/span><\/em>\u00a0<em><span dir=\"auto\">unit purchase price), (\u00a0<\/span><\/em><em><span dir=\"auto\">b,\u00a0<\/span><\/em><em><span dir=\"auto\">unit selling price)\u00a0<\/span><\/em><em><span dir=\"auto\">.<\/span><\/em><span dir=\"auto\">\u00a0For case (2), formula\u00a0<\/span><em><span dir=\"auto\">f(a,b,c)=c*(b-a)<\/span><\/em><span dir=\"auto\">\u00a0, we will check\u00a0<\/span><em><span dir=\"auto\">(a, unit purchase price)<\/span><\/em><span dir=\"auto\">\u00a0,\u00a0<\/span><em><span dir=\"auto\">(b, unit selling price)<\/span><\/em><span dir=\"auto\">\u00a0,\u00a0<\/span><em><span dir=\"auto\">(c, quantity)\u00a0<\/span><\/em>\u00a0<em><span dir=\"auto\">.<\/span><\/em><\/p>\n<figure id=\"attachment_3141\" class=\"wp-caption aligncenter\" aria-describedby=\"caption-attachment-3141\"><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\" data-src=\"https:\/\/actilud.com\/info\/wp-content\/uploads\/2026\/05\/serie_fr.png\" \/><figcaption id=\"caption-attachment-3141\" class=\"wp-caption-text\"><span dir=\"auto\">Case 2: Assignment of a, b, c to the series<\/span><\/figcaption><\/figure>\n<h4><span dir=\"auto\">Select multiple series for the same variable<\/span><\/h4>\n<p><span dir=\"auto\">If a variable is associated with multiple series, the algorithm processes each selected series, provided the series is not already chosen by the preceding variables. To illustrate this, let&#8217;s consider the <\/span><em><span dir=\"auto\">orchard<\/span><\/em><span dir=\"auto\">\u00a0puzzle where we have three computable series concerning the weight of\u00a0<\/span><em><span dir=\"auto\">walnuts,<\/span><\/em><span dir=\"auto\">\u00a0<em>apples<\/em>\u00a0<\/span><em><span dir=\"auto\">,<\/span><\/em><span dir=\"auto\">\u00a0and\u00a0<\/span><em><span dir=\"auto\">pears<\/span><\/em><span dir=\"auto\">\u00a0. We want to sum two series at random. We will choose\u00a0<\/span><strong><span dir=\"auto\">the three series<\/span><\/strong><span dir=\"auto\">\u00a0for `a` and `b`. The calculations will be performed on `(walnuts, apples), (walnuts, pears), (apples, pears)`, with `a` and `b` always chosen from different series. Since the formula is commutative, there are only 3 possible combinations. Here, the variable\u00a0\u00a0<\/span><em><span dir=\"auto\">`c`\u00a0<\/span><\/em><span dir=\"auto\">\u00a0is not used in the formula: therefore, we leave column `c` empty\u00a0<\/span><em><span dir=\"auto\">.<\/span><\/em><\/p>\n<figure id=\"attachment_3143\" class=\"wp-caption aligncenter\" aria-describedby=\"caption-attachment-3143\"><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\" data-src=\"https:\/\/actilud.com\/info\/wp-content\/uploads\/2026\/05\/serie_fr_verger.png\" \/><figcaption id=\"caption-attachment-3143\" class=\"wp-caption-text\"><span dir=\"auto\">a and b will be chosen randomly from among walnuts, apples, and pears.<\/span><\/figcaption><\/figure>\n<h4><span dir=\"auto\">Unused variable in the formula<\/span><\/h4>\n<p><span dir=\"auto\">Empty columns are always located on the last variables. The variables associated with empty columns are not used in the formula.<\/span><\/p>\n<h3><span dir=\"auto\">f(a,\u2026)=<\/span><\/h3>\n<p><span dir=\"auto\">Formula in algebraic form using the variables a, b, c. Your formula will be compiled in real time and tested on\u00a0<\/span><em><span dir=\"auto\">all possible combinations<\/span><\/em><span dir=\"auto\">\u00a0generated by your series. Therefore, carefully check the syntax and pay attention to potential problems, such as division by zero!<\/span><\/p>\n<h3><span dir=\"auto\">The formula is commutative.<\/span><\/h3>\n<p><span dir=\"auto\">Check the box if the formula is commutative. This is the case for instructions of the type SUM: a+b. Indeed, a+b = b+a. This speeds up calculations by avoiding unnecessary combinations. In the case of the\u00a0<\/span><em><span dir=\"auto\">orchard<\/span><\/em><span dir=\"auto\">\u00a0puzzle , commutativity will only produce sums of the type (walnuts, apples), (walnuts, pears), (apples, pears). Other possible combinations, such as (pears, apples), will be ignored because they are already handled by the commutative equivalent.<\/span><\/p>\n<h2><span dir=\"auto\">Working with constants<\/span><\/h2>\n<p><span dir=\"auto\">In the general case, the constant is written directly into the formula:<\/span><\/p>\n<blockquote><p><span dir=\"auto\">a &lt; 30<\/span><br \/>\n<span dir=\"auto\">returns 1 for all values \u200b\u200bof a less than 30, and 0 for all those greater than or equal to 30.<\/span><\/p><\/blockquote>\n<p><span dir=\"auto\">These values \u200b\u200bcan then be filtered (see below), to retain, for example, only the values \u200b\u200bof 1.<\/span><\/p>\n<p><span dir=\"auto\">We may wish to choose the constant from the values \u200b\u200bin a series, without knowing that value precisely. In this case, we use the\u00a0<\/span><strong><span dir=\"auto\">constant K,\u00a0<\/span><\/strong><span dir=\"auto\">\u00a0which must be associated with one of the variables already defined.<\/span><\/p>\n<blockquote><p><span dir=\"auto\">a &lt; K<\/span><br \/>\n<span dir=\"auto\">returns 1 for all values \u200b\u200bof a less than K, K being chosen from the values \u200b\u200bof a.<\/span><\/p><\/blockquote>\n<p><span dir=\"auto\">To use the constant K in the formula, check one of the boxes located under the variables.<\/span><\/p>\n<p>Note: <span dir=\"auto\"> K is not\u00a0\u00a0<\/span><em><span dir=\"auto\">actually<\/span><\/em><span dir=\"auto\">\u00a0<\/span> a constant, even though that&#8217;s how you should treat it when writing the formula. In reality, <em>all possible values<\/em> of K will be handled in your formula, just like variables.<\/p>\n<h2><span dir=\"auto\">The filters<\/span><\/h2>\n<p><span dir=\"auto\">There are three filters that allow you to accept or reject a formula, depending on its result, the number of combinations it creates, or the impact it has on the game grid.<\/span><\/p>\n<h3><span dir=\"auto\">Accepted results, excluded results:<\/span><\/h3>\n<p><span dir=\"auto\">You can request that your formula return a result chosen from a set. Enter all desired results, separated by commas, in the\u00a0<\/span><em><span dir=\"auto\">accepted field.<\/span><\/em><\/p>\n<p><span dir=\"auto\">Some results are undesirable. You can exclude them in the corresponding field. In the\u00a0\u00a0<\/span><em><span dir=\"auto\">stock market puzzle,<\/span><\/em><span dir=\"auto\"> the value 0 is excluded for formulas because we want to avoid statements that contain gains of 0.<\/span><\/p>\n<p><span dir=\"auto\">Numbers are in standard computer format: a continuous sequence of digits. If the number is a decimal (with a comma), use\u00a0<\/span><strong><span dir=\"auto\">the decimal point<\/span><\/strong><span dir=\"auto\">\u00a0on the numeric keypad.<\/span><\/p>\n<p><span dir=\"auto\">By default, leave the fields empty.<\/span><\/p>\n<h3><span dir=\"auto\">Combinatorial threshold<\/span><\/h3>\n<p><span dir=\"auto\">Several values \u200b\u200bfor a, b, c\u2026 can produce the same result. For example, our function VARIATION=b-a can give a result of 10. This result is possible for several values \u200b\u200bof (a,b): (10,20); (20,30); (30,40); (40,50), giving 4 possible pairs. We say that the size of the combination is 4. A result of 40, however, is only possible for one pair: (10,50). The size of the combination here is 1.<\/span><\/p>\n<p><span dir=\"auto\">The combinatorial threshold defines the acceptable size of the combination generated by the formula.<\/span><\/p>\n<p><strong><span dir=\"auto\">Threshold &gt;= 0:<\/span><\/strong><span dir=\"auto\">\u00a0the size of the combination must be\u00a0<\/span><strong><span dir=\"auto\">strictly greater<\/span><\/strong><span dir=\"auto\">\u00a0than the threshold. The value 0 is the default: all results are accepted, regardless of the size of the combination \u2013 a result requires at least one pair. A value of 1 makes the game more difficult: indeed, only one pair for a given result allows the player to find the values \u200b\u200band mark\u00a0<\/span><em><span dir=\"auto\">true\u00a0<\/span><\/em><span dir=\"auto\">\u00a0signs in the grid, because there is only one solution. See the result 40. The higher the threshold, the more difficult the game. But be careful not to set it too high, or the formula will become ineffective!<\/span><\/p>\n<p><strong><span dir=\"auto\">Threshold &lt;0:<\/span><\/strong><span dir=\"auto\">\u00a0the number of combinations must be\u00a0<\/span><strong><span dir=\"auto\">exactly<\/span><\/strong><span dir=\"auto\">\u00a0as specified, in absolute value: in our example, a combination of -1 will only allow the values \u200b\u200b(10, 50), with a result of 40. This can be useful for creating easy puzzles. You must ensure that the threshold does not contradict the list of accepted or excluded results.<\/span><\/p>\n<h3><span dir=\"auto\">Moves limit<\/span><\/h3>\n<p><span dir=\"auto\">During the formula evaluation, all cases are processed in a random order. This random order means that the items are not processed in the order they appear in their series. Each accepted result is recorded: this is a possible &#8220;move.&#8221; Once all possible moves have been generated, or a maximum of 150 moves has been reached, the software selects a single move from the list, the one with the highest evaluation score.<\/span><\/p>\n<p><span dir=\"auto\">If you consider all possible cases, then, inevitably, the evaluation will only retain the moves it prefers\u2026 and will often produce the same statements. Thus, in \u201cstandard\u201d mode, the software prioritizes \u201ctrue\u201d over \u201cfalse\u201d and Boolean values. It will therefore only retain the most trivial solutions, those that always produce \u201ctrue\u201d in the grid. For example, if you perform a comparison of the type a&lt;K, and if\u00a0<\/span><em><span dir=\"auto\">a<\/span><\/em><span dir=\"auto\">\u00a0is a number between {10, 20, 30, 40, 50}, the software will retain the formulas that satisfy a&lt;20, because they create a \u201ctrue\u201d in the cell associated with \u201c10\u201d, which earns more points in the evaluation.<\/span><\/p>\n<p><span dir=\"auto\">To counter this effect, the number of generated moves can be limited. This limit can be drastic. For example, to simulate the THRESHOLD instruction, the formula a&lt;K or a&gt;K is indeed used, but the number of moves is limited to 1. This creates more variability in the statements. Furthermore, the calculations are considerably accelerated since formula evaluation stops as soon as a move is found. This isn&#8217;t necessarily the best possible move, but at least trivial statements are avoided.<\/span><\/p>\n<h3><span dir=\"auto\">Grid coding<\/span><\/h3>\n<p><span dir=\"auto\">This occurs after the previous filters have been applied. The formula is effectively applied to the grid. This can produce boolean values, false values, or even, if there is only one pair,\u00a0\u00a0<\/span><em><span dir=\"auto\">true values.\u00a0<\/span><\/em><span dir=\"auto\">\u00a0Note that the effects on the grid depend on its state at the time the instruction is executed. If other instructions have been executed beforehand, they may affect the grid&#8217;s population.<\/span><\/p>\n<p><em><span dir=\"auto\">Immediate<\/span><\/em><span dir=\"auto\">\u00a0coding\u00a0 should produce a change in the grid.\u00a0<\/span><em><span dir=\"auto\">Delayed\u00a0<\/span><\/em><span dir=\"auto\">\u00a0coding\u00a0should produce no change in the grid. This makes the formulas more difficult.<\/span><\/p>\n<p><span dir=\"auto\">The coding was implemented to maintain compatibility with the TOTAL instruction. Note, however, the imprecision of this directive. The order in which the statements are created does not necessarily correspond to the order the player will use. For a player, a statement may very well cause a change in the grid, even though it did not produce any change for the program at creation&#8217;s time.<\/span><\/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\" data-src=\"https:\/\/actilud.com\/info\/wp-content\/uploads\/2023\/08\/isole.png\" \/><\/p>\n<p><span dir=\"auto\">Isolated: if the instruction is running in isolated mode, the designer does not choose rows that already contain signs, including booleans.<\/span><\/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\" data-src=\"https:\/\/actilud.com\/info\/wp-content\/uploads\/2023\/08\/maximum.png\" \/><\/p>\n<p><span dir=\"auto\">Maximum: the maximum number of times this instruction can be executed.<\/span><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Coming soon to Actilud. Article under construction.\u00a0Applies a mathematical formula. The formula can be applied to all calculable values. f(a,b,c) = a * (cb) Since the May 2026 update, the SUM, TOTAL, THRESHOLD instructions use the FORMULA instruction. This instruction was programmed to allow the creation of original puzzles, such as the stock market\u00a0game on [&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-459","post","type-post","status-publish","format-standard","hentry","category-zebra-puzzles-glossary-of-programming-instructions"],"_links":{"self":[{"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/posts\/459","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/comments?post=459"}],"version-history":[{"count":12,"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/posts\/459\/revisions"}],"predecessor-version":[{"id":471,"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/posts\/459\/revisions\/471"}],"wp:attachment":[{"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/media?parent=459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/categories?post=459"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/tags?post=459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}