Poster un nouveau sujet Poster une réponse
programme spé
Auteur Message
luffy6
Invité
Posté le : Mer 16 Nov 2011, 21:22   Citer 

Bonjour, je cherche un programme simple : on entre un nombre entier et la calculatrice nous répond si il est parfait ou pas !
pourriez-vous m'aider svp !

je ne sais pas faire de programme mais je sais les recopier

merci a toute réponse godgrace.gif

  Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mer 16 Nov 2011, 23:17   Citer 

Moi je veux bien te le faire si tu m'expliques ce qu'est un nombre parfait... je n'ai pas été en S moi...

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 19 Nov 2011, 17:42   Citer 

Moi non plus je n'ai pas étudié ça malgré ma SSImaths.
Merci google et wiki. https://fr.wikipedia.org/wiki/Nombre_parfait
N = somme des diviseurs de N ==>> nombre parfait

C'est possible mais il n'y aura aucun intérêt car la plupart des nombres parfaits sont trop grand pour une TI.

J'ai copié mon programme DIV puis ajoûté un test à la fin.

Code
{0->L1
0->B
Prompt N
iPart(rac(N->A
For(I,1,A
If not(fPart(N/I
Then
B+2->B
I->L1(B-1)
N/I->L1(B
End
End

sum(L1)=N
If Ans
Disp "PARFAIT
If not(Ans
Disp "PAS PARFAIT

rac désigne la racine carrée
sum se traduit par somme (menu liste)
Ans se traduit par Rép obtenu par [2nde]+[(- )]
not( se trouve dans le menu 2nde+math+droite.
L1 est une liste, saisie avec 2nde+1
iPart se traduit par ent ou partEnt et se trouve dans le menu maths
fPart se traduit par partDéc et se trouve aussi dans le menu maths

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
luffy6
Invité
Posté le : Mer 23 Nov 2011, 17:52   Citer 

merci beaucoup linkakro winkle.gif

  Haut de page Bas de page 
 
luffy6
Invité
Posté le : Mer 23 Nov 2011, 18:01   Citer 

pourquoi il y a un "IF" a la fin du programme ??

  Haut de page Bas de page 
 
The K



Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Mer 23 Nov 2011, 18:03   Citer 

Je pense que c'est une erreur, et que si tu le supprimes, le programme marchera aussi bien winkle.gif

----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL

Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
luffy6
Invité
Posté le : Mer 23 Nov 2011, 18:19   Citer 

j'ai recopié le programme et quand je tape 6 il m'affiche "pas parfait" alors que 6 est un nombre parfait !
quel est le probleme ?

  Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mer 23 Nov 2011, 18:22   Citer 

pourrais-tu taper sur l'écran de calcul sum(L1)-N s'il te plaît?

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
luffy6
Invité
Posté le : Mer 23 Nov 2011, 21:05   Citer 

Maintenant ca me marque erreur type donnée a la ligne "IF REP" !
J'ai vérifié et j'ai tout bien recopié.
Merci de m'aidé

  Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mer 23 Nov 2011, 21:13   Citer 

Rép serait donc une liste...

à L1, tu as bien mis la liste 1 qui se trouve en faisant [2nde][1] ?
normalement oui si tu obtiens ce genre d'erreur, mais je vérifie au cas ou...

le sum( c'est somme( en Français je crois, [2nde][stats][<][5]...

Tu as bien ça ?

 Adresse email Haut de page Bas de page 
 
luffy6
Invité
Posté le : Jeu 24 Nov 2011, 13:30   Citer 

Oui j'ai bien ca !

  Haut de page Bas de page 
 
thomasdu2974
Invité
Posté le : Mer 02 Oct 2013, 17:09   Citer 

Alors ...
C'est quoi le blème ??? angry.gif

  Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mer 02 Oct 2013, 19:03   Citer 

Joli déterrage... Ta remarque était un peu inutile, vu que le sujet date de 2 ans...

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 02 Oct 2013, 21:29   Citer 

Cela semble innutile de remonter un sujet pour la question de quelqu'un d'autre après des années.

Si ça t'intéresse vraiment, sâche que je soupçonne une confusion des priorités opératoires.
Si luffy6 a mal saisi la ligne de test sum(L1)=N, alors le résultat peut être une liste au lieu d'une nombre.

Si L1={1,2,3} et N=2,
sum(L1)=N === 1+2+3=N === 6=N === 0
sum(L1=N) === {1=N,2=N,3=N} === {0,1,0}

Je peux améliorer le programme et éviter le risque d'un problème de saisie du test.

Code
{0->L1
0->B
Prompt N
For(I,1,rac(N
If not(fPart(N/I
Then
B+1->B
I->L1(B
End
End

augment(L1,N/L1->L1
Pause L1

If N-sum(L1
Then
Disp "PAS PARFAIT
Else
Disp "PARFAIT
End

Avant j'utilisais A dans le For car je croyais que les arguments étaient recalculés. Or je sais aujourd'hui que ce n'est pas le cas. Donc A ne sert plus à rien et j'écrit directement dans le For.
iPart est innutile pour la racine car I est entier.
Le End final peut être enlevé mais ce serait très moche.
augment() se trouve dans les menus matrice et liste et elle se traduit en français par chaîne().
On pourrait rassembler augment avec le test, mais comme j'ai fait cela permet de consulter les diviseurs trouvés pour vérifier qu'il n'y a pas d'erreur dans l'algorithme des diviseurs, puis de vérifier le test suivant.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Page générée en 6 requêtes