Pour toute demande d'aide sur des exemples non finalisés, c'est ici.
Les exemples aboutis et intéressants seront ajoutés aux sous-forums qui suivent.
Règles du forum
Pour toute demande d'aide pour la conception (ou la confirmation d'un code) d'une figure Asymptote, c'est ici.
J'invite ceux qui ont régulièrement des questions à poser à aller dans leur panneau de l'utilisateur pour indiquer dans la signature de leurs messages :
- Nom du système d'exploitation (W7 ou Ubuntu 12.04 ou ...)
- Version d'Asymptote et éditeur utilisé pour les figures Asymptote
- Distribution LaTeX et éditeur utilisé pour les tex.
On va gagner du temps dans les réponses !
-
DGH
- Messages : 11
- Enregistré le : mer. 28 avr. 2010, 14:24
Message non lu
par DGH » mar. 11 mai 2010, 20:35
Bonsoir,
Ma question concerne la lecture des données. J'ai mes données sont sont stockées dans un fichier nommé : "MesDonnees.dat"
Code : Tout sélectionner
// pour la lecture
file fichD=line(input("MesDonnees.dat"));
int[][] a=dimension(fichD,0,0);
a=transpose(a);
int[] X=a[0] , Y =a[1];
Avec la version 1.66 le code fonctionne alors qu'avec la version 1.94, j'ai le message d'erreur :
variable line n'est pas définie . J'ai besoin de quelqu'un (qui a la version 1.94) de tester pour voir s'il a le même problème que moi.
Merci
D.GH
-
OG
- V.I.P.
- Messages : 142
- Enregistré le : dim. 7 mars 2010, 22:27
Message non lu
par OG » mar. 11 mai 2010, 20:59
Bonsoir
Il y a certainement eu du changement. Je suis allé lire un peu la doc (si si c'est possible)
Voici un code qui marche (j'espère)
Code : Tout sélectionner
// pour la lecture
file fichD=input("MesDonnees.dat");
int[][] a=fichD.dimension(0,2);
a=transpose(a);
int[] X=a[0] , Y =a[1];
write (X,Y);
Cordialement
O.G.
-
GM
- Administrateur du site
- Messages : 1512
- Enregistré le : dim. 7 mars 2010, 14:50
Message non lu
par GM » mar. 11 mai 2010, 21:12
Réponse rapide (sans avoir pris le temps de tester l'exemple proposé) ... uniquement pour dire que je me suis aperçu récemment qu'il y a des
à remplacer par
.
Je m'en suis aperçu pour
les exemples suivants mais je n'ai pas encore pris le temps de voir si les exemples de
cette galerie étaient à réactualiser. Je le ferai quand je trouverai un peu de temps.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' :
http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :
Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 :
Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur :
Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !
-
DGH
- Messages : 11
- Enregistré le : mer. 28 avr. 2010, 14:24
Message non lu
par DGH » mer. 12 mai 2010, 11:27
Merci pour la réponse. Avec la version 1.94, le code suivant fonctionne.
Code : Tout sélectionner
file fichD=input("MesDonnees.dat").line();
int[][] a=fichD.dimension(0,0);
a=transpose(a);
int[] X=a[0] , Y =a[1];
write (X,Y);
Une question : Lors de la compilation est-il possible de récupérer la version d'Asymptote ? Quelque chose de type :
Code : Tout sélectionner
si (version==1.66)
file fichD=line(input("MesDonnees.dat"));
sinon
file fichD=input("MesDonnees.dat").line();
Merci
D.GH
-
GM
- Administrateur du site
- Messages : 1512
- Enregistré le : dim. 7 mars 2010, 14:50
Message non lu
par GM » mer. 12 mai 2010, 11:55
DGH a écrit :Lors de la compilation est-il possible de récupérer la version d'Asymptote ?
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- CODE ASYMPTOTE de la figure ci-dessus :
Tout sélectionner
size(200);
draw((0,0){dir(-45)}..{dir(45)}(10,0),red);
draw((5,1)--(5,3));
dotfactor=10;
dot((0,5));
dot((10,5));
label("Cr\'e\'e avec Asymptote "+version.VERSION,point(S),2S);
shipout(bbox(5mm,gray));
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' :
http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :
Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 :
Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur :
Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !
-
DGH
- Messages : 11
- Enregistré le : mer. 28 avr. 2010, 14:24
Message non lu
par DGH » mer. 12 mai 2010, 12:40
Merci Gaétan pour ce Joli dessin.
Toujours pour la lecture des données, comment lire un fichier de données qui est un mélange de réel , entier et string? Par exemple :
Jean 1.2 Paris 14000
Olivier 1.7 Rennes 12041
Ga\'etan 1.9 Strasbourg 21045
Alex 1.3 Lille 10047
Merci
Modifié en dernier par
DGH le mer. 12 mai 2010, 13:13, modifié 1 fois.
-
GM
- Administrateur du site
- Messages : 1512
- Enregistré le : dim. 7 mars 2010, 14:50
Message non lu
par GM » mer. 12 mai 2010, 12:46
C'est une bonne question... dont je n'ai pas encore la réponse du fait que je n'ai pas encore eu à l'utiliser mais je vais y réfléchir et faire des tests, ce soir... si personne ne donne une solution avant.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' :
http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :
Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 :
Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur :
Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !
-
OG
- V.I.P.
- Messages : 142
- Enregistré le : dim. 7 mars 2010, 22:27
Message non lu
par OG » mer. 12 mai 2010, 15:24
DGH a écrit :Merci Gaétan pour ce Joli dessin.
Toujours pour la lecture des données, comment lire un fichier de données qui est un mélange de réel , entier et string? Par exemple :
Jean 1.2 Paris 14000
Olivier 1.7 Rennes 12041
Ga\'etan 1.9 Strasbourg 21045
Alex 1.3 Lille 10047
Merci
Cela te convient-il ?
Code : Tout sélectionner
file fichD=input("donnee.txt").line().word();
string[] nom, ville;
int [] distance;
real [] dreel;
while(true) {
nom.push(fichD);
dreel.push(fichD);
ville.push(fichD);
distance.push(fichD);
if(eof(fichD)) break;
}
write(nom);
write(dreel);
write(ville);
write(distance);
Sinon il serait plus facile d'avoir les données par ligne. Tu lis la 1ère ligne : tableau de "string", etc
O.G.
-
DGH
- Messages : 11
- Enregistré le : mer. 28 avr. 2010, 14:24
Message non lu
par DGH » mer. 12 mai 2010, 16:15
OG a écrit :Cela te convient-il ?
O.G.
Parfait
D.GH
-
GM
- Administrateur du site
- Messages : 1512
- Enregistré le : dim. 7 mars 2010, 14:50
Message non lu
par GM » mer. 12 mai 2010, 23:59
Je ne comprends pas trop l'intérêt du while(true) puis du break.
Cela me semble plus simple ainsi :
Code : Tout sélectionner
file fichD=input("donnees.txt").line().word();
string[] nom, ville;
int [] distance;
real [] dreel;
while(eof(fichD)!=true) {
nom.push(fichD);
dreel.push(fichD);
ville.push(fichD);
distance.push(fichD);
}
write(nom);
write(dreel);
write(ville);
write(distance);
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' :
http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :
Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 :
Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur :
Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !