affichage réel/entier

Discussion sur l'enseignement de l'algorithmique avec Xcas au lycee
Fab
Messages : 2
Inscription : mar. déc. 15, 2009 11:10 pm

affichage réel/entier

Message par Fab » mer. déc. 16, 2009 10:40 am

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

parisse
Messages : 5743
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: affichage réel/entier

Message par parisse » mer. déc. 16, 2009 12:17 pm

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

Fab
Messages : 2
Inscription : mar. déc. 15, 2009 11:10 pm

Re: affichage réel/entier

Message par Fab » mer. déc. 16, 2009 9:01 pm

Bonsoir

C'est parfait !
Merci.
Fabienne

Répondre