Bonjour à tous,
En train de travailler sur ma spécialité, je me suis vu confronté pendant une petite heure à un problème, que je n'ai pas su résoudre malgré mes recherches. En effet, je dois à l'aide la calculatrice, conjecturer la valeur d'un PGCD avec A et B comportant n entiers.
Je laisse place à l'énoncé :
Soit n un entier naturel, A = 2n+2 et B=3n+1.
A l'aide la calculatrice, conjecturer pour quelles valeurs de n, on a PGCD (A;B).
Sur ma TI-Nspire CX-Cas, j'ai tout de suite pensé à utiliser le tableau (ça se prête plutôt bien à ce genre d'activités non ?). Ainsi, dans la première colonne, je génère la suite 2n+2 puis dans la deuxième colonne je génère la suite de 3n+1. Vous le comprenez : je voulais mettre dans la troisième colonne une suite calculant le pgcd de A et de B selon les valeurs générées. Sauf que ça ne marche pas ..
J'ai essayé de chercher dans ma nspire, d'autres fonctions, mais rien trouvé de bien probable. Il faudrait peut être créer un tableau de valeur, mais je ne vois pas comment ...
Si quelqu'un pouvait m'éclairer, je lui en serais très reconnaissant !
Merci d'avance.
Conjecturer les valeurs d'un PGCD avec n
6 posts
• Page 1 of 1
Conjecturer les valeurs d'un PGCD avec n
Last edited by Lokinol on 11 Mar 2013, 19:16, edited 1 time in total.
-
Lokinol
Niveau 9: IC (Compteur Infatigable)- Posts: 70
- Joined: 12 Feb 2012, 21:54
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Conjecter les valeurs d'un PGCD avec n
- Code: Select all
Define prog(p)=
Func
Local i,l
l:=newMat(p,3)
For i,1,p
l[i]:=[2*i+2,3*i+1,gcd(2*i+2,3*i+1)]
EndFor
l
EndFunc

-
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 2955
- Images: 3
- Joined: 10 Sep 2010, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Conjecturer les valeurs d'un PGCD avec n
Bonsoir Excale,
Je te remercie de cette (ultra) rapide et pour le bout de code. Cependant, comme tu dois le savoir : un problème de résolu en maths, amène 10 autres questions.
En effet, je ne comprends pas grand chose au code, et ce malgré mes efforts. Pourrais-tu commenter chacune des lignes dans la grande bonté qui t'anime ? (par exemple : pourquoi ne pas avoir défini la variable p, avec le Local; à quoi sert la commande newMat; pourquoi cette écriture particulière du l[i] et que signifie-t-elle ?).
Par ailleurs, j'ai recopié la fonction (d'ailleurs pourquoi cela est une fonction, et non un programme) - avec ton copyright bien entendu
- mais je n'arrive pas à la faire fonctionner. J'obtiens une erreur : "Type de données incorrect".
Quoi qu'il en soit, merci beaucoup Excale pour ton aide, ça fait très plaisir
!
Je te remercie de cette (ultra) rapide et pour le bout de code. Cependant, comme tu dois le savoir : un problème de résolu en maths, amène 10 autres questions.
En effet, je ne comprends pas grand chose au code, et ce malgré mes efforts. Pourrais-tu commenter chacune des lignes dans la grande bonté qui t'anime ? (par exemple : pourquoi ne pas avoir défini la variable p, avec le Local; à quoi sert la commande newMat; pourquoi cette écriture particulière du l[i] et que signifie-t-elle ?).
Par ailleurs, j'ai recopié la fonction (d'ailleurs pourquoi cela est une fonction, et non un programme) - avec ton copyright bien entendu

Quoi qu'il en soit, merci beaucoup Excale pour ton aide, ça fait très plaisir

-
Lokinol
Niveau 9: IC (Compteur Infatigable)- Posts: 70
- Joined: 12 Feb 2012, 21:54
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Conjecturer les valeurs d'un PGCD avec n
Lokinol wrote:En effet, je ne comprends pas grand chose au code, et ce malgré mes efforts. Pourrais-tu commenter chacune des lignes dans la grande bonté qui t'anime ? (par exemple : pourquoi ne pas avoir défini la variable p, avec le Local; à quoi sert la commande newMat; pourquoi cette écriture particulière du l[i] et que signifie-t-elle ?).
Local liste_de_variables sert à indiquer que les variables sont locales au programme.
En pratique,
-elle sont détruites en fin de programme
-si la variable truc existe dejà dans le classeur, ça fera comme si la variable truc n'existait pas, et ne modifiera pas la variable truc du classeur, mais seulement la variable "locale" truc du programme.
PS: les variables d'entrée (ici p) sont automatiquement locales.
newMat(nbr_de_lignes,nbr_de_colones) permet de générer une matrice remplie de zéros, pratique pour écrire dans chaque case après.
Ici, l étant une matrice, l[i] va chercher le i-ième élément de la matrice, qui est sa i-ième ligne.
Pour finir, dans une fonction, il faut obligatoirement retourner quelque chose à la fin. Par défaut, ça retourne le dernier calcul effectué. En gros, j'aurais tout aussi bien pu écrire "Return l" à la dernière ligne.
Lokinol wrote:Par ailleurs, j'ai recopié la fonction (d'ailleurs pourquoi cela est une fonction, et non un programme) - avec ton copyright bien entendu- mais je n'arrive pas à la faire fonctionner. J'obtiens une erreur : "Type de données incorrect".
Tu lances bien le programme en faisant prog(20) (ou tout autre entier positif pas trop grand) ?
Et sinon, je préfère toujours les fonctions aux programmes lorsque c'est possible car:
-on est obligé de mettre les variables en local => on ne va pas modifier les autres variables que l'utilisateur aurait pu créer
-on peut se servir du résultat (retourné) de la fonction dans un autre programme/fonction si besoin
-
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 2955
- Images: 3
- Joined: 10 Sep 2010, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Conjecturer les valeurs d'un PGCD avec n
Moi, m'sieur ! Moi m'sieur !
Je peux faire plus court, moi, m'sieur :
Ça fait tout pareil qu'Excale mais en utilisant la fonction "seq" qui crée une liste dépendant d'un paramètre. Ici, elle crée une liste de listes, ce qui fait une matrice.
Comme le programme ne fait qu'une ligne, on n'a plus besoin des "Define", "Func" et "Endfunc". On peut remplacer le tout par le fameux := (ou par la flèche -> en l'écrivant dans l'autre sens, si on veut adapter à une 68k...)
Je peux faire plus court, moi, m'sieur :
- Code: Select all
prog(p):=seq({2*i+2,3*i+1,gcd(2*i+2,3*i+1)},i,1,p)
Ça fait tout pareil qu'Excale mais en utilisant la fonction "seq" qui crée une liste dépendant d'un paramètre. Ici, elle crée une liste de listes, ce qui fait une matrice.
Comme le programme ne fait qu'une ligne, on n'a plus besoin des "Define", "Func" et "Endfunc". On peut remplacer le tout par le fameux := (ou par la flèche -> en l'écrivant dans l'autre sens, si on veut adapter à une 68k...)
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5670
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Conjecturer les valeurs d'un PGCD avec n
Je ne voulais pas lui faire trop peur avec seq, mais c'est sur que c'est plus court (et plus joli) comme ça
.

-
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 2955
- Images: 3
- Joined: 10 Sep 2010, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
6 posts
• Page 1 of 1
Return to Problèmes divers / Aide débutants
Who is online
Users browsing this forum: ClaudeBot [spider] and 4 guests