sigma permet de trouver la somme d'une série d'expressions numériques ou la concaténation d'une série d'expressions alphanumériques dépendant d'un indice, cet indice variant entre deux bornes avec un pas de 1.
sigma( [ variable = ] indice_début, indice_fin, expression )
Elément | Description | Restrictions |
variable | Nom de la variable de boucle utilisée sous la | Aucune. |
indice_début | Expression numérique exprimant le début de l'intervalle dans lequel varie la variable. | Aucune. |
indice_fin | Expression numérique exprimant la fin de l'intervalle dans lequel varie la variable. | Aucune. |
expression | Expression numérique ou alphanumérique. | Aucune. |
# Les 26 lettres de l'alphabet
ALPHABET = sigma( I = 1, 26, chr$(64+I) )
# Fabrication d'une chaîne de MAXL caractères alphabétiques au hasard.
CHAINE_H = sigma( 1, MAXL, chr$(65 + int(rnd(25))) )
# Somme des carrés des nombres de 1 à N
SOMME_CARRES = sigma( I = 1, N, I*I )
# La même somme avec indcum
SOMME_CARRES = sigma( 1, N, indcum*indcum )
# Somme des cubes des nombres de 1 à N (par une double somme)
DOUBLE_SOMME = sigma( I=1, N, sigma(J = 1, I, J*J) )
# Calcul d'un produit scalaire
PROD_SCALAIRE = sigma( I = 0, N, S(indcum) * T(indcum) )
sigma permet de calculer le cumul d'une expression numérique dépendant d'un indice variant par pas de 1 entre deux bornes ou la concaténation de variables de type chaîne dans les mêmes conditions.
Si l'on donne un intervalle d'indices tel qu'il n'y a aucun élément à sommer, par exemple sigma(I = 1, 0, I), le résultat renvoyé est 0 (même si l'expression est de type alphanumérique).
Le type du résultat dépend du type des arguments, à savoir :
indcum est une variable entière de type Integer; on ne peut donc utiliser indcum que si elle varie dans un intervalle entier compris entre -2^31 et 2^31-1. Par ailleurs, on ne peut imbriquer des expressions sigma que si la variable d'indice est différente de indcum.
Si la variable de boucle n'existe pas, elle est créée avec le type Decimal.
La valeur finale de l'indice correspond à la première valeur se trouvant en dehors de l'intervalle donné.