Bonjour,
La question est la suivante : Programmer cet algorithme avec algobox. Vérifiez que vous avez trouvez le même encadrement (entre 1 et 2), pus modifié l'algorithme pour obtenir un encadrement précis au centième près.
Voici l'algorithme,
Variable: a,b,m
Traitement: a prend la valeur 1
b prend la valeur 2
tant que b-a>0,1 faire
m prend la valeur (a+b):2
si m² +m-3>0alors
b prend la valeur m
sinon
a prend la valeur m
finsin
fintantque
afficher a
afficher b
Pouvez-vous me faire une capture d'écran sur algobox ou m'expliquer comment le faire ?
Je vous remercie d'avance !!
Bonjour,
Ouvrir Algobox
Cliquer sur Déclarer nouvelle variable , pour déclarer a , b et m qui me semblent être des nombres (mais ce n'est pas précisé dans ce que tu nous envoies)
Dans Début_Algorithme, Cliquer sur Ajouter une ligne
Cliquer sur Ajouter tant que
etc ..... etc .....
J'ai fait l'algorithme mais ça me marque a chaque fois à fin tant que " dépassement de la capacité autorisée pour les boucles***" Je voudrai savoir où est mon erreur
Voici mon algorithme sur algobox tel que je l'ai fais:
Variable:
a est du type nombre
b est du type nombre
m est du type nombre
DEBUT DE l'ALGORITHME:
a prend la valeur 1
b prend la valeur 2
TANT QUE ((b-a)>0,1) faire
DEBUT TANT QUE
m prend la valeur (a+b)/2
SI (pwo(m,2)+m-3) ALORS
DEBUT SI
b prend la valeur m
FIN SI
SINON
DEBUT SINON
a prend la valeur m
FIN SINON
FIN TANT QUE
afficher a
afficher b
FIN DE L'ALGORITHME
Bonsoir,
bien repéré !
la virgule décimale "française" est à proscrire dans tous les logiciels et à remplacer par "l'universel" point décimal
prendre en fait l'habitude de n'utiliser la virgule que sur des documents légaux et administratifs (la loi oblige)
partout ailleurs n'utiliser que le point décimal.
J'ai remplacé la virgule par le point ca ma mis ceci:
***Algorithme lancé***
11.0625
***algorithme terminé***
mais je ne peux rentrer aucune donnée...
Pour répondre a votre question c'est fin tant que a=b
Sauf dans certains autres logiciels comme Excel où 1,2 est compris comme 1 unité et 2 dixièmes !
On ne peut pas généraliser.
Tu ne rentres aucune donnée parce que ton algorithme ne demande aucune valeur à saisir.
Il fait un certain travail. A toi de comprendre lequel.
à mon avis il t'a affiché deux nombres collés l'un à l'autre
1 et collé juste derrière 1.0625
il faut mettre un saut de lignes (case à cocher) entre les deux afficher
1 VARIABLES
2 a EST_DU_TYPE NOMBRE
3 b EST_DU_TYPE NOMBRE
4 m EST_DU_TYPE NOMBRE
5 DEBUT_ALGORITHME
6 a PREND_LA_VALEUR 1
7 b PREND_LA_VALEUR 2
8 TANT_QUE ((b-a)>0.1) FAIRE
9 DEBUT_TANT_QUE
10 m PREND_LA_VALEUR (a+b)/2
11 SI (pow(m,2)+m-3>0) ALORS
12 DEBUT_SI
13 b PREND_LA_VALEUR m
14 FIN_SI
15 SINON
16 DEBUT_SINON
17 a PREND_LA_VALEUR m
18 FIN_SINON
19 FIN_TANT_QUE
20 AFFICHER a
21 AFFICHER b
22 FIN_ALGORITHME
Voila j'ai fait comme vous m'avez dis mais ca ne fonctionne toujours pas...
de plus tu devrais obtenir :
***Algorithme lancé***
1.25
1.3125
***Algorithme terminé***
tu n'as pas écrit correctement la condition dans le SI
(signalé par pgeod d'ailleurs)
tu n'as pas mis de saut de ligne entre les deux afficher (la case à cocher dans le 1er afficher)
en mode éditeur, le texte du programme devrait être
20 AFFICHER* a
avec une étoile pour dire qu'il passe à la ligne après l'affichage de a
(invisible en mode écran graphique normal cette étoile)
J'obtiens bien les résultats que vous m'avez montré maintenant j'aimerai savoir comment modifier l'algorithme pour obtenir un encadrement précis au centièmes près ?
Ont de yeux et ne savent pas lire ....
TANT_QUE ((b-a) > 0.1)
quelle est la précision ? 100 ? 10 ? 1 ? 0,1 ? 0,01?
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :