Algorithme
Re: Algorithme
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 ?
-
- Messages : 10401
- Enregistré le : lun. 30 août 2010 11:15
Re: Algorithme
Il faut donc que tu fasses une commande d'affichage dès que tu as un nombre premier.
Re: Algorithme
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.
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.
-
- Messages : 476
- Enregistré le : mer. 11 mars 2009 15:32
Re: Algorithme
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
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
Re: Algorithme
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.
Merci d'avance.
-
- Messages : 476
- Enregistré le : mer. 11 mars 2009 15:32
Re: Algorithme
Bonsoir
Le problème est le "Pour...", donc ajouter un FinPour ne solutionnera pas le problème........
Bon courage.
Le problème est le "Pour...", donc ajouter un FinPour ne solutionnera pas le problème........
Bon courage.
Re: Algorithme
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.
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.
-
- Messages : 192
- Enregistré le : ven. 20 juin 2014 16:04
Re: Algorithme
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
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