Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Algo de primalite (programme calculette (TI-82) sr ls nmbr 1er)

Posté par
luluscaro14
30-12-09 à 12:06

Bonjour !!
Alors voila je vous expose mon probléme :

*** scan effacé ***

On choisie un nombre N
Pour A variant de 2 à +(l'infini)
        Si PGCD (N ; A) >  1
        Alors
        On affiche « Le nombre « N » n’est pas premier »
        Stop
        Fin du Si
Fin du Pour

Pour la 10 j ai pensé a ça sans vraiment savoir :

Sans un stop le programme continuerait de cherché et n afficherai pas le résultat voulu pour le nombre N.

Par contre pour le programme je n y arrive pas. Je sais qu il y a une boucle enfin bref je suis pas bien avancé la dessus ....

Edit Marcel : Les scans d'énoncé sont interdits sur ce forum. Si tu veux de l'aide, merci de prendre la peine de recopier ton énoncé et tes questions.

Posté par
Coll Moderateur
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 12:19

Bonjour,

Il y a plusieurs erreurs dans ce que tu as fait.

Il faut tout d'abord, conformément aux règles du forum que tu recopies l'énoncé. Cela te sera très utile car en lisant bien l'énoncé tu as presque toutes les réponses et tu pourras corriger déjà plusieurs erreurs.

C'est important de bien lire et relire un énoncé. Le scanner ne suffit pas !

Je t'aiderai quand tu auras recopié l'énoncé.

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 12:25

L'objectif de cette partie est de parvenir à écrire un programme simple permettant de vérifier si un entier N est premier ou non. Afin d'écrire cette Algo, nous utiliserons le résultat suivant "Si le PGCD de N avec tous les entiers compris ente 2 et N-1 est égal à 1, alors N est un nombre premier"



On choisie un nombre N  
Pour A variant de ???? à ????
        Si PGCD (N ; A) ???? 1
        Alors
        On affiche « Le nombre « N » n'est pas premier »
        Stop
        Fin du Si
Fin du Pour

Voila

Posté par
Coll Moderateur
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 12:30

D'accord.

Pourquoi voudrais-tu que la boucle aille jusque + ?
1) il faudra un temps infini !
2) ce n'est pas du tout nécessaire. Relis bien l'énoncé

Corrige donc le
Pour A variant de 2 à ...

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 12:34

Heuuu oui pas faut, pas bête. Si c'est pas ça alors :
Pour A variant de 2 a N-1 ???

Posté par
Coll Moderateur
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 12:39

Voilà...

Bien sûr on ne va pas tester avec N (on ne va pas chercher le PGCD de N avec N...) donc il suffit de s'arrêter à N-1, comme le prévoit l'énoncé pour cet algorithme "simple"
_________________

L'énoncé :

Citation :
"Si le PGCD de N avec tous les entiers compris ente 2 et N-1 est égal à 1, alors N est un nombre premier"


Or, dans l'algorithme, l'affichage prévu est "Le nombre "N" n'est pas premier"

Donc il faut que tu modifies ta proposition pour le test "SI" :

SI PGCD(N ; A) ... 1

Comment faut-il tester ?

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 12:44

SI PGCD(N ; A) 1

Posté par
Coll Moderateur
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 13:42

Je préfère beaucoup ce choix

Si le PGCD de N et de A est différent de 1 c'est que N n'est pas un nombre premier.
____________

Tu me diras que si le PGCD est différent de 1 alors il est supérieur à 1 et que donc ta première proposition était également valable ; mais je la trouve moins claire.
____________

A quoi sert le "Stop" là où il est ? Tout simplement à arrêter le programme puisqu'on a la réponse.
Ce programme permet de savoir si oui ou non N est un nombre premier.
Dès que l'on a trouvé qu'il n'est pas premier cela ne sert à rien de continuer à faire "tourner" la calculatrice.
____________

Ta calculatrice (que je ne connais pas) a-t-elle une fonction qui permette le calcul du PGCD de deux nombres ? Si oui, écrire le programme est très simple. Sinon... c'est une autre affaire !

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 14:05

oui je peu rentré la fonction PGCD directement dans mon programme

Posté par
Coll Moderateur
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 14:10

Ouf !

Alors, vas-y.
Ecris les lignes de programme qui traduisent dans le langage de ta machine cet algorithme.

Ce n'est pas difficile si tu as déjà rentré des programmes dans ta calculatrice.
_________________

Il se pourrait que je ne puisse plus te répondre en début d'après-midi car je dois quitter l' quelque temps.

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 14:15

PROGM P :
: Prompt N
:For (A,2,N-1)
:If pgcd (N,A1
:Then
isp N
:Stop
:End

mais il marche pas quel que soit le nombre
il me dit fait ... ?

Posté par
Coll Moderateur
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 15:24

Il me semble qu'il manque des instructions.

Je n'ai pas de calculatrice et je ne peux pas faire l'essai mais je te propose :

PROGM P :
: Prompt N
: For (A,2,N-1)
:    If pgcd (N,A) 1
:       Then
:         ClearHome
:         Output(1,1,"LE NB ")
:         Output(1,7,N)
:         Output(2,1,"N' EST PAS PREMIER")
:         STOP
:    END
: END
: STOP

On a vu pourquoi le premier STOP
Le premier END marque la fin du IF
Le deuxième END marque la fin de la boucle FOR
Le dernier STOP marque la fin du programme

Essaye et dis-moi !

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 20:14

ok j'essai mais pourrais tu m expliqué 2 petites chose :

le output ???
et le clear home ???

Ma calculette c est la Texas instruments TI-82 stat.fr

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 20:18

je n ai pas clear home ... mais bon clear = effacé et home = maison (écran ?)
j ai EffEcr ou Efftable

Merci

Posté par
Coll Moderateur
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 20:34

Je pense que EffEcr signifie Efface Ecran et c'est ce que je voulais faire avec ClearHome qui efface l'écran et place le curseur en haut à gauche de l'écran (si j'ai bien compris...)

Output est une instruction d'affichage qui permet d'afficher du texte et qui le fait à un emplacement précis de l'écran.
Par exemple Output(2,1,"Bla Bla") écrit Bla Bla en mettant le premier B sur la deuxième ligne et dans la première colonne de l'écran.

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:12

non toujour le même probléme il me répond direct "fait" et rien ne change...

Posté par
Coll Moderateur
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:16

Si le nombre est premier c'est normal...

C'est seulement si le nombre n'est pas premier qu'il écrit que le nombre n'est pas premier.

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:17

Même pour les nombre sécable ex 6 "fait"

Posté par
Coll Moderateur
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:20

Si (en dehors du programme) tu fais PGCD (35,42) quelle est la réponse ?

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:21

Il me répond 7

Posté par
Coll Moderateur
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:23

C'est bon

Je ne vois pas. Je n'ai pas ce type de calculatrice et je ne peux essayer le programme. Désolé...

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:25

ok c est rien je continu de cherché merciii bcp !!!

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:27

je croie que j ai trouvé !!!

Posté par
Coll Moderateur
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:30

Ça m'intéresse ! Quelle est la solution ?

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:31

J'y suis presque mais il beug encor sur des nombre premier voici se que j'ai fais :

: Prompt N
: For (A,2,N-1)
: If pgcd (N,A1)
: Then
: Disp" les nombre N n est pas premier"
: Stop
: End
: End

je suis pas loin je pense ...

Edit Coll : espaces pour éviter les smileys

Posté par
Coll Moderateur
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:36

Je pense que le IF n'est pas bien écrit.
: IF PGCD(N,A) 1

Et, à l'affichage près, c'est exactement la même chose que ce que j'avais proposé

Posté par
Coll Moderateur
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:40

Je me demande comment réagit la calculatrice quand elle rencontre le premier STOP...
même si ce STOP est dans un test IF ... THEN .... END
je me demande si cela n'arrête pas quand même la calculatrice

Une manière de le savoir serait d'insérer une ligne supplémentaire
Après la ligne FOR... et avant la ligne IF...
insère une ligne DISP A

Et regarde ce qui se passe. Est-ce que la boucle se déroule normalement ou est-ce qu'il n'y a qu'une seule valeur A = 2 qui s'affiche et le programme s'arrête ?

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:41

Il est BON !!!!!! SUPER !!!! Youpiiii

AAaaah quel satifaction d'avoir réussi .J'ai comprie en plus !!!! et je n aurais pas réussi sant TOI !!

Merciiiii bcp !!

Mais ce n est pas fini ... je crois qu il y en a encor a la fin bref ne ferme pas le topic mtn

je te tien au courant !

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:46

heuu je sais pas se que tu voulais exactement mais sa doit pas étre ça il affiche tout les nombre entre 1 et 40 pour N=41 et me dit "fait"

Posté par
Coll Moderateur
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:47

Bon, cela me rassure. Merci.

Mais pourquoi fonctionne-t-il maintenant et ne fonctionnait-il pas ? Qu'as-tu changé ?

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:51

je n ai pas mis de output , effécran. Je l'ai fais rien qu avec se que je savais . Mais sans un peu d aide pour le "" je chercherai encor ....

je continu mon DM c la fin

Posté par
Coll Moderateur
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:57

J'ai le mode d'emploi d'une vieille TI-82 et il y a peut-être des différences.

Tu as bien fait d'insister.

Et tu as vu comment faire quand on ne sait pas ce que fait la machine. On intercalle des "DISP quelque chose" un peu partout comme cela on voit où elle passe et où elle ne passe pas. Ensuite, quand le programme est au point on enlève ces lignes qui ne servent que pour la mise au point et le dépannage.

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 21:58

En tout cas MERCIIII

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 22:11

Merci d'avoir répondu a la question 15 de mon DM c'est exatement en affichant disp A a cette endroit que l'ont trouve les diviseur de N !!

Vraiment trop FORT ! BRAVOOO

Posté par
luluscaro14
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 30-12-09 à 22:35

a quoi servent ces grand nombre premier comme celui ci ?

Bonus
16.
Le plus grand nombre premier est « 2^43112209 » qui compte plus de 12 978 189 chiffre.

Posté par
Coll Moderateur
re : Algo de primalite (programme calculette (TI-82) sr ls nmbr 31-12-09 à 07:33

Ils servent par exemple à coder les messages secrets. Si tu choisis la spécialité maths en terminale, tu feras de l'arithmétique et là tu verras différentes méthodes pour coder les messages.
Certaines méthodes utilisent les nombres premiers et en particulier les nombres premiers qui ont beaucoup de chiffres.
Les ordinateurs peuvent très facilement faire, par exemple, le produit de deux nombres premiers (même très grands) mais il leur faut (pour l'instant) énormément de temps pour décomposer en deux facteurs premiers les très très grands nombres. Il leur faut si longtemps que, quand ils ont trouvé, en général le message n'a plus d'intérêt, il est périmé.
C'est pour cela que l'on cherche à écrire des programmes qui donnent le résultat aussi vite que possible. La méthode utilisée pour cet exercice ne conviendrait absolument pas. Les mathématiciens ont déjà trouvé des méthodes beaucoup plus efficaces et ils continuent de chercher des algorithmes de plus en plus rapides.



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 1674 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 !