Simplification code instruction High à répétition

Forums ProRealTime forum Français Support ProBuilder Simplification code instruction High à répétition

Viewing 8 posts - 1 through 8 (of 8 total)
  • #188185

    Bonjour,

    Voilà je cherche à trouver des sommets avec ce code, je n’arrive pas utiliser l’instruction Highest pour remplacer les multiples conditions High[x] > etc

    Il doit y avoir moyen d’utiliser Highest ?

    Vos avis ?

    #188186

    J’ai essayé avec Fractal = High[cp] >= Highest[cp*2+1](high) and Highest[cp-1], cela ne donne pas le même résultat

    #188216

    Cela semble déjà fonctionnel ? Pourquoi vouloir modifier ?

    Ce que tu as écrit :

    Le High d’il y a “cp” chandeliers en arrière est plus haut que les 3 bougies qui le précède.

    1 user thanked author for this post.
    #188217

    Je trouve que ce n’est pas très pratique, surtout si je veux faire varier les valeurs en les mettant en variable.
    Admettons que je veuille tester sur 10 bougies je serai obligé d’écrire 10 fois High[cp] > high[cp1] and High[cp1] > High[cp2] and High[cp2] > High[cp3]
    (pour la partie droite du sommet donc).

    #188219

    Pour remplacer N occurrences sans avoir à écrire une tartine de N fois, tu peux définir la condition: cond=high[cp]>high[cp-1]

    et remplacer les high[ ]>etc… par: summation[N](cond)=N,

    le tout devenant:

     

     

    #188222

    Je ne comprends pas comment cette condition va prendre en compte les valeurs qui sont un coup cp-1,cp-2 etc ?

    #188224

    La condition cond aura une valeur 0 ou 1 selon que high[cp]>high[cp-1] soit vraie ou fausse,

    la condition cond[1] qui correspond à high[cp]>high[cp-1] pendant la bougie précédente, correspond à high[cp-1]>high[cp-2] vu de la bougie en cours, et elle sera égale à 0 ou 1 selon qu’elle était vraie ou fausse

    même chose pour cond[2] et high[cp-2]>high[cp-3] , etc…

    La somme sur N bougies (de celle en cours, en passant par la précédente, etc… jusqu’à la (N-1) précédente) des valeurs de la condition est cond+cond[1]+cond[2]+…+cond[N-1] et s’écrit aussi summation[N](cond). Bien prendre en compte ici que pour summation, le [N] ne veut pas dire “à la N-ième bougie” mais veut dire “appliqué sur N occurrences”, même rôle des crochets que pour highest par exemple où les crochets sont pour un nombre de bougies (et non pas pour un rang comme pour high).

    Pour que cette somme soit égale à N alors que la valeur de cond à chaque bougie ne peut valoir que 0 (condition fausse) ou 1 (condition vraie), il n’y a qu’un seul cas possible: que la condition soit égale à 1 (vraie) sur chacune des N bougies.

    Donc summation[N](cond)=N  correspond bien à high[cp]>high[cp-1] and high[cp-1]>high[cp-2] etc… (N fois), et non seulement évite d’écrire une tartine, mais simplifie grandement les choses si on a besoin de faire varier N.

     

    1 user thanked author for this post.
    #188225

    Je comprends mieux, merci beaucoup 👍
    C’est particulier la programmation PRT avec ce travail relatif permanant à faire, c’est une bonne gymnastique d’esprit !

Viewing 8 posts - 1 through 8 (of 8 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login