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 16: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 17:27:41

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 11 391

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 08: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 08:21:30

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 11 391

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 11:37:19

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 11 391

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

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de cette opération? 3+7=

Pied de page des forums