
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...). |
| | | Spé Terminale S - Adaptation d'un programme pour Nspire.... | |
| |
| Auteur | Message |
|---|
AdRiWeB Légende


Age: 17 Classe: Term. S Calculatrice(s): TI-84+, Nspire CAS, Nspire CAS+ Messages: 1199 Efficacité: 1 Localisation: Sur ma chaise Date d'inscription: 01/06/2007
Divers Dernière note en maths: 100 % ^^
 | Sujet: 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 |
|  | | Bisam Elite


Age: 32 Classe: Prof de Maths Sup Calculatrice(s): Voyage 200 + TI 92 (de 1996) Messages: 791 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
 | Sujet: 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 ) |
|  | | AdRiWeB Légende


Age: 17 Classe: Term. S Calculatrice(s): TI-84+, Nspire CAS, Nspire CAS+ Messages: 1199 Efficacité: 1 Localisation: Sur ma chaise Date d'inscription: 01/06/2007
Divers Dernière note en maths: 100 % ^^
 | Sujet: 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 ..... |
|  | | charognard Vétéran


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
 | Sujet: 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 |
|  | | AdRiWeB Légende


Age: 17 Classe: Term. S Calculatrice(s): TI-84+, Nspire CAS, Nspire CAS+ Messages: 1199 Efficacité: 1 Localisation: Sur ma chaise Date d'inscription: 01/06/2007
Divers Dernière note en maths: 100 % ^^
 | Sujet: 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 ;) |
|  | | AdRiWeB Légende


Age: 17 Classe: Term. S Calculatrice(s): TI-84+, Nspire CAS, Nspire CAS+ Messages: 1199 Efficacité: 1 Localisation: Sur ma chaise Date d'inscription: 01/06/2007
Divers Dernière note en maths: 100 % ^^
 | Sujet: 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 ;) |
|  | | Bisam Elite


Age: 32 Classe: Prof de Maths Sup Calculatrice(s): Voyage 200 + TI 92 (de 1996) Messages: 791 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
 | Sujet: 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 |
|  | | AdRiWeB Légende


Age: 17 Classe: Term. S Calculatrice(s): TI-84+, Nspire CAS, Nspire CAS+ Messages: 1199 Efficacité: 1 Localisation: Sur ma chaise Date d'inscription: 01/06/2007
Divers Dernière note en maths: 100 % ^^
 | Sujet: 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 ;) |
|  | | charognard Vétéran


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
 | Sujet: 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 ? |
|  | | Bisam Elite


Age: 32 Classe: Prof de Maths Sup Calculatrice(s): Voyage 200 + TI 92 (de 1996) Messages: 791 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
 | Sujet: 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. |
|  | | AdRiWeB Légende


Age: 17 Classe: Term. S Calculatrice(s): TI-84+, Nspire CAS, Nspire CAS+ Messages: 1199 Efficacité: 1 Localisation: Sur ma chaise Date d'inscription: 01/06/2007
Divers Dernière note en maths: 100 % ^^
 | Sujet: 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 |
|  | | Bisam Elite


Age: 32 Classe: Prof de Maths Sup Calculatrice(s): Voyage 200 + TI 92 (de 1996) Messages: 791 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
 | Sujet: 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). |
|  | | charognard Vétéran


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
 | Sujet: 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 |
|  | | Bisam Elite


Age: 32 Classe: Prof de Maths Sup Calculatrice(s): Voyage 200 + TI 92 (de 1996) Messages: 791 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
 | Sujet: 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. |
|  | | charognard Vétéran


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
 | Sujet: 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 .... |
|  | | | | Spé Terminale S - Adaptation d'un programme pour Nspire.... | |
|
| Page 1 sur 2 | Aller à la page : 1, 2  |
| | Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |
|