grossessommes
Le module Sumo permet de
Il permet aussi de
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.
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 :
Le module Sumo permet les sommations en sens inverse de l'usage courant, donc avec les indices qui varient en décroissant. C'est intéressant pour améliorer la précision dans le résultat final avec les sommes portant sur un grand nombre de termes.
Soit la somme suivante,
Pour juger de la différence de précision, il suffit de
À la place d'une expression algébrique on peut passer une fonction Javascript ; par exemple, pour calculer la somme des diviseurs stricts d'un entier N :
Ou en Algo/JS, avec en plus le module Algo-fr :
L'exemple fait apparaître une expression ternaire, bien pratique pour mêler des tests aux expressions algébriques : true est alors interprété comme 1 et false comme 0.
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)) .
Enfin, on peut aussi l'utiliser comme une fonction à 5 paramètres, de façon similaire à ce qu'on fait sur une calculatrice TI 8X.
Avec des sommes de cubes :
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].
Souvent une telle somme correspond à sommer les premiers termes d'une suite. Avec Sumo peut aussi obenir ces termes et des sommes partielles de ces termes.
On peut aussi construire un tableau de valeurs, donc les premiers termes d'une suite définie par une fonction ou une expression algébrique :
Pour calculer la somme d'un grand nombre de termes d'une suite, disons un million, il n'est pas nécessaire d'en calculer la liste au préalable. Sumo évite cette occupation inutile de place en mémoire.
Comme pour la sommation, on peut utiliser suite comme fonction à 5 paramètres :
Avec des suites de cubes :
On peut aussi vouloir sommer ou extraire une partie des éléments d'un tableau, que l'on a construit par une instruction suite ou qui provient d'un autre calcul.
Exemple :
Dans le calcul de la somme, ou pour la création d'un tableau extrait avec suite, seuls sont pris en compte les indices pertinents pour le tableau considéré. Ce qui permet par exemple de mettre un nombre supérieur à la taille réelle du tableau lorsqu'on ne connaît que sa taille maximale.
Ici on peut calculer la somme de avec :
En posant
Avec un clic sur l'actionneur contenant une expression algébrique on effectue l'ensemble des affectations
et calculs (
Pour estimer l'intégrale elliptique précédente avec 14 chiffres significatifs,
on peut aussi utiliser :