u4.34.02 Opérateur DEFI_LIST_ENTI#
Syntaxe#
Détail de la syntaxe
listis = DEFI_LIST_ENTI(
◇ OPERATION = / "DEFI" (par défaut),
/ "NUME_ORDRE",
# Si: equal_to("OPERATION", 'DEFI')
◆ / VALE = int,
/ DEBUT = int,
◇ / INTERVALLE = _F(
◆ JUSQU_A = int,
◆ / NOMBRE = int,
/ PAS = int,
),
# Si: equal_to("OPERATION", 'NUME_ORDRE')
◆ RESULTAT = resultat,
◆ PARAMETRE = text,
◆ INTERVALLE = _F(
◆ VALE = float,
),
◇ INFO = / 1 (par défaut),
/ 2,
◇ TITRE = text,
)
◆ : obligatoire
◇ : optionnel
⟐ : présent par défaut
& : ensemble
/ : un seul parmi
| : plusieurs choix possibles
Opérandes#
Définition d’une liste d’entiers#
Opérande VALE#
◊ VALE= lis
Liste des entiers qui formeront la structure de données listis résultat, on peut fournir n’importe quelle liste Python.
Opérande DEBUT#
♦ DEBUT =
deb: premier entier de la liste à construire.
Mot clé INTERVALLE#
◊ INTERVALLE
Mot clé facteur dont chaque occurrence permet de définir un intervalle à pas constant.
Opérande JUSQU_A#
♦ JUSQU_A = if
if est l’extrémité entière de l’intervalle à découper avec un pas constant.
Opérande PAS#
♦ / PAS = ipas
Pas de découpage de l’intervalle.
Opérande NOMBRE#
/ NOMBRE = in
Nombre de pas que l’on veut dans l’intervalle.
Extraction de numéros d’ordre#
Cette opération permet de récupérer dans une structure de données resultat (evol_noli issue de STAT/DYNA_NON_LINE par exemple) les numéros d’ordre correspondant à certains critères.
La liste des numéros d’ordre ainsi obtenue peut alors être utilisée dans toutes les commandes ayant le mot clé LIST_ORDRE.
Pour l’instant, le seul critère programmé est l’extraction d’un paramètre dans un intervalle donné.
Opérande PARAMETRE#
Nom du paramètre de la structure de données resultat dont on veut extraire la valeur.
Mot-clé facteurINTERVALLE#
On définit autant d’occurrences du mot-clé facteur INTERVALLEque l’on souhaite d’intervalles de recherche. La recherche est faite sur l’union de ces intervalles.
VALE= (val1, val2)
Définition desbornes de chaque intervalle auquel dont appartenir le paramètre à extraire (bornes comprises).
Opérande INFO#
◊ INFO = i
Indique le niveau d’impression des résultats de l’opérateur :
1 : aucune impression,
2 : impression de la liste d’entiers créée.
Opérande TITRE#
◊ TITRE = titre
Titre attaché au concept produit par cet opérateur [U4.03.01].
Remarques#
on vérifie que la liste est croissante,
attention: la structure de données de type listis ne peut pas être utilisée derrière un mot clé attendant une l_I (suite d’entiers écrits entre parenthèses).
Exemples#
Cas OPERATION = “DEFI”#
Pour construire la liste d’entiers à pas constant :
listi = DEFI_LIST_ENTI ( DEBUT = 1,
INTERVALLE = (_F ( JUSQU_A = 16,
PAS = 3 ),),
)
Pour construire la liste d’entiers avec deux valeurs différentes du pas :
listi = DEFI_LIST_ENTI ( DEBUT = 1,
INTERVALLE = (_F ( JUSQU_A = 5,
PAS = 1, ),
_F ( JUSQU_A = 15,
PAS = 5, ),)
)
ou
listi = DEFI_LIST_ENTI ( DEBUT = 1,
INTERVALLE = (_F ( JUSQU_A = 5,
NOMBRE = 4, ),
_F ( JUSQU_A = 15,
NOMBRE = 2, ),),
)
ou, à partir de n’importe objet liste Python:
listi = DEFI_LIST_ENTI ( VALE = range(10) ,)
Cas OPERATION = “NUME_ORDRE”#
lnuor = DEFI_LIST_ENTI(OPERATION=”NUME_ORDRE”,
RESULTAT=DEPLTRAN,
PARAMETRE=”INST”,
INTERVALLE=(
_F(VALE=(1.36, 1.37)),
_F(VALE=(1.45, 1.46)),
),)
lnuor contiendra la liste des numéros d’ordres dont la valeur de l’instant (paramètre INST) est dans les intervalles donnés.