Programmation avec calculette Casio Graph 35+

Résolu
Baldo32 Messages postés 88 Statut Membre -  
p3t3r42 Messages postés 89 Statut Membre -
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

  1. p3t3r42 Messages postés 89 Statut Membre 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
    1. criimson-eagle Messages postés 1 Statut Membre
       
      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
    2. p3t3r42 Messages postés 89 Statut Membre 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
  2. p3t3r42 Messages postés 89 Statut Membre 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
  3. Baldo32 Messages postés 88 Statut Membre 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
    1. p3t3r42 Messages postés 89 Statut Membre 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
  4. Baldo32 Messages postés 88 Statut Membre 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