Le Forum de TI-BANK.fr

Le forum de la banque de programmes pour calculatrices graphiques Texas Instruments (aide débutants, résolution problèmes...).
Accueil­Portail­Calendrier­FAQ­Rechercher­S'enregistrer­Membres­Groupes­Connexion
Poster un nouveau sujet   Répondre au sujetPartager | 
 

 Spé Terminale S - Adaptation d'un programme pour Nspire....

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
AdRiWeB
Légende
Légende


Masculin Age: 17
Classe: Term. S
Calculatrice(s): TI-84+, Nspire CAS, Nspire CAS+
Messages: 1206
Efficacité: 1
Localisation: Sur ma chaise
Date d'inscription: 01/06/2007

Divers
Dernière note en maths: 100 % ^^

MessageSujet: Spé Terminale S - Adaptation d'un programme pour Nspire....   Lun 19 Oct - 20:01

B'jour à tous,

Voila l'histoire, je suis en Term.S Spé maths et donc bon, ben il est souvent utile de faire des programmes pour par exemple, trouve a et b tel que PGCD(a,b) = x et PPCM(a,b) = y bref, c'est bien pour vérifier etc.

J'ai donc fait ca tranquillement sur ma nspire cas, sans probleme, le programme marche, voila le code : (vous pouvez me dire ce que vous en pensez...)

Code:
Define LibPub pgcdppcm(d,m)=
Prgm
:DelVar liste
:1 [->] j
:{2,3,5,7,11,13,17,19,23,31,37,41} [->] lprem
:((m)/(d)) [->] apbp
:Disp "a'*b' = ",apbp
:For i,lprem[1],lprem[dim(lprem)]
:If remain(apbp,i)=0 Then
:i [->] liste[j]
:j+1 [->] j
:EndIf
:EndFor
:Disp {1,apbp}
:Disp liste
:EndPrgm


Le problème vient après, quand j'ai voulu faire ce même programme, mais cette fois sur ma 84+. La, tout est possible aussi, c'est pas très compliqué comme code, comme vous l'avez peut-être vu, mais pourtant, ca ne donne pas les mêmes résultats...

Jugez par vous-mêmes avec le code (N'hésitez pas a me dire ce qui va pas / peut être amélioré) :
Code:
:ClrHome
:ClrAllLists
:Input "PGCD(a,b)= ",D
:Input "PPCM(a,b)= ",M
:1 [->] J
:{1,2,3,5,7,11,13,17,19,23,31,37 [->] LPREM
:dim(LPREM [->] L
:M/D [->] C
:Output(5,1,"a'*b' =
:Output(5,9,C
:For(i,LPREM(1),LPREM(L)
:If not(fPart(C/I
:Then
:I [->] LRES(J
:J+1 [->] J
:End
:End
:Output(7,1,LRES
:Pause
:ClrHome
:Output(1,1,"


Bon, et bien quand j'exécute ces programmes avec les données de l'exercice de spé (PGCD(a,b)=980 et PPCM(a,b)=49980), j'obtiens un résultat juste sur la nspire (1 et 51 puis 3 et 17) et faux (enfin, ca ne m'affiche pas tout ce que ca devrais) sur la 84+... (seulement 1 et 3, comme si ça s'arrêtait et ne continuait pas dans la boucle pour trouver les autres diviseurs ><)

Bon, et ben voila, normalement les deux programmes devraient faire quasiment la meme chose, enfin dans le fond ca devrait être pareil, mais bon, ca ne marche pas .... Merci de m'aider :D


EDIT : PROBLEME REGLE :D
Merci ;)


Dernière édition par AdRiWeB le Lun 19 Oct - 21:12, édité 6 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adriweb.net
Bisam
Elite
Elite


Masculin Age: 32
Classe: Prof de Maths Sup
Calculatrice(s): Voyage 200 + TI 92 (de 1996)
Messages: 794
Efficacité: 7
Localisation: Lyon
Date d'inscription: 11/03/2008

Divers
Dernière note en maths: 14.8/20 à la 2ème épreuve de l'agreg 2000

MessageSujet: Re: Spé Terminale S - Adaptation d'un programme pour Nspire....   Lun 19 Oct - 20:28

Tu as oublié une ligne de code dans la version 84+ !
Après la boucle for, il manque le "if...".
Mais c'est peut-être un problème de transcription sur le forum.

De plus, tu ne fais pas afficher les mêmes resultats. Il n'y a pas d'équivalent du "disp {1,apbp}" dans la version 84+.

A part ca, je ne comprends pas bien comment marche ton programme... ni meme ce que tuvoudrais qu'il renvoie (mais c'est sans doute parce que je ne suis pas en Spé Maths :p )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
AdRiWeB
Légende
Légende


Masculin Age: 17
Classe: Term. S
Calculatrice(s): TI-84+, Nspire CAS, Nspire CAS+
Messages: 1206
Efficacité: 1
Localisation: Sur ma chaise
Date d'inscription: 01/06/2007

Divers
Dernière note en maths: 100 % ^^

MessageSujet: Re: Spé Terminale S - Adaptation d'un programme pour Nspire....   Lun 19 Oct - 20:47

ah oui c'est un probleme de transcription sur le forum, en effet on doit lire :

Code:
:If not(fPart(C/I
:Then
:I [->] LRES(J
:J+1 [->] J
:End


Mais bon, ca ne change rien au problème ^^Merci quand meme ;)

Donc en gros ce que je voudrais qu'il renvoie le programme ce sont les couples (dans une liste) des nombres qui vont bien avec les PGCD/PPCM fournis en input...

Sinon, au niveau de la forme du rendu, c'est pas trop les différences avec la version nspire qui comptent, mais bel et bien le fond .....
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adriweb.net
charognard
Vétéran
Vétéran


Masculin Age: 42
Classe: sans
Calculatrice(s): TI NSPIRE CAS, TI 74 + CHIMIE,2 CANON X07 + 2x8Ko + 2 CARD + audio, HP48GX + 512Ko, 11C, 28S, 35S, SHARP PC1262 + audio, PC1360, PC1246, PC1600 + 256Ko + RS232, 2 PC1500A + CE150 + CE-161 + 24ko, 2 PC1251 + CE125, 2 EL 9000, EL 512, PC G850V + USB, CASIO PB700 + FA11 + 4Ko, Z1Gr, TANDY TRS MODEL 100, TI59
Messages: 558
Efficacité: 7
Date d'inscription: 18/10/2007

Divers
Dernière note en maths: 11/20

MessageSujet: Re: Spé Terminale S - Adaptation d'un programme pour Nspire....   Lun 19 Oct - 20:52

comprends pas tout non plus
as tu un exemple entrée / sortie
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
AdRiWeB
Légende
Légende


Masculin Age: 17
Classe: Term. S
Calculatrice(s): TI-84+, Nspire CAS, Nspire CAS+
Messages: 1206
Efficacité: 1
Localisation: Sur ma chaise
Date d'inscription: 01/06/2007

Divers
Dernière note en maths: 100 % ^^

MessageSujet: Re: Spé Terminale S - Adaptation d'un programme pour Nspire....   Lun 19 Oct - 21:03

alors, voila un exemple entrée sortie sur la nspire, puisque ca marche bien :

(en fai,t l'énoncé d'un problème qui va avec :P)
Trouver a et b tel que :
PGCD(a,b)=980
PPCM(a,b)=49980

donc la sur la nspire on fait:
pgcdppcm(980,49980)
et ca nous sort donc :
Code:
a' * b' = 51
{1,51}
{3,17}


Voila donc en gros ce que ca fait ...



au fait, si c'est les codes des programmes que vous comprenez pas vu qu'ils sont assez "comprimés", dites le et j'expliquerai ligne a ligne ;)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adriweb.net
AdRiWeB
Légende
Légende


Masculin Age: 17
Classe: Term. S
Calculatrice(s): TI-84+, Nspire CAS, Nspire CAS+
Messages: 1206
Efficacité: 1
Localisation: Sur ma chaise
Date d'inscription: 01/06/2007

Divers
Dernière note en maths: 100 % ^^

MessageSujet: Re: Spé Terminale S - Adaptation d'un programme pour Nspire....   Lun 19 Oct - 21:09

BOOOOON, enfait, l'erreur venait que dans la boucle for, j'avais mis la valeur maximum comme lavariable "L" mais il s'aggissait en fait de "Liste(L)" et non pas "L" tout seul ....

Ah la la les erreurs betes comme ca, c'est a se frapper contre un mur ^^

Bon, ben merci quand meme, mais si vous trouvez un moyen d'organiser mieux les réponses qu'avec des listes comme ca donne maintenant je suis preneur ;)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adriweb.net
Bisam
Elite
Elite


Masculin Age: 32
Classe: Prof de Maths Sup
Calculatrice(s): Voyage 200 + TI 92 (de 1996)
Messages: 794
Efficacité: 7
Localisation: Lyon
Date d'inscription: 11/03/2008

Divers
Dernière note en maths: 14.8/20 à la 2ème épreuve de l'agreg 2000

MessageSujet: Re: Spé Terminale S - Adaptation d'un programme pour Nspire....   Lun 19 Oct - 21:27

En fait, en lisant le début, j'ai cru que tu cherchais à faire afficher les couples {a,b} tels que pgcd(a,b)=x et ppcm(a,b)=y... mais en fait, tu ne fais que déterminer les valeurs de a' et b' qui sont définies par a'=a/x et b'=b/x.

Pour être exact, tu ne fais d'ailleurs afficher que les valeurs de a'.
En plus, tu ne les affiches pas toutes, puisque tu rates les cas où un nombre premier apparaît avec une puissance autre que 1 dans la factorisation de a'*b'...


Dernière édition par Bisam le Lun 19 Oct - 21:38, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
AdRiWeB
Légende
Légende


Masculin Age: 17
Classe: Term. S
Calculatrice(s): TI-84+, Nspire CAS, Nspire CAS+
Messages: 1206
Efficacité: 1
Localisation: Sur ma chaise
Date d'inscription: 01/06/2007

Divers
Dernière note en maths: 100 % ^^

MessageSujet: Re: Spé Terminale S - Adaptation d'un programme pour Nspire....   Lun 19 Oct - 21:38

Bisam a écrit:
En fait, en lisant le début, j'ai cru que tu cherchais à faire afficher les couples {a,b} tels que pgcd(a,b)=x et ppcm(a,b)=y... mais en fait, tu ne fais que déterminer les valeurs de a' et b' qui sont définies par a'=a/x et b'=b/x.

oui, en quelques sorte ;)

enfin, maintenant, du moment que ca marche a peu pres (manque plus qu'un peu de forme pour soigner le tout), ca devrait aller :D

merci ;)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adriweb.net
charognard
Vétéran
Vétéran


Masculin Age: 42
Classe: sans
Calculatrice(s): TI NSPIRE CAS, TI 74 + CHIMIE,2 CANON X07 + 2x8Ko + 2 CARD + audio, HP48GX + 512Ko, 11C, 28S, 35S, SHARP PC1262 + audio, PC1360, PC1246, PC1600 + 256Ko + RS232, 2 PC1500A + CE150 + CE-161 + 24ko, 2 PC1251 + CE125, 2 EL 9000, EL 512, PC G850V + USB, CASIO PB700 + FA11 + 4Ko, Z1Gr, TANDY TRS MODEL 100, TI59
Messages: 558
Efficacité: 7
Date d'inscription: 18/10/2007

Divers
Dernière note en maths: 11/20

MessageSujet: Re: Spé Terminale S - Adaptation d'un programme pour Nspire....   Mar 20 Oct - 15:27

les maths me sont lointain
mais

Code:
Trouver a et b tel que :
PGCD(a,b)=980
PPCM(a,b)=49980


pour moi a et b sont au moins >= 980 et <=49980

NON ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Bisam
Elite
Elite


Masculin Age: 32
Classe: Prof de Maths Sup
Calculatrice(s): Voyage 200 + TI 92 (de 1996)
Messages: 794
Efficacité: 7
Localisation: Lyon
Date d'inscription: 11/03/2008

Divers
Dernière note en maths: 14.8/20 à la 2ème épreuve de l'agreg 2000

MessageSujet: Re: Spé Terminale S - Adaptation d'un programme pour Nspire....   Mar 20 Oct - 16:54

As-tu lu ce j'ai écrit juste au-dessus, charognard ?
Il ne cherchait pas a et b (je suppose que c'est la méthode qu'on lui a apprise) mais les réduites de a et b, à savoir a et b divisés par leur pgcd.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
AdRiWeB
Légende
Légende


Masculin Age: 17
Classe: Term. S
Calculatrice(s): TI-84+, Nspire CAS, Nspire CAS+
Messages: 1206
Efficacité: 1
Localisation: Sur ma chaise
Date d'inscription: 01/06/2007

Divers
Dernière note en maths: 100 % ^^

MessageSujet: Re: Spé Terminale S - Adaptation d'un programme pour Nspire....   Mar 20 Oct - 17:27

oui en fin du cuop ensuite il suffit de multiplier dar le PGCD une fois qu'on a a' et b', puisqu'on a apprisla relation a = a' * pgcd(a,b) ; pareil pour b
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adriweb.net
Bisam
Elite
Elite


Masculin Age: 32
Classe: Prof de Maths Sup
Calculatrice(s): Voyage 200 + TI 92 (de 1996)
Messages: 794
Efficacité: 7
Localisation: Lyon
Date d'inscription: 11/03/2008

Divers
Dernière note en maths: 14.8/20 à la 2ème épreuve de l'agreg 2000

MessageSujet: Re: Spé Terminale S - Adaptation d'un programme pour Nspire....   Mar 20 Oct - 19:26

En gros, ce programme ne fait rien d'autre qu'afficher la liste des diviseurs premiers (inférieurs à 41) du quotient de ppcm(a,b) et pgcd(a,b).
Il me semble que sur Nspire CAS, il y a une fonction qui fait mieux puisqu'elle donne la liste de tous les diviseurs d'un nombre entier...

[Edit] Ah, bah, non, je l'avais juste rêvé... ou alors j'ai déjà vu cette fonction écrite par Philippe Fortin ou autre... (j'aurais juré avoir vu "isprime", "nextprime", etc... également).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
charognard
Vétéran
Vétéran


Masculin Age: 42
Classe: sans
Calculatrice(s): TI NSPIRE CAS, TI 74 + CHIMIE,2 CANON X07 + 2x8Ko + 2 CARD + audio, HP48GX + 512Ko, 11C, 28S, 35S, SHARP PC1262 + audio, PC1360, PC1246, PC1600 + 256Ko + RS232, 2 PC1500A + CE150 + CE-161 + 24ko, 2 PC1251 + CE125, 2 EL 9000, EL 512, PC G850V + USB, CASIO PB700 + FA11 + 4Ko, Z1Gr, TANDY TRS MODEL 100, TI59
Messages: 558
Efficacité: 7
Date d'inscription: 18/10/2007

Divers
Dernière note en maths: 11/20

MessageSujet: Re: Spé Terminale S - Adaptation d'un programme pour Nspire....   Mar 20 Oct - 19:58

Bisam a écrit:
En gros, ce programme ne fait rien d'autre qu'afficher la liste des diviseurs premiers (inférieurs à 41) du quotient de ppcm(a,b) et pgcd(a,b).
Il me semble que sur Nspire CAS, il y a une fonction qui fait mieux puisqu'elle donne la liste de tous les diviseurs d'un nombre entier...

[Edit] Ah, bah, non, je l'avais juste rêvé... ou alors j'ai déjà vu cette fonction écrite par Philippe Fortin ou autre... (j'aurais juré avoir vu "isprime", "nextprime", etc... également).

je t'avais lu avec interet Bisam, je mettais juste en évidence son énoncée fausse.

et non tu n'as pas révé : essai factor(x) sur NSPIRE
par exemple factor de 123456 donne 2^6 x 3 x 643
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Bisam
Elite
Elite


Masculin Age: 32
Classe: Prof de Maths Sup
Calculatrice(s): Voyage 200 + TI 92 (de 1996)
Messages: 794
Efficacité: 7
Localisation: Lyon
Date d'inscription: 11/03/2008

Divers
Dernière note en maths: 14.8/20 à la 2ème épreuve de l'agreg 2000

MessageSujet: Re: Spé Terminale S - Adaptation d'un programme pour Nspire....   Mar 20 Oct - 20:22

Cela factorise... mais il n'est pas possible de récupérer (du moins pas facilement) les différents facteurs.
Par conséquent, il n'est pas simple d'obtenir la liste des diviseurs.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
charognard
Vétéran
Vétéran


Masculin Age: 42
Classe: sans
Calculatrice(s): TI NSPIRE CAS, TI 74 + CHIMIE,2 CANON X07 + 2x8Ko + 2 CARD + audio, HP48GX + 512Ko, 11C, 28S, 35S, SHARP PC1262 + audio, PC1360, PC1246, PC1600 + 256Ko + RS232, 2 PC1500A + CE150 + CE-161 + 24ko, 2 PC1251 + CE125, 2 EL 9000, EL 512, PC G850V + USB, CASIO PB700 + FA11 + 4Ko, Z1Gr, TANDY TRS MODEL 100, TI59
Messages: 558
Efficacité: 7
Date d'inscription: 18/10/2007

Divers
Dernière note en maths: 11/20

MessageSujet: Re: Spé Terminale S - Adaptation d'un programme pour Nspire....   Mar 20 Oct - 20:45

avec string, instring, expr, left et right il a moyen rapidement de faire quelque chose.
qui si colle ?
concours optimisation


genre : left(string(factor(XXXX)),instring(string(fact(XXXX)),"*")-1) pour le premier terme ....
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 

Spé Terminale S - Adaptation d'un programme pour Nspire....

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Forum de TI-BANK.fr :: Forum TIz80 :: Programmation-
Poster un nouveau sujet   Répondre au sujet