Variables et langages

Bonsoir,
je voulais savoir s'il y avait une façon "dynamique " (c-à-d une utilisation juste locale) de créer au besoin dans un programme des variables en nombre ou quantités arbitraires, autrement qu'en remplissant un tableau, avec Python ou Scilab (qui ce dernier n'est pas vraiment un langage) ou Sage (mais je ne l'ai pas encore étudié ...)
Merci.

Réponses

  • Bonjour ,

    en python , il y a une structure de liste .

    Cordialement
  • Merci... donc utiliser les listes pour créer les variables. On peut faire des listes de listes
    Merci
  • Je ne comprends pas trop ce que vous dites – alors je parle d'autre chose.

    Voici une méthode pour créer une famille de sept indéterminées $x_1,\dots,x_7$ en Sage.
    sage: var(['x%s' % k for k in range(1,8)])
    (x1, x2, x3, x4, x5, x6, x7)
    sage: # manipulation
    sage: add(var('x%s'%k)^2 for k in range(1,8))
    x1^2 + x2^2 + x3^2 + x4^2 + x5^2 + x6^2 + x7^2
    
  • En javascript (ou dans n'importe quel langage dynamique, par exemple python ou sage) une variable locale c'est pareil qu'un champ de l'objet "local function scope" actuellement dans la pile. Autrement dit
    var a = 2;
    

    c'est pareil que
    this.a = 2;
    
    ou encore
    this["a"] = 2;
    
    donc tu peux créer 1000 variables locales comme ça
    for (i=1; i <= 1000; i++) this["a"+i] = i;
    
    pour les supprimer de la mémoire il faut faire
    for (i=1; i <= 1000; i++) this["a"+i] = undefined;
    
    si la variable contient des données il faut aussi les supprimer, si tu le fais pas le gargabe collector s'en chargera quand la mémoire sera pleine et quand la fonction sera terminée
    for (i=1; i <= 1000; i++) { delete this["a"+i]; this["a"+i] = undefined; }
    
  • mais en fait en lisant le mot "liste" hors contexte, tout s'est enchaîné et mis en place dans ma tête.
    Scatch que je ne classais pas parmi les langages non-complet l'est complètement. Et au final il n' y a rien à redire excepté la limitation à 200000 pour la taille d'une liste pour Scratch 3, ce qui n'était pas le cas pour Scratch 2
    mais Scratch 3 a plus de fonctionnalités quant à l'apparence des costumes, et d'un point de vue éducatif c'est un +.
Connectez-vous ou Inscrivez-vous pour répondre.