Algorithme

Retrouver tous les sujets résolus.
Morgan

Re: Algorithme

Message par Morgan » dim. 2 nov. 2014 18:42

Merci, oui, effectivement je veux qu'il me donne tous les nombres premiers inférieurs à n donc il ne faut pas qu'il m'affiche true ou false ?
sos-math(21)
Messages : 10401
Enregistré le : lun. 30 août 2010 11:15

Re: Algorithme

Message par sos-math(21) » dim. 2 nov. 2014 21:35

Il faut donc que tu fasses une commande d'affichage dès que tu as un nombre premier.
Morgan

Re: Algorithme

Message par Morgan » dim. 2 nov. 2014 21:46

Mon algorithme est-il correct s'il vous plaît ?
Lire n
S prend la valeur 0
j prend la valeur 2
Pour j allant de 2 à n
Tant que j \(\leq\) partie entière( \(\sqrt{n}\)) et S=0
Si partie décimale (\(\frac{n}{j}\))=0
Alors S prend la valeur 1
Fin Si
j prend la valeur j+1
Fin Tant que
Si S=0
Alors afficher j
Fin Si
FinPour
Merci d'avance.
sos-math(12)
Messages : 476
Enregistré le : mer. 11 mars 2009 15:32

Re: Algorithme

Message par sos-math(12) » dim. 2 nov. 2014 22:10

Bonsoir :

l'utilisation de la commande "Pour J allant de 2 à n" n'est pas vraiment conseillée ici puisque tu vas changer la valeur de J. D'ailleurs il n'y a pas de Fin Pour dans ton algorithme.
Sinon le reste est correct.
Réfléchis à une commande alternative. Il n'y en a pas tant que cela à ton programme.

Bon courage
Morgan

Re: Algorithme

Message par Morgan » dim. 2 nov. 2014 22:17

Bonsoir, merci de m'avoir répondu, si j'ai mis un FinPour à la fin de mon algorithme, il faut que je remette un tant que ?
Merci d'avance.
sos-math(12)
Messages : 476
Enregistré le : mer. 11 mars 2009 15:32

Re: Algorithme

Message par sos-math(12) » dim. 2 nov. 2014 23:46

Bonsoir

Le problème est le "Pour...", donc ajouter un FinPour ne solutionnera pas le problème........

Bon courage.
Morgan

Re: Algorithme

Message par Morgan » lun. 3 nov. 2014 00:32

Mon algorithme est-il correct s'il vous plaît ?
Lire n
S prend la valeur 0
j prend la valeur 2
Tant que j \(\leq\) partie entière(\(\sqrt{n}\)) et S=0
Si partie décimale (\(\frac{n}{j}\))=0
Alors S prend la valeur 1
Fin Si
j prend la valeur j+1
Fin Tant que
Si S=0
Alors afficher j
Fin Si
Merci d'avance.
sos-math(28)
Messages : 192
Enregistré le : ven. 20 juin 2014 16:04

Re: Algorithme

Message par sos-math(28) » lun. 3 nov. 2014 14:45

Bonjour
Tu peux aussi à la place de la variable S, utiliser une variable Premier que tu initialises à True et qui prendra la valeur False dès qu'un entier j divise n dans ta boucleTantque.
Il faut alors mettre dans ton test Pemier=True à la place de s=0.
Il suffit d'afficher la variable Premier pour terminer.
Attention : Ton algorithme n'affiche pas ce qui est attendu, mais un diviseur de n ou la partie entière de \(\sqrt{n}\)

Pouquoi n'utilises-tu pas un logiciel comme AlgoBox pour tester tes algorithmes ?
Il y a aussi le logiciel Psylvia
Répondre