grossessommes
Le module Sumo permet de calculer des sommes de nombreux termes en une seule instruction, soit avec une instruction linguistique, soit comme sur une calculatrice TI 8X. Ce module est donc surtout utile à ceux qui exploitent souvent les Mathématiques dans le cadre de leur activité professionnelle.
Le source de ce module est disponible en clair, à des fins didactiques : Sumo.js. Il n'a cependant d'intérêt que pour un développeur de modules avec ILO.
Le module Sumo (somme
en espéranto) permet de calculer directement
des sommes d'un grand nombre de termes, grâce à l'instruction suivante :
somme (expression algébrique) .pour (nom de variable) .variant .dans (a,b,dv)
où dv est un pas de calcul facultatif (positif ou négatif, dv = 1 étant pris par défaut) lorsque la variable choisie évolue de a à b.
À la place d'une expression algébrique on peut passer une fonction Javascript ; par exemple, pour calculer la somme des diviseurs stricts de N (dans un script écrit en Algo) :
En javascript, une instruction de la forme toto = (expression booléenne ? calcul 1 : calcul 2), qui utilise l'opérateur ternaire ?:, est équivalente à if(expression booléenne) { toto = calcul 1 } else toto = calcul 2) mais en plus rapide à l'exécution. Le net avantage de cet opérateur est de pouvoir être utilisé directement dans les calculs ; par exemple : y = (abs(3*x - 7) < 5 ? sin(x) : -1) + (x > 3 ? -3*x + 14 : 3/(abs(x) + pi)) .
Comme souvent le pas de calcul est 1, on peut se contenter de : somme (···) .pour (···) .variant .dans (a,b) ou encore somme (···) .pour (···) .variant .de (a) .à (b) ; par exemple : voir ( somme ("pi^k/k!") .pour ("k") .variant .de (0) .à (26) ).
Enfin, on peut aussi l'utiliser comme une fonction à 5 paramètres, de façon similaire à une calculatrice TI 8X ; par exemple : voir ( somme ("k^3", "k", 1, 3141) ).
Avec le principe des variables globales et des variables locales de Javascript, cette fonction peut autant servir à estimer la somme d'une série que l'intégrale d'une fonction numérique sur [a ; b].
Ici on peut calculer la somme de avec :
En posant
Avec un clic-droit sur la définition des bornes, on peut facilement produire d'autres cas de figure.
Pour estimer l'intégrale elliptique précédente avec 14 chiffres significatifs, on peut aussi utiliser : omega = 1/3 ; voir (-pi/2 * somme("(2*k)!^2/((2*k-1)*k!^4)*(omega/16)^k","k",0,25) ).
cacher ('la partie exemples')