Bonjour
Je débute sur Xcas dans la partie programmation.
J'ai créé un petit (minuscule) programme de calcul de la moyenne de 2 notes :
saisir (note1,note2);
m :=(note1+note2) /2;
afficher(m);
Pour 12 et 14, il me donne 13, très bien.
Pour 12 et 13, il me donne 25/2 qui est la valeur en mode exact.
Comme je voudrais 12.5 j'ai modifié :
saisir (note1,note2);
m :=(note1+note2) /2;
afficher(evalf(m));
Pour 12 et 13, il me donne 12.5, très bien.
Du coup pour 12 et 14, il me donne 13.0 qui est bien la valeur en mode approché.
Evidemment je voudrais avoir 12.5 ou 13 selon les cas...
J'ai essayé avec evalf, approx, eval, exact...
J'ai le même problème en définissant une fonction :
m(x,y):={
local z;
z:=(x+y)/2;
}
:;
J'ai pensé à tester la parité de note1+note2, mais je voudrais ensuite passer à un nombre de notes à demander aussi.
J'ai essayé aussi la fonction moyenne de Xcas :
n:=moyenne ([note1,note2]);
afficher (n);
afficher (evalf(n));
mais j'ai les mêmes résultats : 13 et 25/2 ou 13.0 et 12.5
Auriez-vous une solution ?
Merci.
Fabienne
affichage réel/entier
Re: affichage réel/entier
Bonjour,
vous pouvez tester le type de la variable m et faire evalf uniquement si elle est rationnelle:
si type(m)==DOM_RAT alors m:=evalf(m); fsi
vous pouvez tester le type de la variable m et faire evalf uniquement si elle est rationnelle:
si type(m)==DOM_RAT alors m:=evalf(m); fsi
Re: affichage réel/entier
Bonsoir
C'est parfait !
Merci.
Fabienne
C'est parfait !
Merci.
Fabienne