Bonjour à tous.
Je prépare un programme pour savoir si un entier n est premier ou pas ...
Voila ce que j'ai fait ....
:premier(n)
: Prgm
: If n= 0 Then
: Disp "le nombre n'est pas premier"
: Elseif n=1 Then
: Disp "le nombre n'est pas premier"
: Elseif n=2 Then
: Disp "le nombre est premier"
: Elseif mod(n,2)=0 Then
: Disp"le nombre n'est pas premier"
: Else
: Local k
: 3->k
: While k^2 <= n
: If mod(n,k)=0 Then
: Disp "le nombre n'est pas premier"
: k+2->k
: Disp"le nombre est premier"
: EndIf
: EnWhile
: EndPrgm
l'algorihtme ne marche que pour 0;1 et et les nombres pairs ....
pour le reste il n'affiche rien du tout ....
je ne vois pas du tout comment faire je suis à l'iufm mais on nous donne pas des cours sur la calculatrice .
Merci à vous !
Et Bonne Année Bonne Santé surtout !
Il existe encore des personnes qui postent sur le net leur propres programmes, je croyais que ca n'existait plus (je cherche des programmes mais je n'ai plus le cable, et je me débrouilles assez mal en programmation... Exemple j'ai un polynome scindé j'essaye d'extraires racines et ordre de multiplicité impossible
H-Espace >> quel est ton problème exactement ? Tu as un polynôme sous quelle forme ? De quel degré ?
Merci pour tes réponses JAMO!
c'est très gentil de ta part ... lol
comme tu peux le voir je suis nul en programmation ..
C'est mon point faible d'autant plus que dans mon IUFM on nous entraïne pas à ça...
Encore merci !!
Bah je fais un programme sur les polynomes caractéristiques donc il me donne des (pour l'instant...) gentils polynomes du style x(x-2)(x-4)... J'essaye d'automatiser tout ca pour eviter les erreurs en retranscrivant (parce que je pourrais mettre une commande avec mes vp avec leurs ordres de multiplicité) mais le prob c'est que resol et zero me donne des listes ou des conditions, et je n'arrive pas a extraire les valeurs... (En plus qu'elle sont d'une précision affligent, ca la tue de dire {0 , 0 , 1} elle me sort du {3.14.10^-9, 0 , 1}
H-Espace >> je pense que le mieux, c'est que tu crées ton propre topic en expliquant clairement ton problème, car pour l'instant, je ne comprend toujours pas ton problème : si tu connais le polynôme sous forme factorisée, je ne vois pas le problème d'en determiner les racines ...
bonjour Coko
dans l'état actuel de ton programme, si n = 3, 5 ou 7, la condition de la boucle, dès le départ n'est pas remplie et elle ne s'effectue pas
si n = 9 ou un multiple de 3, le programme devrait afficher 'le nombre n'est pas premier' puis 'le nombre est premier' cependant que k passe à 5
la boucle continue tant que n est divisible par les valeurs de k : par 3, par 5, par 7, par 9
à la première non divisibilité, la condition if mod(n;k) = 0 n'est plus remplie, les instructions suivantes ne s'exécutent pas et k reste 'calé'; comme k² reste alors inférieur à n, la condition de la boucle est toujours remplie, mais elle tourne à vide
la fin du programme devrait être ceci (les ajouts sont en gras)
: While k^2 <= n
: If mod(n,k)=0 Then
: Disp "le nombre n'est pas premier"
: Stop // où l'instruction du langage arrêtant l'exécution
: Else
: k+2->k
: Disp"le nombre est premier"
: EndIf // se rapporte au If après While
: EnWhile
: EndIf // se rapporte au If du tout début
: EndPrgm
bonjour
le programme n'est pas encore parfait, puisqu'il n'affiche rien quand n = 3, 5 ou 7, car la condition de While n'est pas remplie dès le départ
il faut ajouter juste avant le premier else
: Elseif n = 3 or = n = 5 or n = 7 Then
: Disp "le nombre est premier"
dans ta version
avec 3, 5, 7 ton programme s'arrête sans rien affiché
avec 9, 15, 21, ton programme s'arrête après avoir affiché une fois "le nombre n'est pas premier"
avec 45, ton programme s'arrête après avoir affiché deux fois "le nombre n'est pas premier"
avec les autres nombres impairs, le programme ne s'arrête pas (il faut l'arrêter manuellement, par Ctrl Pause ou une touche ou un clic similaire) et il affiche zéro OU une OU deux OU trois OU ... fois "le nombre n'est pas premier" selon que le nombre n'est pas divisible par 3 OU est divisible par 3 OU est divisible par 3 et 5 OU est divisible par 3, 5, et 7 OU
Merci beaucoup plumemeteore !!
j'ai réussi a arranger le programme sayais il marche !!
MERCI BEAUCOUP A TOUS !!
Je me posais juste une question :
au lieu d'afficher " le nombre n'est pas premier " ou " le nombre premier "
est-il possible sur la calculatrice d'afficher la valeur de n exactement n'est pas premier
exemple
" 11 est premier "
" 20 n'est pas premier "
je sais que sur C on peut le faire en mettant " %n n'est pas premier "
Bonsoir jamo , je suis désolée de vous prendre au dépourvu , mais pouvez vous m'aider Equations et Etudes de fonctions ? je suis vraiment bloquée , et j'aurais besoin d'une aide précieuse ! Je vous remerci d'avance pour votre compréhension !
Bonjour à tous,
Je suis à la recherche d'un programme simple qui permet de savoir si un nombre entier donnée est premier ou pas.
Dans ce programme corrigé par Jamo et Plumemeteore, il y a tout de même quelques "bugs" notamment sur l'arrêt de la procédure, c'est tout de même mieux que ce que j'ai : nada!
Auriez-vous un autre programme simple et amélioré (avec le critère d'arrêt k^2<n) pour savoir si n est premier?
Je suis nul en programmation et je vous remercie par avance.
Fred
Bonjour Fred.
J'avais mal placé mon instruction
: Disp "le nombre est premier"
Elle doit être juste après :Endwhile
Salut et merci de m'avoir répondu deux ans après ton dernier post lol.
Ca te dérangerait de me le mettre en forme une bonne fois pour toute car je capte plus trop avec tous ces rajouts??
Merci par avance.
Bonsoir.
:premier(n)
: Prgm
: If n=0 Or n=1 Then //
: Disp "le nombre n'est pas premier"
: Elseif n=2 Then
: Disp "le nombre est premier"
: Elseif mod(n,2)=0 Then
: Disp "le nombre n'est pas premier"
: Else
: Local k
: 3->k
: While k^2 <= n
: If mod(n,k)=0 Then // le nombre est divisible par k
: Disp "le nombre n'est pas premier"
: Stop // met fin à l'exécution du programme
: Else // le nombre n'est pas divisible par k
: k+2->k
: EndIf // se rapporte au If suivant While
: EnWhile // on a essayé tous les diviseurs pairs
: Disp "le nombre est premier"
: Endif // se rapporte au If qui est au tout début du programme
: EndPrgm
Il faut bien remarquer et comprendre l'emboîtement des deux If ... Endif.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :