Inscription / Connexion Nouveau Sujet

1 2 +


Posté par
jouvence
re : Spé maths : les rationnels positifs 25-10-13 à 18:57

J'ai trouvé l'algorithme :

Saisir a
Saisir b
Quotient(a;b)->q
Reste(a;b)->r

-Si r=0
Alors tant que a>1
a-2->a
Fin tant que
-Si a=0
   Alors afficher "bleu"
-Sinon afficher "rouge"
-Sinon si r>0
Alors tant que r>1
Quotient(b;r)->c
Reste(b;r)->d
b->r
r->d
Fin tant que
Fin si
-Tant que c>1
c-2->c
Fin tant que
-b/r->p
-Tant que p>1
p-2->p
Fin tant que
-Si p=0 et c=0
Afficher "bleu"
-Sinon si p=0 et c=1
Afficher "rouge"
-Sinon si p=1 et c=0
Afficher "rouge"
-Sinon si p=1 et c=1
Afficher "bleu"
Fin si
Fin traitement

Posté par
jouvence
Dm de spé : problème algobox 25-10-13 à 21:50

Bonsoir, je ne comprends pas pourquoi mon algorithme ne fonctionne pas sur Algobox. Je vous l'écris :



1   VARIABLES
2     a EST_DU_TYPE NOMBRE
3     b EST_DU_TYPE NOMBRE
4     q EST_DU_TYPE NOMBRE
5     r EST_DU_TYPE NOMBRE
6     c EST_DU_TYPE NOMBRE
7     d EST_DU_TYPE NOMBRE
8     p EST_DU_TYPE NOMBRE
9   DEBUT_ALGORITHME
10    LIRE a
11    LIRE b
12    q PREND_LA_VALEUR floor(a/b)
13    r PREND_LA_VALEUR a-(b*q)
14    SI (r==0) ALORS
15      DEBUT_SI
16      TANT_QUE (a>1) FAIRE
17        DEBUT_TANT_QUE
18        a PREND_LA_VALEUR a-2
19        FIN_TANT_QUE
20      SI (a==0) ALORS
21        DEBUT_SI
22        //Bleu
23        FIN_SI
24        SINON
25          DEBUT_SINON
26          //Rouge
27          FIN_SINON
28      FIN_SI
29    SI (r>0) ALORS
30      DEBUT_SI
31      TANT_QUE (r>1) FAIRE
32        DEBUT_TANT_QUE
33        c PREND_LA_VALEUR floor(b/r)
34        d PREND_LA_VALEUR b-(r*c)
35        r PREND_LA_VALEUR b
36        d PREND_LA_VALEUR r
37        FIN_TANT_QUE
38      FIN_SI
39    TANT_QUE (c>1) FAIRE
40      DEBUT_TANT_QUE
41      c PREND_LA_VALEUR c-2
42      FIN_TANT_QUE
43    p PREND_LA_VALEUR b/r
44    TANT_QUE (p>1) FAIRE
45      DEBUT_TANT_QUE
46      p PREND_LA_VALEUR p-2
47      FIN_TANT_QUE
48    SI (p=0 ET c=0) ALORS
49      DEBUT_SI
50      //bleu
51      FIN_SI
52    SI (p=0 ET c=1) ALORS
53      DEBUT_SI
54      //rouge
55      FIN_SI
56    SI (p=1 ET c=0) ALORS
57      DEBUT_SI
58      //rouge
59      FIN_SI
60    SI (p=1 ET c=1) ALORS
61      DEBUT_SI
62      //Bleu
63      FIN_SI
64  FIN_ALGORITHME

*** message déplacé ***

Posté par
jouvence
re : Dm de spé : problème algobox 25-10-13 à 22:15

Quelqu'un saurait où se trouve l'erreur ?

*** message déplacé ***

Posté par
sbarre
re : Dm de spé : problème algobox 26-10-13 à 04:46

bonjour,
oui. Ca m'a pris un certain temps surtout parce que j'ai essayé de comprendre à quoi ca sert comme algo.
Quand j'ai enfin compris (parce que j'ai trouvé la réponse sur un autre topic = pas bien du tout  => risque de bannissement...); j'ai essayé d'écrire à ma main petit bout par petit bout (il n'y a que comme ca que j'arrive à trouver les erreurs de syntaxe en général, ca a merdé quand j'ai fait un test avec = au lieu de == !

Pour la syntaxe, ton erreur (tes erreurs en fait) c'est = au lieu de == ; si tu les changes tous la syntaxe est bonne; en revanche l'algo est mal construit parce que si tu as un reste nul, après avoir écrit la couleur (afficher message et pas //blabla), tu passes à la ligne 43 et là c'est pas bon (division par 0!).
Pour ton test 14, il faut que tu associes un sinon pour éviter le problème (après 28 il basculera à fin algo).

Sinon il m'a semblé quand j'essayais de comprendre comment tournait l'algo, que
33        c PREND_LA_VALEUR floor(b/r)
34        d PREND_LA_VALEUR b-(r*c)
35        r PREND_LA_VALEUR b
36        d PREND_LA_VALEUR r

ne débouche sue rien. En effet tes lignes 35 et 36 font que r puis d prennent la valeur de b donc si ton b est différent de 1, ta boucle tourne indéfiniment puisque r vaudra toujours b et ne diminuera pas pour valoir 0 ou 1! (je pars du principe que b est non nul  (tu pourrais rajouter un petit quelque chose pour empêcher de rentrer une valeur nulle.

*** message déplacé ***

Posté par
sbarre
re : Spé maths : les rationnels positifs 26-10-13 à 04:47

attention:

(Lien cassé)

Posté par
jouvence
re : Spé maths : les rationnels positifs 26-10-13 à 10:18

Bonjour, merci d'avoir regardé et d'avoir déplacé mon sujet


Sur algobox il faut mettre un == c'est la syntaxe du logiciel.

Je dois mettre un arrêt donc après reste nul ? Je pense que l'erreur vient de la division par 0 alors.

D'accord je vais mettre un sinon sur la ligne 14 !

Donc je vais arranger ça pour b=/=0 et je pense que je vais enlever les lignes 35 et 36 !

Merci bien

Posté par
sbarre
re : Spé maths : les rationnels positifs 26-10-13 à 12:37

Bonjour, merci d'avoir regardé et d'avoir déplacé mon sujet                    ca n'est pas moi qui ait déplacé; seuls les modérateurs  le peuvent

Sur algobox il faut mettre un == c'est la syntaxe du logiciel.               oui c'est ce que je t'ai dit; et c'est en remplaçant tes = par des ==  dans ce que tu as écrit que la syntaxe devient bonne...

Je dois mettre un arrêt donc après reste nul ? Je pense que l'erreur vient de la division par 0 alors.             oui encore une fois c'est ce que je t'ai écrit!

D'accord je vais mettre un sinon sur la ligne 14 !       c'est une solution que je te propose, mais il y a certainement d'autres moyens

Donc je vais arranger ça pour b=/=0 et je pense que je vais enlever les lignes 35 et 36 !        euh... =/=  c'est pour ? si oui la syntaxe est différente sur algo ca doit être != ou =! ou quelque chose comme ca

Posté par
jouvence
re : Spé maths : les rationnels positifs 26-10-13 à 12:56

J'ai trouvé est-il possible de vous l'envoyer en privé histoire que ceux qui ont le DM se creusent quand même la tête avant d'avoir la réponse ?

Posté par
sbarre
re : Spé maths : les rationnels positifs 26-10-13 à 13:45

Si tu penses qu'il y en a beaucoup qui ont ce DM et qui utilisent ilemaths...
il est interdit d'écrire son adresse email ici mais il est possible de la récupérer en regardant mes données (en cliquant sur le petit bonhomme; si je réussis à la faire apparaître)

Posté par
jouvence
re : Spé maths : les rationnels positifs 26-10-13 à 14:00

Ahah je vous l'envoie !

Posté par
sbarre
re : Spé maths : les rationnels positifs 26-10-13 à 14:06

ok j'ai récupéré; que souhaites tu que je fasse avec?
j'imagine que tu l'as déjà fait tourner pour vérifier qu'il est ok...

Posté par
jouvence
re : Spé maths : les rationnels positifs 26-10-13 à 14:08

C'était pour que vous puissiez voir ce que ça donne au final.

Et j'ai changé les lignes qui servaient à rien

Merci bonne journée

Posté par
sbarre
re : Spé maths : les rationnels positifs 26-10-13 à 14:16

effectivement il est beaucoup plus propre maintenant!

je pense qu'il ne serait pas inutile d'empêcher l'entrée de 0 comme valeur de b. Avec une petite boucle tant que b=0 afficher merci prendre une valeur non nulle pour b et refaire lire b.
Je n'ai d'ailleurs pas vérifié; est ce que tas a et b sont positifs ou peuvent-ils être négatifs?  (et dans ce dernier cas, le fonctionnement est à vérifier...)

Posté par
jouvence
re : Spé maths : les rationnels positifs 26-10-13 à 14:27

Euh non c'est pour a appartenant à N et b à N*

Posté par
jouvence
re : Spé maths : les rationnels positifs 26-10-13 à 14:27

Ah oui il me faut une ligne pour empêcher b=0 ! Merci

Posté par
sbarre
re : Spé maths : les rationnels positifs 26-10-13 à 15:00

Je t'en prie, bonne journée

Posté par
vaness62
re : Spé maths : les rationnels positifs 03-11-17 à 12:39

Bonjour à tous, j'ai le même exercice dans mon DM. j'ai tout réussi sauf une question pouvez-vous m'aider svp ?
Et les négatifs, En calculant de 2 façons, montrer qu'en utilisant la règle, on ne peut pas attribuer de couleur à -1/2.

1 2 +




Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !