Programmation avec calculette Casio Graph 35+

Résolu
Baldo32 Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   -  
p3t3r42 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voila j'ai un problème de maths et il faut que je fasse un programme avec ma calculette Graph 35+ USB mais je n'y arrive pas ... Voila l'énoncer:
Ecrire un algorithme qui affiche la valeur de n pour laquelle le calcul indiqué atteint ou dépasse 1 000 000

Sn = 1+2+3+ ... +n

Voila j'ai 2 autre exos du même types mais si j'arrive a celui la il me suffira de changer les calcules ...

4 réponses

p3t3r42 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   28
 
Intéressant celui-ci ! ^^

Je vais découper le programme en plusieurs morceau:
La saisie des nombres :
?->A
?->B
?->C

Vérification (A,B et C doivent être > 0) :
if A<=0 OR B<=0 OR C<=0
then stop 'on arrête le programme s'il y a une erreur
ifend

Peut-on en faire un triangle ? :
Cela revient à vérifier que les bords peuvent être joind bout à bout,
on cherche le plus grand côté et on vérifie que les deux autres peuvent refermer le triangle:
if A>=B AND A>=C ' si A est le plus grand
then A-(B+C)->D
ifend
if B>=A AND B>=C ' si B est le plus grand
then B-(A+C)->D
ifend
if C>=A AND C>=B ' si C est le plus grand
then B-(A+C)->D
ifend

if D>= 0
then "Impossible de former un triangle"
stop
ifend

Maintenant, il ne reste plus qu'à déterminer le type de triangle :
Cas du triangle rectangle, test avec le théorème de Pythagore:
if A>=B AND A>=C ' si A est l'hypothénuse
then A²->H
B²->I
C²->J
ifend
if B>=A AND B>=C ' si B est l'hypothénuse
then B²->H
A²->I
C²->J
ifend
if C>=A AND C>=B ' si C est l'hypothénuse
then C²->H
A²->I
B²->J
ifend

if H=I+J
then "Triangle rectangle"
if I=J ' les deux autres cotés ont la même taille
then "et isocèle !"
ifend
stop
ifend


Cas du triangle isocèle ou équilatéral:
0->N
if A=B
then N+1->N
ifend
if A=C
then N+1->N
ifend
if C=B
then N+1->N
ifend

if N=1 ' seuls 2 côtés on la même taille
then "Triangle isocèle !"
stop
ifend
if N=3 ' tous les côtés ont la même taille
then "Triangle équilatéral !"
stop
ifend


Cas du triangle quelconque:
"Triangle quelconque !"
stop


Voilà, ça fait beaucoup, j'espère que tu comprendras quand même (si tu à des questions, n'hésites pas) !
Je te laisse l'arranger à tes besoins et prendre les morceaus qui t'intéresse.
S
5
criimson-eagle Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
Il n'y aurait pas une erreur dans la 3ème partie ???

if B>=A AND B>=C ' si B est le plus grand
then B-(A+C)->D
ifend
if C>=A AND C>=B ' si C est le plus grand
then B-(A+C)->D


le then de B est le même que celui de C
0
p3t3r42 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   28
 
Oui en effet, c'est une erreur d'inattention de ma part :)
Pour le dernier if c'est :
if C>=A AND C>=B ' si C est le plus grand
then C-(A+B)->D
ifend

Voilà ! ;D
0
p3t3r42 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   28
 
Bonjour, voilà ce que je te propose :
0->N  
0->S  
while S < 1000000  
N+1->N  
S+N->S  
whilend  
"La valeur de N est :"  
N  

Explication:
-On initialise N et S à 0
-tant que la somme n'atteint ou ne dépasse pas 1000000:
-----on ajoute 1 à N
-----on ajoute N à la somme S
-on affiche en gentil message, puis le nombre

Si tu as besoin d'aide pour la syntax lors de la retranscription sur ta calculatrice, j'suis là ^^
4
Baldo32 Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   26
 
Bonjour

Voila j'ai le même algorithme a faire avec le calcule
1+2(3)+3(3) +... +n(3)
les "3" entre parenthèses sont des puissances.
j'ai donc fais ça :

1->N
1->S
while S < 1000000
N^3->N
S+N->S
whilend
"La valeur de N est :"
N

est ce juste ??
2
p3t3r42 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   28
 
non je ne pense pas que ça marche car N commence à 1 ce qui implique que la première fois que le programme arrive à la ligne N^3->N, N serait alors égale à 1 (1^3=1 ^^) donc la valeur de N ne changerai jamais. J'aurai plutôt fait :
1->N
1->S
while S < 1000000
N+1->N -> | | car N doit augmenter de +1 à chaque tour et c'est
S+N^3->S | | seulement dans la somme que l'on attribue à N l'exposant 3
whilend
"La valeur de N est :"
N

Voilà ;)
0
Baldo32 Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   26
 
Voici le dernier programme le plus compliqué :

Ecrire un algorithme qui demande de saisir 3 nombres strictement positifs et qui précise si ces nombres peuvent être associés aux mesures des côtés d'un triangles, et, dans ce cas, la nature du triangle (équilatérale, rectangle, isocèle, etc.).

Voila

Merci d'avance et merci pour les réponses précédentes ...
0