Programmation avec calculette Casio Graph 35+

Résolu/Fermé
Baldo32 Messages postés 76 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 13 janvier 2017 - 18 avril 2012 à 12:47
p3t3r42 Messages postés 74 Date d'inscription mardi 18 janvier 2011 Statut Membre Dernière intervention 2 février 2014 - 10 janv. 2013 à 15:19
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 mardi 18 janvier 2011 Statut Membre Dernière intervention 2 février 2014 28
21 avril 2012 à 20:44
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 dimanche 6 janvier 2013 Statut Membre Dernière intervention 6 janvier 2013
6 janv. 2013 à 10:55
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 mardi 18 janvier 2011 Statut Membre Dernière intervention 2 février 2014 28
10 janv. 2013 à 15:19
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 mardi 18 janvier 2011 Statut Membre Dernière intervention 2 février 2014 28
Modifié par p3t3r42 le 18/04/2012 à 13:19
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 jeudi 23 février 2012 Statut Membre Dernière intervention 13 janvier 2017 26
19 avril 2012 à 21:29
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 mardi 18 janvier 2011 Statut Membre Dernière intervention 2 février 2014 28
19 avril 2012 à 23:54
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 jeudi 23 février 2012 Statut Membre Dernière intervention 13 janvier 2017 26
20 avril 2012 à 19:17
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