L4G >  sigma  

Afficher tout Masquer tout

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.

 

Syntaxe

   sigma( [ variable = ] indice_début, indice_fin, expression )

 

Paramètres

Elément

Description

Restrictions

variable

Nom de la variable de boucle utilisée sous la
forme :
[ classe ] nom_de_variable
Par défaut, la variable système  Adonix indcum est utilisée.

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.

 

Exemples

   # 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) )

 

Description

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 :

  • concaténation de chaînes :
    • le résultat est de type Char,

 

  • cumul de numériques :
    • le résultat est de type Integer (s'il n'y a que des entiers à cumuler et si le total ne dépasse pas la limite des entiers), Double (s'il y a au moins un flottant à cumuler), Decimal dans les autres cas.

 

Remarques

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é.

 

Erreurs associées

Erreur

Description

ERMODE (10)

Les indices donnés ne sont pas numériques.

 

Mots-clés associés

SUM - INDCUM - FOR