Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
Discussion fermée
#1 24-10-2016 18:11:32
- nombre entier
- Invité
[AlgoBox] laisser le calcul lorsque ce n'est pas un nombre entier
bonjour,
j'ai un devoir d'algorithmique où il faut que je laisse le calcul au lieu du résultat s'il n'est pas un nombre entier par exemple
X=0,1222112
le prof aimerait qu'on laisse le calcul (-b-sqrt(D))/(2*a) plutôt que X=0,1222112 seulement je ne sais pas comment le faire sur algobox
merci de votre réponse, si ce n'est pas clair dite le moi j'essayerai de reformuler
#2 24-10-2016 19:27:41
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 991
Re : [AlgoBox] laisser le calcul lorsque ce n'est pas un nombre entier
Bonsoir,
Je présume que c'est ça que tu veux (avec x= 0.1222112) :
***Algorithme lancé***
Résultat non entier
x= (-b-sqrt(D))/(2*a)***Algorithme terminé***
Utilise SI ALORS et coche la case SINON.
Pour le test x entier ou non, il faudra utiliser une 2e variable (par exemple xx) et lui affecter une valeur quand tu auras calculé x.
Regarde du côté de l'instruction floor().
Manuel ici : http://www.xm1math.net/algobox/doc.html#SECTION313
Si tu ne trouves pas ce qu'il faut faire avec xx, dis-le...
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
#3 25-10-2016 10:12:50
- nombre entier
- Invité
Re : [AlgoBox] laisser le calcul lorsque ce n'est pas un nombre entier
merci pour ton aide
#4 25-10-2016 10:21:30
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 991
Re : [AlgoBox] laisser le calcul lorsque ce n'est pas un nombre entier
Salut,
En fait on peut se passer de la variable xx.
On n'a besoin que de x et de floor(x)...
J'ai oublié de rectifier, hier soir.
Désolé.
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
#5 27-10-2016 13:37:19
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 991
Re : [AlgoBox] laisser le calcul lorsque ce n'est pas un nombre entier
Bonkour,
J'y ai mis le temps, mais je me demande si par "afficher le calcul" l'énoncé n'entendait pas ceci :
***Algorithme lancé***
Racine non entière
x = (4-sqrt(196))/(3*2)
***Algorithme terminé***
Si oui,
Voici le code basé sur cet exemple numérique :
a EST_DU_TYPE NOMBRE
b EST_DU_TYPE NOMBRE
D EST_DU_TYPE NOMBRE
x EST_DU_TYPE NOMBRE
aa EST_DU_TYPE CHAINE
bb EST_DU_TYPE CHAINE
DD EST_DU_TYPE CHAINE
DEBUT_ALGORITHME
a PREND_LA_VALEUR 3
b PREND_LA_VALEUR -4
D PREND_LA_VALEUR 196
x PREND_LA_VALEUR (-b-sqrt(D))/(2*a)
SI (x==floor(x)) ALORS
DEBUT_SI
AFFICHER "Racine entière :"
AFFICHER "x = "
AFFICHER x
FIN_SI
SINON
DEBUT_SINON
AFFICHER "Racine non entière"
AFFICHER "x = "
aa PREND_LA_VALEUR a.toString()
AFFICHER "("
bb PREND_LA_VALEUR (-b).toString()
AFFICHER bb
AFFICHER "-sqrt("
DD PREND_LA_VALEUR D.toString()
AFFICHER DD
AFFICHER "))/("
AFFICHER aa
AFFICHER "*2)"
FIN_SINON
FIN_ALGORITHME
Ce qui est un plus compliqué pour des débutants en programmation, donc, j'ai essayé de rester simple, en transformant a,-b et D en chaînes affectées aux variables chaines aa, bb, DD pour affichage simplifié...
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
Pages : 1
Discussion fermée