Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 3822
Réponses : 10
Type : discussion
Etat : réponses autorisées

Point entier sur un cercle

boobiboobi le 19/11/2011 à 09:59
Bonjour à vous voilà je fais appel à vous car j'essaie de faire un programme sur ti 82 stats à partir d'un énoncé mais je n'y arrive pas, pouvez vous m'aider ?
L'énoncé étant: On souhaite déterminer les points entiers de la courbe C c'est à dire les points de cette courbe donc les coordonnées sont entières.
On me donne comme indication:
Initialisation: Effacer la liste L1 et la liste L2
Affecter la variable n à la valeur 0

Traitement: Pour i allant de 0 à 40
Affecter à la variable a la valeur racine carré de (1625_i²)

Si a est entier alors
Affecter à la variable n la valeur n+1
Affecter à la variable L1(n) la valeur i
Affecter à la variable L2(n) la valeur a
Fin_du_si
Fin_du-pour

Sortie: Afficher n
Afficher L1 et L2
clown.gif
Si vous pouviez m'aider ce serait top merci !
The K le 19/11/2011 à 11:11
Bonjour happy.gif

Eh bien, ça devrait pouvoir se faire winkle.gif

Code

EffListe L1                  \\ se trouve dans le menu stats
EffListe L2
EffVar N                       \\est égal à : 0->N, mais ça économise un octet

For(I,0,40                      //boucle pour
[Racine de](1625_i²->A         //j'ai pas très bien compris le(1625_i²)...

If non(PartDec(A:Then         //Si A n'a pas de partie décimale, alors :
N+1->N
I->L1(N
A->L2(N
End                            \\Fin du Si

End                              \\Fin du pour

EffEcr
Disp N,L1,L2                     //Affiche N et les deux listes


Est-ce que cela correspond ? happy.gif
boobiboobi le 19/11/2011 à 12:00
Je pense que cela marche mais comment fait tu pour rentrer les listes dans le prog. car si je met L1 et L2 comme ça, cela ne marche pas. happy.gif
boobiboobi le 19/11/2011 à 12:04
le racine carré de 1625_i² est enfait à la base une fonction carré mais on peut aussi le remplacé par une valeur R où on peut lui donné différentes valeurs.
The K le 19/11/2011 à 13:04
Disp L1,L2 ne marche pas ? angry.gif
Euh essaie ça :
Code

Output(2,1,L1
Output(4,1,L2


Et si ça ne marche pas, quand le programme est fini (après avoir affiché N), fais la fonction rappel (seconde + sto) puis L1, ou L2.
Persalteas le 19/11/2011 à 13:52
Je pesne que tu ignores simplement comment entrer L1 et L2.

L1 : fais [2nde][1]
L2 : fais [2nde][2]
boobiboobi le 19/11/2011 à 15:00
c bon merci à vous ça marche nikel ! happy.gif
Programme TI le 12/12/2011 à 21:53
Bonjour , j'ai le meme programme à faire sauf que je ne trouve pas le " for " pour i allant de 0 à 40 , serait ce possible de me dire où je peux le trouver merci
linkakro le 12/12/2011 à 21:59
For( se trouve dans le menu prgm.
Quand tu cherches une fonction, vas dans le menu catalogue. (2nde+0)
Pour d'autres informations sur les traductions et les emplacements de fonctions consulte l'article dans ma signature.
tutu le 08/01/2013 à 19:16
j ai le meme exercice sauf qu il faut modifier le programme de maniere a ajouter l affichage en sortie du nombre de points entiers sur un cercle de centr o et de rayon r
mais je n y arrive pas merci d avance si quelqu un peut m eclairer
linkakro le 08/01/2013 à 20:10
Il faut parcourir le cercle avec une équation.
Le plus simple est de calculer Y en fonction de X pour X entier et retenir les points quand Y est entier.
X est entre -R et R. On initialise avec une valeur entière le plus proche de -R (ou de R) puis on incrémente (ou décrémente) de 1 à chaque boucle.
L'équation du demi cercle suppérieur est Y=rac(R²-X²) et celle de l'inférieur est Y=-rac(R²-X²)
On se contentera d'utiliser le demi cercle suppérieur car chaque point entier aura un opposé entier.
Il ne faut compter qu'une fois les points aux intersections de l'axe horizontal, il faudrait des tests en plus.
Je choisis de tester si R est entier pour soustraire 2.

Code
Prompt R   // doit être positif
0->N
If not(fPart(R
-2->N
For(X,-int(R),R,1)
rac(R^2-X^2->Y
If not(fPart(Y
Then
N+2->N  // un point en haut
End
End
Disp N   // écrire N suffit

En français int=partEnt contrairement à ce qu'on attend.
rac() désigne la racine carrée.