Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(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 989

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 989

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 989

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 :

VARIABLES
     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

Pied de page des forums