• # Méthode de Héron

    Posté par  . Évalué à 2. Dernière modification le 12/02/19 à 16:21.

    Wikipedia est ton ami
    Le nombre de départ n'a pas d'impact sur la valeur finale de la suite (mise à part que si tu le choisi bien tu pourras limiter le nombre d'itérations) d'où la valeur de N

    Pour J, c'est juste le nombre d'itération que ton programme est censé faire, il faudra demander à ton prof.

    Edit: Wikipedia indique aussi pourquoi J=3

    Les vrais naviguent en -42

  • # Tu peux y arriver.

    Posté par  . Évalué à 3.

    Si j’ai bien suivi, voici ton source de départ

    #include <stdio.h>
    
    #ifndef N
    
    #define N 5
    
    #endif
    
    #ifndef J
    
    #define J 3
    
    #endif
    
    int main(void){
      double n = N;
      int j = J;
    
      /* Écrire ton programme ici */
    
      return 0;
    }

    Qu’est-ce que tu attends de nous, si c’est de t’écrire le programme, je ne le ferai pas. Ça va me prendre 2 minutes, et ne te servir à rien.

    Je préfère y passer plus de temps et répondre à de vrai interrogation pour t’aider à avancer avec ton propre cerveau qui est surement capable de résoudre ce problème.

    Sur ta première question, tu peux voir les #define comme de la définition de constante, donc double n = N <=> double n = 5.

    • [^] # Re: Tu peux y arriver.

      Posté par  . Évalué à 2. Dernière modification le 13/02/19 à 14:55.

      En ajoutant le calcul réel de la racine carré :

      $ ./a.out
      Approximation 1 of square root of 5.000000 is 5.000000
      Approximation 2 of square root of 5.000000 is 3.000000
      Approximation 3 of square root of 5.000000 is 2.333333
      Approximation 4 of square root of 5.000000 is 2.238095
      Approximation 5 of square root of 5.000000 is 2.236069
      Approximation 6 of square root of 5.000000 is 2.236068
      Approximation 7 of square root of 5.000000 is 2.236068
      Approximation 8 of square root of 5.000000 is 2.236068
      Approximation 9 of square root of 5.000000 is 2.236068
      Approximation 10 of square root of 5.000000 is 2.236068
      sqrt(5.000000) = 2.236068
      $

      Ton calcul semble correct. Le seul truc que je n’aime pas c’est ton if (condition1) puis if (!condition1)
      Pourquoi ne pas utiliser if … else ? De plus, tu ne choisi pas ce que tu fais pour n == 0.

      Pour ta question, oui tu pourrais y arriver différemment… en récursif par exemple. Mais en C, dans ce cas, je pense la solution itérative plus pertinente.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.