Compréhension d'un code

PHP, JavaScript, Python, C#, VB.NET, C++, etc, y compris d'autres types de langages (HTML, CSS, SQL)
t
tomtom3232
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 14 mars 2018
Version d'Excel : 2013

Message par tomtom3232 » 14 mars 2018, 14:38

Bonjour,
Je dois travailler sur un sujet qui nécessite d'abord que je comprenne le code suivant :
Print #1, ""
Print #1, "fespace Vh(T,P1);"
Print #1, "Vh u=Tini,v,uold,ii=1;"

Print #1, "for (int i=1; i<=1; i++)"
Print #1, "{"
Print #1, Chr(9) & "for(real t=0; t <= Tsim; t += Deltatsim)"
Print #1, Chr(9) & "{"
Print #1, Chr(9) & "uold=u;"
Print #1, Chr(9) & "ff0<<t<<endl;"
Print #1, Chr(9) & "ff1<<u(xs,ys)<<endl;"
Print #1, Chr(9) & "ff2<<u[].max<<endl;"
Print #1, Chr(9) & "solve thermic(u, v) = int2d(T)(x*(cv*u*v ......
Print #1, Tabn & "+ int1d(T)(x*u*v)
Print #1, Chr(9) & "plot(u,wait=0,value=1,viso=b,hsv=couleurs,fill=1);"
Print #1, Chr(9) & "}"
Print #1, "}"


Print #1, "fespace Vh(T,P1);"
Print #1, "Vh u=Tini,v,uold,ii=1;"
Je ne comprends pas ce qu'est le "fespace Vh", est ce une fonction ?
Qu'est ce que le "v" ? il n'est pas définit.

Ensuite, xs et ys sont juste des nombres et le "u" est normalement Tini la température initiale or le u(xs,ys) me donne une valeur différente en fonction du temps, je ne comprends pas comment c'est possible vu que ce n'est pas une fonction ou est-elle définit pas le "solve thermic" ?
Print #1, Chr(9) & "ff1<<u(xs,ys)<<endl;"

Enfin, savez vous comment le "Print #1, Tabn & " intervient dans ce code ? Quelle différence avec Chr(9) ?

Merci.
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'135
Appréciations reçues : 638
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 14 mars 2018, 14:45

Bonjour,

Ta macro va créer un fichier en écrivant un code par Print #1
Par contre, ce code n'est pas du VBA mais un langage machine ?
Quelle est la destination de ce fichier ?

Chr(9) est le caractère de tabulation (sans doute indentation du code)

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 6'689
Appréciations reçues : 647
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 15 mars 2018, 22:44

Bonsoir tomtom3232,

Comme l'a écrit Steelson (salut !), ta macro va écrire un fichier  en utilisant des instructions en langage Basic  Print #1 ; ce fichier sera constitué de lignes d'instructions qui me semblent bien être du langage C ! beaucoup de fonctions C commencent par la lettre f, comme fprint() ou fespace() ; la syntaxe de la boucle for est très reconnaissable :  for (int i=1; i<=1; i++) ; et il y a aussi les accolades « { } » et le points-virgule qui termine chaque instruction.

Voir un cours d'initiation au langage C pour plus d'infos ; regarde aussi les variantes de C, comme C++ ou C#   ;;)

Tout ce qui est avant le 1er guillemet de la ligne n'intervient pas dans le code C : c'est toujours le Basic.

Chr(9) est bien le caractère de tabulation ; j'crois m'souvenir qu'il y a Vtab pour une tabulation verticale,
mais j'connais pas Tabn.

dhany
t
tomtom3232
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 14 mars 2018
Version d'Excel : 2013

Message par tomtom3232 » 16 mars 2018, 15:27

Bonjour,

Merci pour vos réponses. Ce code est utilisé par le logiciel FreeFem++ qui permet la résolution d'équation mathématique et leurs représentations.
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 6'689
Appréciations reçues : 647
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 16 mars 2018, 15:40

Bonjour tomtom3232,

Merci pour ton info sur FreeFem++ ; je ne connaissais pas du tout ce logiciel, mais si tu veux l'apprendre, je te propose de lire le document pdf de ce lien : http://www.cmap.polytechnique.fr/IMG/pd ... eFem_I.pdf

dhany
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'135
Appréciations reçues : 638
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 16 mars 2018, 15:41

ok

as-tu d'autres questions à propos de ta macro
rappel : ta macro va créer un fichier en écrivant un code dedans

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message