PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Nouveauté WINDEV, WEBDEV, WINDEV Mobile 25 !
  • Fonctionnement
  • Agrégations existantes
  • Equivalence
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Agrège (Fonction)
En anglais : Reduce
Exécute une opération d'agrégation sur chaque élément d'un tableau.
Exemple
tabValeur est un tableau d'entiers = [1,2,3,4,5]
LaSomme est un entier
LaSomme  = Agrège(tabValeur, (Valeur, LaSomme) => { RENVOYER Valeur + LaSomme }, 0)
 
// note : cet exemple est didactique ; pour faire la somme des éléments d'un tableau,
// il est préférable d'utiliser la fonction Somme
Syntaxe
<Résultat> = Agrège(<Tableau> , <Opération à effectuer> [, <Valeur initiale>])
<Résultat> : Type correspondant au résultat
Résultat de l'opération d'agrégation demandée.
<Tableau> : Tableau WLangage
Nom de la variable de type Tableau à manipuler. Ce tableau doit être un tableau à une dimension.
<Opération à effectuer> : Procédure WLangage
Nom de la procédure WLangage à exécuter. Cette procédure peut être :
  • une procédure globale ou locale,
  • une procédure interne.
Il est également possible d'utiliser directement une lambda.
<Valeur initiale> : Paramètre optionnel, type correspondant à la valeur initiale
Valeur initiale à utiliser lors de la première exécution de la procédure <Opération à effectuer>.
Remarques

Fonctionnement

La procédure <Opération à effectuer> est appelée une première fois avec deux paramètres :
  • le premier élément du tableau,
  • la valeur initiale spécifiée avec le paramètre <Valeur initiale>.
La procédure est ensuite appelée pour tous les autres éléments du tableau avec deux paramètres :
  • l'élément du tableau,
  • la valeur renvoyée par l'appel précédent.
Exemple didactique
Considérons l'exemple suivant :
tabValeur est un tableau d'entiers = [1,2,3,4,5]
LaSomme est un entier
LaSomme = Agrège(tabValeur, (Valeur, LaSomme) => { RENVOYER Valeur + LaSomme }, 0)
Dans cet exemple, le code :
LaSomme = Agrège(tabValeur, (Valeur, LaSomme) => { RENVOYER Valeur + LaSomme }, 0)
est équivalent au code suivant :
LaSomme = Agrège(tabValeur, Additionne, 0)
 
PROCÉDURE INTERNE Additionne(Valeur, Total)
RENVOYER Valeur + Total
FIN
Avec cette procédure interne, il est possible de découper le calcul de la façon suivante :
  • RésultatIntermédiaire1 = Additionne (t[1], ValeurInitiale) : dans l'exemple Additionne( 1, 0 ) -> 1
  • RésultatIntermédiaire2 = Additionne (t[2], RésultatIntermédiaire1) : dans l'exemple Additionne( 2, 1 ) -> 3
  • ...
Note : cet exemple est didactique ; pour faire la somme des éléments d'un tableau, il est préférable d'utiliser la fonction Somme.

Agrégations existantes

Les agrégations les plus courantes sont disponibles en WLangage :
Versions 17 et supérieures
Moyenne
Nouveauté 17
Moyenne
Moyenne
Calcule la moyenne de plusieurs éléments :
  • éléments d'un tableau,
  • valeurs numériques, ...
Versions 17 et supérieures
Somme
Nouveauté 17
Somme
Somme
Calcule la somme des éléments d'un tableau.

Equivalence

La syntaxe POUR TOUT permet également de parcourir les éléments d'un tableau pour réaliser des agrégations.
Classification Métier / UI : Code neutre
Composante : wd250vm.dll
Version minimum requise
  • Version 25
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire